Een non-consumable-terugbetaling is de zeldzame die je echt kunt terugdraaien, dus een levenslange ontgrendeling kost je de prijs en niets meer
Een non-consumable-terugbetaling, bij een levenslange ontgrendeling, een upgrade zonder advertenties of een permanent pro-niveau, is de enige terugbetaling die je echt kunt omkeren, omdat je de functie kunt terugnemen. Dit is wat het kost in de App Store en Google Play, waarom Apple je nooit eerst vraagt en hoe je zorgt dat revoke blijft plakken.

Belangrijkste inzichten
- Een non-consumable is een eenmalige aankoop die de klant voor altijd houdt: een advertentieverwijdering, een levenslange pro-ontgrendeling, een permanente functie. Anders dan bij een consumable wordt er bij levering niets verbruikt, dus een non-consumable-terugbetaling is de enige terugbetaling waarbij je het geld kunt teruggeven en de functie tegelijk kunt terugnemen.
- Daardoor is een non-consumable-terugbetaling het schoonste verlies dat je zult tegenkomen. Je verliest de verkoopprijs en de store draait zijn eigen commissie terug, maar er is geen rekenkracht, geen API-aanroep en geen geleverd resultaat waarvoor je hebt betaald en dat je niet kunt terughalen. Het verlies is begrensd tot de prijs.
- De adder zit in de prijs. Een levenslange ontgrendeling is meestal je duurste product met één prijs, vaak tien tot dertig keer een maandabonnement, dus één non-consumable-terugbetaling is een grotere enkele klap dan bijna elke andere terugbetaling op je account.
- In de App Store beslist Apple over elke non-consumable-terugbetaling alleen, via reportaproblem.apple.com, en er is geen CONSUMPTION_REQUEST voor non-consumables. Apple stuurt dat verzoek om bewijs alleen voor consumables en automatisch verlengende abonnementen, dus bij een non-consumable krijg je geen venster om te pleiten en helemaal geen bewijskanaal.
- Apple laat je toch weten dat het is gebeurd. Een App Store Server Notification van het type REFUND komt binnen voor consumables, non-consumables en niet-verlengende abonnementen, en de ondertekende transactie draagt een revocationDate en revocationReason. StoreKit haalt het product ook uit Transaction.currentEntitlements, wat je aanwijzing is om de functie uit te zetten.
- In Google Play kun je zelf een non-consumable terugbetalen vanuit de Play Console of via de orders.refund API, en revoke doorgeven met true beëindigt de toegang meteen. Google's eigen terugbetaling met zelfbediening binnen 48 uur verloopt zonder jou te vragen, en een niet-bevestigde eenmalige aankoop wordt na 3 dagen automatisch terugbetaald en ingetrokken.
- De valkuil is toegang op de client afschermen. Als een terugbetaalde non-consumable nog als bezit is gemarkeerd in een gecachete bon of een client-only vlag, houdt de klant de functie nadat het geld weg is, dus je verliest de prijs en blijft de ontgrendeling serveren. Verifieer het recht op je server tegen de intrekking, bij elke start.
Verkoop een levenslange ontgrendeling, een upgrade zonder advertenties of een permanent pro-niveau, en je verkoopt een non-consumable, de enige aankoop waarbij een terugbetaling echt kan omkeren wat je gaf. Een consumable-terugbetaling neemt geld terug dat je al hebt uitgegeven aan het leveren van munten of credits. Een abonnements-terugbetaling keert toegang terug die je toch alleen maar verhuurde. Een non-consumable-terugbetaling is anders, en in één beperkte zin is het de mildste terugbetaling die je krijgt: de klant houdt niets. Je geeft de prijs terug, je neemt de functie terug, en anders dan bij een consumable blijft er geen rekenrekening aan jouw kant van het grootboek staan. Dat is het goede nieuws. Het slechte nieuws is dat een non-consumable meestal het duurste enkele ding is dat je verkoopt, dus de enige terugbetaling die je schoon kunt omkeren is ook een van de grootste.
Wat een non-consumable is, en waarom de terugbetaling ervan zich anders gedraagt
De store sorteert elke aankoop in een type, en het type bepaalt wat een terugbetaling wel en niet kan terugdraaien. Een non-consumable staat aan het tegenovergestelde uiteinde van een consumable.
Een non-consumable wordt eenmaal gekocht en voor altijd gehouden
Een non-consumable in-app-aankoop is een permanent recht. De klant koopt het eenmaal en bezit het voor de levensduur van het account: een advertentieverwijdering, een levenslang pro-niveau, een ontgrendeling van de volledige versie, een permanent functiepakket. Apple herstelt het gratis op alle apparaten van de klant, en Google Play koppelt het aan het account. Er is geen verlenging en geen vervaldatum, dus de waarde wordt niet over de tijd afgemeten en wordt niet verbruikt bij inwisseling. Het gaat gewoon aan en blijft aan.
Er wordt bij levering niets uitgegeven, dus een terugbetaling kan het schoon omkeren
Dit is de hele reden waarom een non-consumable-terugbetaling anders is. Wanneer je een muntenpakket levert, worden de munten uitgegeven en is je rekenrekening echt en weg. Wanneer je een non-consumable levert, zet je een vlag om. Er zijn geen kosten per gebruik gekoppeld aan de verkoop, dus wanneer het geld terugkeert kun je de vlag terugzetten en bijna heel blijven. De store helpt zelfs: op beide platforms wordt een terugbetaalde non-consumable ingetrokken, verliest de klant de toegang en kan hij hem niet opnieuw kopen en een tweede keer terugbetalen.
Wat een non-consumable-terugbetaling je werkelijk kost
Het getal dat in je rapporten verschijnt, is de verkoopprijs die er weer uit gaat. Bij een non-consumable is dat getal bijna het hele verhaal, wat het precies onderscheidt van een consumable, waar de verkoopprijs pas het begin van het verlies is.
| Kosten | Wanneer je ze betaalt | Komt terug bij een terugbetaling |
|---|---|---|
| De aankoopprijs | Bij aankoop | Nee, het volledige bedrag keert terug naar de klant |
| De commissie van de store op de verkoop | Bij aankoop | Meestal wel, de store draait zijn eigen aandeel terug |
| Rekenkracht of API-aanroepen om de ontgrendeling te leveren | Die zijn er niet, je zet een vlag om | Niets terug te halen, niets verloren |
| De functie zelf | Je hebt toegang verleend | Ja, revoke neemt hem terug |
| Een bank-chargebackkosten, als het geschil naar de bank gaat | Na de afschrijving | Nee, en in Google Play betaal je die nu ook |
Het verlies is de prijs, en de prijs is het probleem
Omdat er geen leveringskosten zijn die blijven hangen, kost een non-consumable-terugbetaling je de verkoopprijs en weinig meer. Het probleem is de schaal. Een maandabonnements-terugbetaling geeft een paar dollar terug. Een levenslange ontgrendeling wordt vaak geprijsd op 30, 60 of 120 dollar juist omdat de klant eenmaal betaalt, dus één non-consumable-terugbetaling kan gelijkstaan aan een jaar abonnementsomzet van een andere gebruiker. Je zult er veel minder zien dan abonnements-terugbetalingen, maar elke landt harder, en een klein cluster levenslange terugbetalingen kan zwaarder wegen dan een drukke maand gewone opzeggingen.

De App Store-kant, waar Apple je nooit eerst vraagt
In de App Store heb je geen terugbetaalschakelaar, en voor een non-consumable heb je ook geen bewijskanaal. Over allebei is het de moeite waard precies te zijn, want de tweede verrast ontwikkelaars die aannamen dat de consumption-stroom alles dekte.
Er is geen CONSUMPTION_REQUEST voor een non-consumable
Apple beslist over elke terugbetaling zelf, één verzoek per keer, via reportaproblem.apple.com. Voor een consumable, en sinds 2024 voor een automatisch verlengend abonnement, stuurt Apple je server een CONSUMPTION_REQUEST en geeft je 12 uur om verbruiksinformatie terug te sturen. Een non-consumable krijgt daar niets van. Er is geen verbruiksverzoek, geen venster van 12 uur en geen veld om in te vullen, want Apple behandelt een permanente ontgrendeling als ofwel bezit ofwel niet, met niets om te meten. Bij een non-consumable-terugbetaling heb je geen inspraak. Je krijgt een kennisgeving.
De REFUND-melding is hoe je te weten komt dat het is gebeurd
Wat je wel krijgt, is een App Store Server Notification van het type REFUND. Apple stuurt hem voor consumables, non-consumables en niet-verlengende abonnementen, en de ondertekende transactie erin draagt een revocationDate, het tijdstempel van de terugbetaling, en een revocationReason. StoreKit toont hetzelfde feit op het apparaat: het terugbetaalde product valt uit Transaction.currentEntitlements, en StoreKit roept je handler voor het intrekken van rechten aan zodat de app de functie kan uitzetten. Behandel de melding als de trigger en de rechtcontrole als de bron van waarheid. Wanneer revocationDate is ingesteld, is de ontgrendeling voorbij.
De Google Play-kant, waar je kunt terugbetalen maar de snelle route je overslaat
Google Play geeft de ontwikkelaar meer directe controle dan Apple, hoewel de terugbetalingen die het meest pijn doen toch zonder jou gebeuren.
Je kunt een non-consumable zelf terugbetalen en intrekken
Je kunt een non-consumable-terugbetaling uitvoeren vanuit de Play Console, of met de orders.refund methode in de Play Developer API, op elke bestelling jonger dan drie jaar. Die aanroep neemt een revoke parameter, en die op true zetten beëindigt de toegang tot het in-app-item meteen. Google Play behandelt de klant dan als niet langer eigenaar van het product, verwijdert een terugbetaalde app en blokkeert een lus van opnieuw kopen en terugbetalen op hetzelfde item. Dit is de enige plek waar je een schone hefboom hebt: terugbetalen plus revoke neemt een permanente ontgrendeling echt terug.
De 48-uurs- en 3-dagen-routes verlopen zonder jou
Twee Google Play-terugbetalingen op een non-consumable gebeuren zonder enige inbreng van jou. Binnen 48 uur na aankoop kan een klant een terugbetaling met zelfbediening rechtstreeks uit de store krijgen, en jou wordt niets gevraagd. Los daarvan, als je server de aankoop nooit binnen 3 dagen bevestigt, betaalt Google Play die automatisch terug en trekt hem in, in de veronderstelling dat de klant betaalde en de goederen nooit ontving. Beide worden beslist voordat jij een oordeel geeft, en de Voided Purchases API is hoe je het achteraf te weten komt zodat je het recht kunt laten vallen.
Wat het in geld betekent wanneer een non-consumable een chargeback wordt
Een terugbetaling is de goedkope versie van het verliezen van een non-consumable-verkoop. Een chargeback is de dure versie, en bij een levenslange prijs is het gat breed.
Het geschilpad kost meer en geeft minder terug
Wanneer een klant naar zijn bank gaat in plaats van naar de store, komt de verkoop terug als een chargeback, en een chargeback is definitief. In de App Store heb je geen consumption-venster om een non-consumable te verdedigen, dus er is niets in te dienen. In Google Play verschuift een chargeback vanaf 3 augustus 2026 de aankoopprijs min de servicekosten van Play, plus de chargebackkosten van de bank, naar de ontwikkelaar, terwijl Google zijn eigen servicekosten blijft dekken. Bij een levenslange ontgrendeling van 90 dollar verandert dat een schone terugbetaling die je had kunnen opvangen in een groter, definitief verlies met een bankkost eraan geniet.
Houd de ontevreden klant in de terugbetaalbaan
De les is dezelfde waartoe elke store je aanspoort: een terugbetaling keert de verkoop om en geeft meestal de commissie terug, een chargeback doet geen van beide en voegt kosten toe. Een klant die een eenvoudige terugbetaling kan krijgen, belt zelden de bank. In Google Play kun je binnen 24 uur reageren op een chargeback-beoordeling via orders.reviewrefund, en Google biedt een Review Refund API om transactiegegevens te delen zodat het frauduleuze geschillen namens jou kan aanvechten. Gebruik het, maar vertrouw er niet op. De goedkopere zet is de eerlijke terugbetaling gemakkelijk te maken voordat het geschil ooit begint.
Hoe je minder verliest op non-consumable-terugbetalingen
Je kunt een store niet tegenhouden een permanente ontgrendeling terug te betalen. Je kunt er wel voor zorgen dat je, wanneer dat gebeurt, de functie echt terugneemt en het patroon kunt zien.
Verifieer het recht op de server, bij elke start
Bepaal de toegang op basis van een servercontrole tegen de huidige transactiestatus, niet op basis van een gecachete bon of een clientvlag die eenmaal bij aankoop is geschreven. Wanneer een REFUND-melding binnenkomt, of het recht verdwijnt, of revoke is ingesteld in Google Play, zet de functie aan jouw kant uit. Een terugbetaalde non-consumable die nog werkt, is het enige geval waarin de schoonste terugbetaling een puur verlies wordt.
Volg levenslange en eenmalige producten als hun eigen cohort
Omdat non-consumable-terugbetalingen zeldzaam maar groot zijn, verdwijnen ze binnen een gemengd terugbetaalpercentage. Volg ze apart, per product. Een cluster op één levenslang niveau wijst meestal op iets specifieks: een prijs die de waarde voorbijstreefde, een functie die brak na een update, of een storevermelding die meer beloofde dan de ontgrendeling levert. Lees non-consumable-terugbetalingen af tegen non-consumable-verkopen en de oorzaak is meestal makkelijk te benoemen.
Bevestig snel, en honoreer legitieme terugbetalingen schoon
Bevestig elke aankoop op tijd zodat je nooit per ongeluk een automatische terugbetaling na 3 dagen uitlokt, en wanneer een terugbetaling echt is, neem de functie zonder wrijving terug in plaats van een verzuurde klant te laten escaleren naar zijn bank. De terugbetaling is het kleinere verlies. De chargeback is degene die de kosten met zich meedraagt.
De korte versie
Een non-consumable-terugbetaling is de zeldzame terugbetaling die je echt kunt omkeren, omdat een permanente ontgrendeling je niets kost om te leveren en rechtstreeks kan worden teruggenomen. Je verliest de prijs, de store draait zijn aandeel terug, en er is geen achtergebleven rekenrekening zoals bij een consumable. De complicatie is dat een levenslange ontgrendeling meestal je duurste product is, dus elke terugbetaling is een grote enkele klap, Apple beslist er alleen over zonder een verbruiksverzoek om te beantwoorden, en Google Play betaalt hem zonder jou terug binnen 48 uur of op het bevestigingspunt van 3 dagen. Verifieer het recht op je server, trek schoon in, bevestig snel en houd de ontevreden klant in de terugbetaalbaan in plaats van de chargebackbaan.
Veelgestelde vragen
- Kan ik zelf een non-consumable in-app-aankoop terugbetalen?
- In Google Play wel. Je kunt een non-consumable terugbetalen vanuit de Play Console of de orders.refund API op elke bestelling jonger dan drie jaar, en de revoke parameter op true zetten beëindigt de toegang meteen. In de App Store niet. Apple beslist over elke terugbetaling via reportaproblem.apple.com, en voor een non-consumable is er geen CONSUMPTION_REQUEST, dus je krijgt helemaal geen bewijsvenster.
- Stuurt Apple een CONSUMPTION_REQUEST voor een non-consumable-terugbetaling?
- Nee. Apple stuurt een CONSUMPTION_REQUEST alleen voor consumables en, sinds 2024, automatisch verlengende abonnementen. Een non-consumable krijgt geen verbruiksverzoek en geen venster van 12 uur, want Apple behandelt een permanente ontgrendeling gewoon als bezit of niet. Je komt de terugbetaling te weten via de App Store Server Notification van het type REFUND en de revocationDate op de transactie, niet via een verzoek waarop je moet reageren.
- Hoe weet ik dat de non-consumable van een klant is terugbetaald?
- In de App Store komt een REFUND-melding binnen en draagt de ondertekende transactie een revocationDate en revocationReason, terwijl StoreKit het product uit Transaction.currentEntitlements haalt. In Google Play rapporteert de Voided Purchases API het en markeren real-time meldingen de annulering. Controleer in beide gevallen het recht op je server en zet de functie uit wanneer de aankoop is ingetrokken.
- Krijg ik mijn geld schoon terug bij een non-consumable-terugbetaling?
- Schoner dan bij welk ander terugbetaaltype ook. De aankoopprijs keert terug naar de klant en de store geeft meestal zijn commissie terug, maar omdat een non-consumable niets kost om te leveren, is er geen achtergebleven reken- of API-rekening aan jouw kant zoals bij een consumable. Je verlies is in wezen de verkoopprijs, mits je de functie ook echt intrekt.
- Wat gebeurt er als ik een non-consumable-aankoop in Google Play niet bevestig?
- Google Play betaalt de aankoop automatisch terug en trekt hem in als je hem niet binnen 3 dagen bevestigt, in de veronderstelling dat de klant betaalde en het item nooit ontving. Roep purchases.products.acknowledge aan vanaf je server zodra je de aankoop verifieert, zodat je nooit een terugbetaling uitlokt die je niet bedoelde.
Bronnen en verder lezen
- Apple Developer: notificationType (App Store Server Notifications V2)
- Apple Developer: Handling refund notifications
- Apple: Request a refund at reportaproblem.apple.com
- Android Developers: One-time product lifecycle (acknowledge, 3-day auto-refund)
- Google Play Developer API: Method orders.refund (revoke parameter)
- Google Play Help: Apps, games, and in-app purchase refund policies
- Google Play Developer: Voided Purchases API
- Google Play Console Help: Updates to refund protection and chargeback cost responsibility (August 3, 2026)
RefundHalt
De terugbetalingsautopiloot voor de App Store en Google Play
Lees verder
Ongeautoriseerde in-app-aankopen door kinderen worden bijna altijd aan de ouder terugbetaald, en jij draagt de kosten
Wanneer een kind een muntpakket koopt op de telefoon van een ouder, betalen zowel Apple als Google het terug en geen van beide vraagt het jou eerst. Toezichthouders hebben het zo ontworpen. Zo werken deze terugbetalingen voor ongeautoriseerde in-app-aankopen in elke store, het venster van 15 minuten waarin het geld verdwijnt, en wat er eentje echt kost.
De belasting op een app-terugbetaling was nooit van jou, dus een terugbetaling kost je jouw aandeel, niet het totaal op de bon
Betaal een in-app aankoop terug en de bon toont de prijs plus belasting die teruggaan. Die belasting was nooit jouw geld. Apple en Google innen en dragen het af als merchant of record, en draaien het bij een terugbetaling terug zonder aan jouw aandeel te komen. Dit is wat een terugbetaling werkelijk kost, en de ene opzet waarin de belasting wel van jou wordt.