Skip to main content

Handling Refunds

Refunds are handled differently on each platform. It's recommended to set up Platform Server Notifications for the best performance.

Platforms​

Apple​

Subscriptions

βœ… RevenueCat will automatically detect when a refund has been issued by Apple, but Apple does not allow developers to issue refunds on behalf of customers

If a customer requests a refund, you can direct them to the Apple support page: https://support.apple.com/en-us/HT204084

Non-subscriptions

🚧 RevenueCat requires Platform Server Notifications to be enabled in order to detect when a non-subscription refund has been issued by Apple. Apple does not allow developers to issue refunds on behalf of customers.

If a customer requests a refund, you can direct them to the Apple support page: https://support.apple.com/en-us/HT204084

If you configure an In-App Purchase Key for your app in RevenueCat, Consumable refunds will be detected.

Google Play​

Subscriptions

βœ… Active Google Play subscriptions may be refunded directly through the RevenueCat dashboard. Click on the respective transaction event on the customer page and hit "Refund" in the upper right. Documentation for reference.

Refunds can also be granted programmatically through the RevenueCat REST API. This will immediately revoke access to the Google subscription and issue a refund for the last purchase.

If a refund is granted by Google or initiated through the Google Play console, it may take up to 24 hours to be detected by RevenueCat. Refunds due to no acknowledgement of purchases are not detected automatically.

Non-subscriptions

βœ… Google Play non-subscriptions can be refunded directly through the RevenueCat dashboard or REST API (see refunding Google Play Subscriptions for more info on how to do this).

If a non-subscription refund is granted by Google or initiated through the Google Play console, it may take up to 24 hours to be detected by RevenueCat. Refunds due to no acknowledgement of purchases are not detected automatically.

Stripe​

βœ… RevenueCat will automatically detect when a refund has been issued through Stripe. Note that you have the option in Stripe to refund, or refund and revoke access. See Stripe's docs for more info.

Amazon Appstore​

❌ Amazon does not allow developers to issue refunds on behalf of users.

If a user has a valid reason for a pro-rated refund, they should contact Amazon customer service through the Contact Us link at amazon.com.

Refunds granted through Amazon customer service will not be detected as a refund in RevenueCat and the subscription will remain active until the end of the current billing period (or indefinitely, for a non-subscription purchase).

RevenueCat Dashboard​

Android purchases can be refunded directly through the RevenueCat dashboard. Granting a refund will immediately expire the subscription and remove any entitlement access. By refunding directly through RevenueCat you can ensure that refunds are accounted for immediately in all charts and integrations.

Apple doesn’t allow developers to grant refunds themselves, only through Apple customer support. However, Apple refunds are tracked with RevenueCat and accounted for in all charts and integrations.