I'm developing a free Flutter app (Android and iOS), that offers premium content (in-app subscription) using official Flutter in-app-purchase plugin - latest version 2.0.1.
We'd like to use Google Play Promo codes to give premium content for free (with no extra charges) to some users.
What I've tried so far:
- Promo codes for SUBSCRIPTION: They only give a longer free trial (and charge user afterwards if they don't cancel). The Promo codes worked fine but this is not really suitable for us because it can charge users.
- Promo codes for PRODUCT: A friend suggested to create an in-app Product that unlocks premium content and promo code would give this product for free. I've generated promo codes for it and started testing it through Internal testing. The Google Play documentation says it's possible to Redeem the code from A) Google Play or B) from your app.
Problems with both options:
A) Google play: When we Redeem the code from Google Play, the code is accepted and message is displayed saying the product was applied. However:
- we don't get any purchase notification in our backend system (there was no received message in play_billing Pub sub topic where we usually receive purchase notifications from Google Play).
- The purchase is also not visible in Google Play Developer Console > Orders.
- When we try to buy the product from the app (for same Google account) we get Google in-app purchase dialog with Error: You already own this item. We tried clearing Google play app's cache and data but that didn't help.
- there is no method in Flutter in-app-purchase plugin that we can use to query if user has already purchased the product (and just unlock the premium content then)
B) From the app: I don't think this is supported by official Flutter in-app-purchase plugin. The plugin documentation only mentions Apple store Promo codes. Also when we press the button to buy the product the Google in-app purchase dialog doesn't contain any option to use Promo code. And no, I didn't use Licence testing (test card) but my real private credit card.
I feel so stuck!!! Any help is much appreciated! I need to start a promotion campaign next week to get as many user feedback as possible (to apply for funding).
-------UPDATE-----------------------
Thanks to another developer we were able to identify the reason why "Redeem code" option didn't appear in the billing dialog.
B) From the app: The Redeem code option in the billing bottom-sheet dialog appears only
- when in production mode
- for new users (it's not visible if the user applied the one-time code before or if the user is a tester user)