Alle artikelen
Handleiding8 min leestijd

Elke verlenging krijgt een eigen Google Play-bestelnummer, en dat is het nummer dat je controleert voordat je iemand terugbetaalt

Een Google Play-bestelnummer zoals GPA.1234-5678-9012-34567..2 staat voor één specifieke afschrijving. Zo lees je het verlengingsachtervoegsel, zoek je een bestelling op in Play Console of via de Orders API en betaal je de afschrijving terug die de klant bedoelt, zonder voor de verkeerde te betalen.

Een developer aan een bureau vergelijkt een gemailde bon op een Android-telefoon met een bestellijst op een laptop en koppelt een Google Play-bestelnummer aan de juiste afschrijving

Belangrijkste inzichten

  • Een Google Play-bestelnummer ziet eruit als GPA.1234-5678-9012-34567. Abonnementsverlengingen krijgen een achtervoegsel, dus GPA.1234-5678-9012-34567..0 is de eerste verlenging van dat abonnement.
  • getOrderId() uit de Play Billing Library geeft bij abonnementsverlengingen het bestelnummer van de oorspronkelijke bestelling terug, niet het eigen nummer van de verlenging, en geeft null terug zolang een aankoop de status PENDING heeft.
  • Google voegde op 21 mei 2025 get en batchGet toe aan de Orders-resource van de Play Developer API. batchGet accepteert 1 tot 1.000 unieke bestelnummers en het hele verzoek mislukt als er ook maar één niet wordt gevonden.
  • Een Order uit de Orders API heeft de status PENDING, PROCESSED, CANCELED, PENDING_REFUND, PARTIALLY_REFUNDED of REFUNDED, plus developerRevenueInBuyerCurrency, de opbrengst na aftrek van gedeeltelijke terugbetalingen, belastingen en kosten.
  • De methode orders.refund van Google Play kan geen bestellingen terugbetalen die ouder zijn dan 3 jaar, en met revoke=true verliest de klant direct de toegang tot het abonnement of item.
  • In Play Console geldt Terugbetalen en intrekken (Refund and revoke) voor de meest recente bestelling in een abonnement, terwijl Alleen terugbetalen (Refund only) geldt voor een oudere bestelling en het abonnement actief laat.
  • Google Play handelt terugbetalingsverzoeken binnen 48 uur na aankoop zelf af. Na 48 uur verwijst Google klanten naar de developer, en op dat moment belandt er meestal een bestelnummer in je supportinbox.

Kijk naar het einde van het bestelnummer voordat je een Google Play-klant terugbetaalt. GPA.1234-5678-9012-34567 is de eerste afschrijving van een abonnement. GPA.1234-5678-9012-34567..2 is de derde. Ze delen een basis, maar het zijn verschillende betalingen, en Play Console behandelt ze anders bij een terugbetaling. Het Google Play-bestelnummer is de enige ID die je klant ziet, dus dat is het nummer dat in je supportinbox belandt. Lees je het goed, dan betaal je precies de afschrijving terug waar de klant echt over klaagt, en maar één keer.

Wat een Google Play-bestelnummer je vertelt

De documentatie van de Play Billing Library van Google geeft het formaat aan de hand van een voorbeeld. Een bestelnummer begint met GPA, gevolgd door groepen cijfers. Bij abonnementen krijgt elke verlenging het basisbestelnummer plus twee punten en een teller die bij nul begint. De oorspronkelijke aankoop heeft dus geen achtervoegsel, de eerste verlenging is ..0, de tweede ..1, enzovoort.

Aan het achtervoegsel zie je dus snel hoe lang iemand al betaalt. Een klant die schrijft over GPA.3333-4137-0319-36762..11 is twaalf keer verlengd. Een klant die alleen het basisnummer noemt, heeft óf één keer iets gekocht óf bedoelt zijn allereerste betaling.

BestelnummerWat het is
GPA.1234-5678-9012-34567Een eenmalige aankoop, of de eerste afschrijving van een abonnement
GPA.1234-5678-9012-34567..0De eerste verlenging van dat abonnement
GPA.1234-5678-9012-34567..1De tweede verlenging
null in de Billing LibraryEen aankoop die nog de status PENDING heeft, voordat Google de betaling verwerkt

Waar het bestelnummer opduikt, en welke versie je krijgt

Hier gaan teams vaak de mist in. Verschillende plekken geven je verschillende vormen van hetzelfde nummer.

  • De Google Play-bon van de klant toont het bestelnummer van de afschrijving waar die bij hoort, ook bij verlengingen.
  • In je app geeft Purchase.getOrderId() uit de Play Billing Library bij abonnementsverlengingen het bestelnummer van de oorspronkelijke bestelling terug. Het voorbeeld van Google zelf: in plaats van GPA.1234-5678-9012-34567..0 krijg je GPA.1234-5678-9012-34567.
  • Op je server geeft purchases.subscriptionsv2 elke regel een latestSuccessfulOrderId, het nummer van de laatste geslaagde bestelling voor dat item. Google voegde dat veld toe op 21 mei 2025.
  • In de Voided Purchases API identificeert orderId uniek een eenmalige aankoop, een abonnementsaankoop of een abonnementsverlenging. Volgens de documentatie van Google gebruik je orderId, en niet het aankooptoken, om verlengingen van elkaar te onderscheiden.

Waar het aankooptoken dan wel voor is

Het aankooptoken (purchaseToken) identificeert de aankoop als geheel. Bij een abonnement dekt één token de oorspronkelijke afschrijving en elke verlenging daarna. Daarom is het de juiste sleutel voor toegangsrechten en de verkeerde voor een terugbetaling. Terugbetalingen en chargebacks gaan over één afschrijving, en alleen het bestelnummer benoemt één afschrijving.

Een Google Play-bestelling opzoeken

In Play Console

Bestelbeheer (Order management) accepteert in het zoekvak een bestelnummer of het volledige e-mailadres van de klant. Elke bestelling heeft een van deze statussen: Verwerkt (Processed), Geannuleerd (Cancelled), In behandeling (Pending), Terugbetaling in behandeling (Pending refund), Terugbetaald (Refunded), Gedeeltelijke terugbetaling in behandeling (Pending partial refund) of Gedeeltelijk terugbetaald (Partially refunded). Geeft de klant een e-mailadres in plaats van een bon, zoek dan op e-mail, kies de afschrijving op datum en controleer het achtervoegsel voordat je iets doet.

Met de Orders API

Sinds 21 mei 2025 heeft de Orders-resource in de Google Play Developer API orders.get voor één bestelling en orders.batchget voor een lijst. In de praktijk tellen een paar limieten:

  • batchget accepteert per verzoek tussen 1 en 1.000 bestelnummers, en die moeten uniek zijn.
  • Als één bestelnummer niet wordt gevonden of niet bij het pakket hoort, mislukt het hele batchget-verzoek.
  • Aanroepen van de Orders API tellen mee voor je quotum van de Play Developer API, dat standaard 200.000 aanroepen per dag is.

De Order die je terugkrijgt is het nuttige deel. Die bevat de status van de bestelling, het purchaseToken, createTime en lastEventTime, het totaal en de belasting, een salesChannel zoals IN_APP of PLAY_STORE, en een orderHistory met de gebeurtenissen voor verwerking, annulering, terugbetaling en gedeeltelijke terugbetaling. Ook bevat die developerRevenueInBuyerCurrency, door Google omschreven als je opbrengst in de valuta van de koper, na aftrek van gedeeltelijke terugbetalingen, belastingen en kosten. Als Google de merchant of record is, bevat het adres van de koper alleen het land.

BestelstatusWat de referentie van Google zegt
PENDINGAangemaakt en wacht op verwerking
PROCESSEDMet succes verwerkt
CANCELEDGeannuleerd voordat de bestelling werd verwerkt
PENDING_REFUNDEen aangevraagde terugbetaling wacht op verwerking
PARTIALLY_REFUNDEDEen deel van het bestelbedrag is terugbetaald
REFUNDEDHet volledige bestelbedrag is terugbetaald

De juiste bestelling terugbetalen

Zodra je weet welke afschrijving de klant bedoelt, geeft Play Console je een keuze die afhangt van waar die bestelling in het abonnement staat.

OptieGeldt voorWat er gebeurt
Terugbetalen en intrekken (Refund and revoke)De meest recente bestelling in een abonnementTerugbetaling uitgevoerd, abonnement direct verwijderd, toekomstige verlengingen geannuleerd
Alleen terugbetalen (Refund only)Een oudere bestelling in een abonnementTerugbetaling uitgevoerd, abonnement blijft actief
Gedeeltelijke terugbetaling (Partial refund)In-app-aankopen en abonnementen besteld na maart 2018, geen betaalde appsElk percentage onder 100%, of een bedrag exclusief belasting onder het besteltotaal
Abonnement opzeggen (Cancel subscription)Een actief abonnementGeen terugbetaling, toegang blijft tot het einde van de huidige factuurperiode

Via de API neemt orders.refund de pakketnaam en het bestelnummer. Bestellingen ouder dan 3 jaar kunnen niet worden terugbetaald. De optionele parameter revoke beëindigt, als die op true staat, direct de toegang tot het abonnement of het in-app-item. De helppagina van Google meldt ook dat terugbetalingen na uitvoering niet ongedaan kunnen worden gemaakt, dus het bestelnummer dat je doorgeeft is definitief.

Waarom verschijnt er een bestelling van $ 0,00 bij een abonnee?

De documentatie van Google over de levenscyclus van abonnementen legt het uit. Als een gebruiker zich via je app opnieuw aanmeldt voor hetzelfde basisabonnement voordat zijn abonnement verloopt, maakt Google Play een bestelling van $ 0,00 aan. Er wordt niets in rekening gebracht, omdat de huidige periode al betaald is, en de normale facturering gaat verder op de oorspronkelijke verlengingsdatum. Het is geen gratis proefperiode en geen actie. Op die bestelling valt niets terug te betalen. Wil de klant geld terug, zoek dan de betaalde bestelling daarvoor.

Wat een terugbetaling van de verkeerde bestelling je kost

Een terugbetaling geeft de prijs terug. Gedeeltelijke terugbetalingen werken naar verhouding hetzelfde. Het voorbeeld van Google: een gedeeltelijke terugbetaling van 50% neemt ook 50% van je uitbetaling en 50% van de servicekosten terug. Wat niet terugkomt is alles wat je hebt uitgegeven om die klant te bedienen: rekenkracht, aanroepen van externe API's, opslag en eventuele affiliatevergoedingen. Betaal je de verkeerde bestelling terug, dan betaal je dat dubbel.

Zo gaat het mis. Een klant met een maandabonnement schrijft over de afschrijving ..4, die van vorige week. Iemand in je team zoekt op e-mail, ziet de eerste bestelling bovenaan en klikt Alleen terugbetalen bij de basisbestelling van maanden geleden. De klant krijgt nu geld terug voor een periode die hij heeft gebruikt. De afschrijving waarover hij klaagde blijft onaangeroerd, en zijn abonnement wordt gewoon verlengd. Hij kan zijn bank nog steeds vragen de afschrijving van vorige week terug te draaien.

Handen houden een Android-telefoon boven een geprint bankafschrift en een pen, het moment waarop een klant een afschrijving koppelt aan zijn Google Play-bestelnummer

Die route via de bank is nu de dure. Voor bestellingen geplaatst na 3 augustus 2026 zegt Google dat de developer, als een chargeback doorgaat, verantwoordelijk is voor de aankoopprijs min de servicekosten van Play, plus de chargebackkosten die de bank rekent. Chargebacks zijn bij de bank definitief. Eén verkeerd gelezen achtervoegsel kan eindigen met het geld van twee terugbetalingen kwijt, plus kosten.

Welke terugbetalingen je inbox nooit bereiken

De meeste terugbetalingen bij Google Play hebben jou en het bestelnummer helemaal niet nodig. Volgens het terugbetalingsbeleid van Google kan een klant binnen 48 uur na aankoop via Google Play een terugbetaling krijgen en moet hij na 48 uur contact opnemen met de developer. Google betaalt ook abonnementen terug en trekt ze in als je ze niet binnen drie dagen bevestigt. Dat hoor je achteraf via de Voided Purchases API, die de voidedSource meldt (0 voor User, 1 voor Developer, 2 voor Google) en een voidedReason zoals Remorse, Chargeback of Unacknowledged_purchase.

Er is maar één terugbetalingsproces bij Google Play dat om jouw kant van het verhaal vraagt. Als een chargeback beoordeling door de developer nodig heeft, heb je 24 uur om via orders.reviewrefund te antwoorden met een terugbetalingsvoorkeur van APPROVE, DECLINE of NEUTRAL en bewijs van het gebruik van de aankoop. RefundHalt beantwoordt die beoordeling voor je binnen de termijn, met de gebruiksgegevens die je al hebt, zodat een betwiste bestelling jouw bewijs krijgt in plaats van stilte.

Een korte checklist voor supporttickets met een bestelnummer

  • Vraag naar het volledige bestelnummer van de Google Play-bon, inclusief achtervoegsel.
  • Zoek het op in Play Console of met orders.get en controleer eerst de status.
  • Controleer of de datum van de afschrijving klopt met wat de klant beschrijft.
  • Gebruik Terugbetalen en intrekken alleen bij de meest recente bestelling, en Alleen terugbetalen bij oudere.
  • Noteer het bestelnummer dat je hebt terugbetaald, zodat een latere chargeback op een andere bestelling snel opvalt.

Veelgestelde vragen

Wat betekent ..0 aan het einde van een Google Play-bestelnummer?
Het markeert de eerste verlenging van een abonnement. Google Play geeft elke verlenging het basisbestelnummer van het abonnement plus twee punten en een teller die bij nul begint, dus GPA.1234-5678-9012-34567..0 is de eerste verlenging en ..1 de tweede. Het basisnummer zonder achtervoegsel is de oorspronkelijke afschrijving.
Waarom geeft getOrderId() in mijn app een ander bestelnummer dan de bon van de klant?
Omdat de Play Billing Library bij abonnementsverlengingen het nummer van de oorspronkelijke bestelling teruggeeft. Het voorbeeld van Google: in plaats van GPA.1234-5678-9012-34567..0 voor de eerste verlenging geeft getOrderId() GPA.1234-5678-9012-34567 terug. Gebruik latestSuccessfulOrderId uit purchases.subscriptionsv2 op je server om het eigen nummer van de verlenging te krijgen.
Hoe zoek ik een Google Play-bestelling op aan de hand van het bestelnummer?
Zoek het op in Bestelbeheer van Play Console, dat een bestelnummer of het volledige e-mailadres van de klant accepteert, of roep orders.get aan in de Google Play Developer API. orders.batchget zoekt 1 tot 1.000 unieke bestelnummers tegelijk op, en het hele verzoek mislukt als er ook maar één niet wordt gevonden.
Kan ik een Google Play-bestelling terugbetalen die ouder is dan een jaar?
Ja, tot 3 jaar. Volgens de referentie van orders.refund van Google kunnen bestellingen ouder dan 3 jaar niet worden terugbetaald. Bij een oudere bestelling in een abonnement geeft de optie Alleen terugbetalen in Play Console het geld terug en blijft het abonnement actief.
Waarom is er een Google Play-bestelling van $ 0,00 voor een abonnee?
Die verschijnt als een gebruiker zich via je app opnieuw aanmeldt voor hetzelfde basisabonnement voordat zijn abonnement verloopt. De gebruiker betaalt niets, omdat hij de huidige periode al heeft betaald, en de normale facturering gaat verder op de oorspronkelijke verlengingsdatum. Volgens Google betekent het niet dat er een gratis proefperiode of actiekorting is gegeven.

Bronnen en verder lezen

RefundHalt

De terugbetalingsautopiloot voor de App Store en Google Play

Lees verder

Het volgende terugbetalingsverzoek is al onderweg.

Stel RefundHalt in binnen de tijd die het kost om nog een supportmail te lezen over een terugbetaling die je niet kon betwisten.