Je kunt een Google Play bestelling zelf terugbetalen, en dit doen vóór een chargeback bespaart je de bankkosten
Je kunt elke Google Play bestelling die jonger is dan three years met één API-aanroep terugbetalen, met of zonder de toegang in te trekken. Als je het zelf doet voordat een geschil een chargeback wordt, bespaar je de bankkosten die vanaf August 3, 2026 bij ontwikkelaars terechtkomen. Zo werkt orders.refund.

Belangrijkste inzichten
- Met het `orders.refund` eindpunt in de Google Play Developer API kan een ontwikkelaar elke eenmalige aankoop of abonnementsbestelling rechtstreeks terugbetalen, zonder beoordeling, zonder reden en zonder verzoek van de klant.
- Een terugbetaling en een intrekking zijn aparte acties. `orders.refund` neemt een optionele `revoke` vlag. Laat je die weg, dan houdt de koper toegang, zet je die op true, dan beëindigt Google de toegang tot het item onmiddellijk.
- Bestellingen ouder dan three years kunnen niet via de Google Play Developer API worden terugbetaald. Zodra dat venster sluit, is de bestelling permanent onbereikbaar.
- `orders.refund` geeft alleen volledige terugbetalingen. Een gedeeltelijke, naar rato berekende terugbetaling op een abonnement vereist het nieuwere `purchases.subscriptionsv2.revoke` eindpunt met een `proratedRefund` context.
- Het terugbetalen van een abonnementsbestelling met `revoke` op true activeert een `SUBSCRIPTION_REVOKED` Real-time Developer Notification, zodat je backend over de intrekking hoort op dezelfde manier als over elke andere abonnementsgebeurtenis.
- Vanaf August 3, 2026 belast Google de ontwikkelaar de aankoopprijs plus de bankkosten van een chargeback. Een terugbetaling die je zelf uitvoert geeft alleen de aankoopprijs terug, dus een wankele bestelling vroeg terugbetalen kan goedkoper zijn dan die een chargeback laten worden.
- Een door de ontwikkelaar gestarte terugbetaling is de enige Google Play terugbetalingsstroom die je volledig beheert. De 48-hour zelfbedieningsterugbetaling, supportterugbetalingen en geannuleerde aankopen worden allemaal zonder jou beslist.
Je hoeft niet te wachten tot een klant een geschil opent. Als je geld wilt teruggeven, kun je een Google Play bestelling zelf terugbetalen, rechtstreeks, met één API-aanroep of twee klikken in de Play Console. Google vraagt je niet waarom en betwist je niet. Dit is de ene terugbetalingsstroom waarbij jij de knop in handen hebt, en die vroeg gebruiken, voordat een geschil verhardt tot een bankchargeback, is vaak de goedkoopste uitweg.
De ene terugbetalingsstroom die je echt beheert
De meeste terugbetalingen op Google Play overkomen je, ze lopen niet via jou. Een koper die Google binnen 48 hours vraagt, krijgt een automatische zelfbedieningsterugbetaling zonder inbreng van de ontwikkelaar. Een supportmedewerker kan er een verlenen die definitief is op het moment dat die wordt uitgegeven. Een bankchargeback wordt beslist tussen de kaarthouder en zijn bank. In al die gevallen ben je een toeschouwer die het achteraf verneemt.
De ontwikkelaarsterugbetaling is de uitzondering. Hier ben jij degene die beslist het geld terug te geven, op je eigen schema, om je eigen redenen. Het is een goodwill-instrument, een klantenservice-instrument en, stilletjes, een instrument voor kostenbeheersing. Precies weten hoe het zich gedraagt maakt er van een paniekknop een bewuste keuze.
Wat orders.refund doet, in één aanroep
De orders.refund methode in de Google Play Developer API betaalt één bestelling terug, of die bestelling nu een eenmalige in-app aankoop of een abonnementsbetaling was. Je stuurt een lege POST naar het terugbetalingspad van de bestelling, geauthenticeerd met je serviceaccount, en een geslaagde aanroep geeft een lege body terug. Dat is het hele mechanisme.
De revoke vlag bepaalt of ze toegang houden
De ene keuze die de aanroep je geeft is de revoke query-vlag. De referentie van Google is bot over wat die doet: als die op true staat, wordt de toegang tot het abonnement of in-app item onmiddellijk beëindigd. Laat je die weg, dan gaat het geld terug terwijl de klant behoudt wat hij kocht. Die ene boolean is het verschil tussen een vriendelijke terugbetaling en een nette opzegging.
| Onderdeel van de aanroep | Waarde |
|---|---|
| Methode en pad | POST /androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund |
packageName | Je app-id, bijvoorbeeld com.acme.app |
orderId | De bestel-id die de koper bij aankoop te zien kreeg |
revoke | Optionele query-vlag. true beëindigt de toegang onmiddellijk, laat die weg om terug te betalen en de toegang intact te laten |
| Aanvraagbody | Leeg |
| OAuth-scope | https://www.googleapis.com/auth/androidpublisher |
Standaard volledige terugbetaling, naar rato alleen voor abonnementen
orders.refund geeft de volledige bestelwaarde terug. Het heeft geen veld voor een deelbedrag. Als je een deel van een abonnement moet teruggeven, grijp dan naar het nieuwere purchases.subscriptionsv2.revoke eindpunt, dat een intrekkingscontext accepteert en op basis van de resterende tijd in de periode ofwel een volledige ofwel een naar rato berekende terugbetaling kan uitgeven. Het oudere purchases.subscriptions.revoke deed alleen volledige terugbetalingen, wat de belangrijkste reden is dat de v2-methode bestaat. Voor eenmalige bestellingen zijn gedeeltelijke terugbetalingen beschikbaar via de Play Console website voor aankopen na March 2018, en nooit voor betaalde apps.

De drie-jaargrens en andere beperkingen
De harde grens is leeftijd. Google stelt onomwonden dat bestellingen ouder dan three years niet kunnen worden terugbetaald. Er is geen beroep en geen uitzondering zodra een bestelling die lijn overschrijdt, dus een terugbetaling is een beslissing met een houdbaarheidsdatum. Een handvol andere beperkingen bepalen wat de aanroep wel en niet kan.
| Beperking | Wat het betekent |
|---|---|
| Drie-jaar leeftijdsgrens | Bestellingen ouder dan three years kunnen niet via de API worden terugbetaald |
| Alleen volledig bedrag | orders.refund geeft de hele bestelwaarde terug, nooit een deelbedrag |
| Gedeeltelijke terugbetalingen | Beschikbaar voor abonnementen via purchases.subscriptionsv2.revoke, of via de Play Console voor eenmalige bestellingen na March 2018, nooit voor betaalde apps |
| Niet omkeerbaar | Zodra je een terugbetaling uitgeeft, kan die niet ongedaan worden gemaakt |
Wat dit je aan geld bespaart
Elke terugbetaling is al een verlies voordat je de knop aanraakt, want het geld dat je uitgaf om die aankoop te bedienen komt er niet mee terug. Als de koper afbeeldingen genereerde, API-aanroepen tegen je modellen deed, opslag verbruikte of een uitbetaling aan een derde in gang zette, dan zijn die kosten uitgegeven en blijven ze uitgegeven. De terugbetaling beslist alleen wie de verkoopprijs daarbovenop draagt.
De reden om zelf naar een terugbetaling te grijpen is wat er gebeurt als je het niet doet. De documentatie van Google is expliciet: vanaf August 3, 2026, wanneer een klant een afschrijving bij zijn bank betwist, geeft Google de aankoopprijs en de chargebackkosten van de bank door aan de ontwikkelaar. Een terugbetaling die je via orders.refund uitgeeft geeft alleen de aankoopprijs terug. Dus voor een bestelling die je toch al verwacht te verliezen, is een zelf uitgegeven terugbetaling precies de bankkosten goedkoper dan de chargeback, en sluit die de zaak voordat die kan escaleren.
Waar een zelfterugbetaling staat tussen de andere terugbetalingsstromen
Het helpt om de ontwikkelaarsterugbetaling naast al het andere te zien dat geld uit je account kan trekken. Slechts twee van deze stromen vragen ooit om jouw inbreng, en slechts één ervan laat je de terugbetaling zelf starten.
| Terugbetalingsstroom | Wie beslist | Jouw controle |
|---|---|---|
Ontwikkelaarsterugbetaling (orders.refund) | Jij | Volledig. Jij kiest of en wanneer |
| 48-hour zelfbedieningsterugbetaling | Geen. Google betaalt automatisch terug | |
| Supportmedewerker-terugbetaling | Google of Apple support | Geen. Definitief zodra verleend |
Chargeback-beoordeling (orders.reviewrefund) | Google, met jouw bewijs | Alleen een 24-hour inbrengvenster |
| Voided Purchases API | Niemand, het is alleen-lezen | Geen. Je leest alleen wat al gebeurd is |
Hoe je een Google Play bestelling terugbetaalt, van begin tot eind
Vanuit de Play Console
- Open de Play Console en selecteer Bestelbeheer in het linkermenu.
- Vind de bestelling via het bestel-id of het volledige e-mailadres van de koper.
- Kies onder de prijs Terugbetalen en kies een reden voor de terugbetaling. Gebruik de website, niet de mobiele app, als je een gedeeltelijke terugbetaling nodig hebt.
Vanuit de API
- Authenticeer een serviceaccount dat de
androidpublisherscope en financiële rechten in de Play Console heeft. - Stuur een lege POST naar het terugbetalingspad van de bestelling en voeg
revoke=truealleen toe als je ook de toegang wilt afsnijden. - Verwerk de lege succesrespons, en als je een abonnement hebt ingetrokken, verwacht dan een
SUBSCRIPTION_REVOKEDmelding die je backend bereikt.
Een ontwikkelaarsterugbetaling is een klein, scherp instrument. Het geeft je een nette manier om een klant tevreden te stellen, en een goedkopere uitweg dan een chargeback op een bestelling die je toch al zou verliezen. De enige regel is om het bewust te gebruiken, met de revoke vlag gezet zoals je het echt bedoelt.
Veelgestelde vragen
- Kan ik een Google Play bestelling terugbetalen zonder de toegang van de klant op te zeggen?
- Ja. Roep `orders.refund` aan en laat de `revoke` vlag weg. De koper krijgt zijn geld terug en houdt toegang tot het item. Zet `revoke` alleen op true als je ook de toegang tot de aankoop onmiddellijk wilt beëindigen.
- Hoe ver terug kan ik een bestelling op Google Play terugbetalen?
- Tot three years vanaf de aankoopdatum. De Google Play Developer API stelt dat bestellingen ouder dan three years niet kunnen worden terugbetaald, en er is geen uitzondering zodra dat venster sluit.
- Ondersteunt orders.refund gedeeltelijke terugbetalingen?
- Nee. `orders.refund` betaalt alleen het volledige bestelbedrag terug. Voor een gedeeltelijke of naar rato berekende terugbetaling op een abonnement gebruik je `purchases.subscriptionsv2.revoke` met een `proratedRefund` context, of geef je een gedeeltelijke terugbetaling uit via de Play Console voor in aanmerking komende eenmalige bestellingen.
- Komt mijn backend erachter wanneer ik een abonnement met een terugbetaling intrek?
- Ja. Het terugbetalen van een abonnementsbestelling met `revoke` op true activeert een `SUBSCRIPTION_REVOKED` Real-time Developer Notification, zodat je server de toegangsrechten kan bijwerken op dezelfde manier als bij elke andere abonnementsgebeurtenis.
- Is een bestelling zelf terugbetalen beter dan die een chargeback laten worden?
- Vaak wel, puur qua kosten. Vanaf August 3, 2026 kost een chargeback de ontwikkelaar de aankoopprijs plus de bankkosten, terwijl een terugbetaling die je uitgeeft alleen de aankoopprijs teruggeeft. Als een bestelling duidelijk op een geschil afstevent, vermijdt vroeg terugbetalen de extra bankkosten.
Bronnen en verder lezen
- Google Play Developer API: Method orders.refund
- Android Developers: Manage subscriptions and one-time purchases
- Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: Method purchases.subscriptionsv2.revoke
- Google Play Console Help: refund protection and chargeback cost responsibility
- Google Play Help: Learn about Google Play refund policies
RefundHalt
De terugbetalingsautopiloot voor de App Store en Google Play
Lees verder
Apple's Send Consumption Information vraagt nu om vijf velden, niet twaalf, en hier is elk daarvan
Wanneer een klant Apple om een terugbetaling vraagt, is de Send Consumption Information-payload uw antwoord. Apple heeft die teruggebracht van twaalf velden naar vijf, drie verplicht en twee optioneel. Hier is elk veld, de waarden die elk accepteert, en het venster van 12 uur waarin u het verstuurt.
Er is één endpoint dat de volledige App Store refund history van een klant teruggeeft, en dit is wat het oplevert
Het Get Refund History endpoint van Apple geeft de volledige App Store refund history van een klant terug als ondertekende transacties. Hier vindt u elk veld, hoe het revision-token pagineert, waarom het per klant is en niet per app, en wat een gemiste refund u kost.