Glossary · Billing

What are chargebacks and voided purchases?

Chargeback and voided purchase

A chargeback is a payment the customer's bank reverses after a dispute. On Google Play, a voided purchase is any order that was refunded, canceled or charged back and needs access revoked. Google's Voided Purchases API lists them. Apple reports a reversed payment as a refund notification instead of a separate type.

Google says a purchase can be voided when the user asks for a refund, the user cancels, the order is charged back, or the developer or Google cancels or refunds it with revoke on. The Voided Purchases API covers one-time orders and subscriptions, needs permission to view financial data, and returns the last 30 days at most. A refund without the revoke option is not returned. Use the API as a backup to real-time notifications, which also send voided-purchase messages.

Apple sends REFUND when it refunds a transaction and REFUND_REVERSED when it reverses a previously granted refund after a dispute that the customer raised. There is no separate chargeback notification to build around. Your server must treat REFUND as the end of access.

RevenueDot reads Google's voided purchases through real-time notifications and also once a day for the last 30 days as a backup. It records each one as a refund, and in Refund Control it counts a Google Play refund or chargeback as an approved refund request, because Google has no consumption API to answer.

Sources: Google Play Developer API: Voided Purchases API · Android Developers: Real-time developer notifications reference · Apple: notificationType

FAQ

Chargeback and voided purchase: questions people ask

What is a voided purchase?

A Google Play order that was refunded, canceled or charged back, and that you should treat as no longer paid.

How far back does the Voided Purchases API go?

30 days. Older voided purchases are not returned, even if you ask for an earlier start time.

Does Apple tell me about chargebacks?

Apple reports them as refund notifications. A refund that is later reversed after a dispute arrives as REFUND_REVERSED.

Get started

Run subscriptions without the revenue share.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.

Already have an account? Sign in · Prefer your own servers? Self-host free