Skip to main content
Skip to navigation

Troubleshooting Refund Control

Diagnose common Refund Control configuration and reporting issues

AIAsk AIChatGPTClaude

If Refund Control policies aren't matching Customers or refund data is missing, use this article to check the most common configuration issues.

A server notification warning appears

Confirm that every Apple and Google Play app in the project has the required server notifications configured:

RevenueCat may receive notifications even when the dashboard can't verify a configuration. Check the store configuration before changing a working setup.

A policy doesn't affect Google Play Customers

Check whether the policy contains a Platform condition limited to iOS, macOS, and visionOS. Add Android to include Google Play Customers, or remove the condition to apply the policy to both stores.

If RevenueCat migrated the policy from the legacy Apple configuration, the Apple-only condition is expected. See Review a migrated Apple policy.

A refund preference is grayed out

Check whether another policy in the project already uses that preference. Each refund preference can be assigned to only one policy, including the default policy, so the other dropdowns show it as unavailable. This isn't a store restriction and doesn't depend on server notifications or consumption data sharing.

To use the preference on a different policy, open Lifecycle → Refund Control, change the preference on the policy that currently uses it, then select it on the policy where you need it.

To apply the same preference to both Apple and Google Play purchases, remove the Platform condition from the policy that already uses it instead of creating a new policy. If the other group of Customers needs its own conditions, add a condition group to that policy instead. A Customer matches a policy when all conditions in any one of its groups match. See Configure Apple and Google policies.

When every preference is in use, the Add policy button is also unavailable.

A policy matches no Customers

Review every condition and condition group, then compare them with the Customer properties you expect to match. RevenueCat evaluates the policies from top to bottom and uses only the first matching policy.

A newly created policy with no conditions should match all Customers. If you need one preference for Customers who don't match a custom policy, configure the default policy instead.

No refund metrics appear

Refund requests may be infrequent. Confirm the server notification configuration, save the policies, and allow time for the stores to send refund-review requests.

The Refund Requests Outcomes Chart reports refund review requests for App Store and Google Play purchases.

A Customer's Apple preference is ignored

Confirm that $appleRefundHandlingPreference contains a supported value. The override applies only when RevenueCat responds to refund requests for the matching policy.

For Customers who haven't consented to share consumption data with Apple, set the attribute to DO_NOT_HANDLE.

Was this page helpful?