Skip to main content

Troubleshoot purchases in Flutter SDK

This guide helps you resolve common issues when implementing purchases manually in the Flutter SDK.

makePurchase is called successfully, but the profile is not being updated

Issue: The makePurchase method completes successfully, but the user's profile and subscription status are not updated in Adapty.

Reason: This usually indicates incomplete Google Play Store setup or configuration issues.

Solution: Ensure you've completed all the Google Play setup steps.

makePurchase is invoked twice

Issue: The makePurchase method is being called multiple times for the same purchase.

Reason: This typically happens when the purchase flow is triggered multiple times due to UI state management issues or rapid user interactions.

Solution: Ensure you've completed all the Google Play setup steps.

AdaptyError.cantMakePayments in observer mode

Issue: You're getting AdaptyError.cantMakePayments when using makePurchase in observer mode.

Reason: In observer mode, you should handle purchases on your side, not use Adapty's makePurchase method.

Solution: If you use makePurchase for purchases, turn off the observer mode. You need either to use makePurchase or handle purchases on your side in the observer mode. See Implement Observer mode for more details.

Adapty error: (code: 103, message: Play Market request failed on purchases updated: responseCode=3, debugMessage=Billing Unavailable, detail: null)

Issue: You're receiving a billing unavailable error from Google Play Store.

Reason: This error is not related to Adapty. It's a Google Play Billing Library error indicating that billing is not available on the device.

Solution: This error is not related to Adapty. You can check and find out more about it in the Play Store documentation: Handle BillingResult response codes | Play Billing | Android Developers.

Not found makePurchasesCompletionHandlers

Issue: You're encountering issues with makePurchasesCompletionHandlers not being found.

Reason: This is typically related to sandbox testing issues.

Solution: Create a new sandbox user and try again. This often resolves sandbox-related purchase completion handler issues.

Other issues

Issue: You're experiencing other purchase-related problems not covered above.

Solution: Migrate the SDK to the latest version using the migration guides if needed. Many issues are resolved in newer SDK versions.