The problem with payments' canceling :(

0 favourites
  • 6 posts
  • I have Android-app with in-app purchases.

    I used MobileIAP to set them up.

    It works normally, but I have the problem with payments' canceling:

    1. User buys non-consumable product in my app (access to the content)
    2. So, user becomes an owner of product in Google Play.
    3. Then user cancels the purchase and takes his money back.
    4. But user still has the access to the content.

    How can I turn off the access to the content?

    I tried using IAP condition "On Product Owned":

    When starting the app I check it - if user isn't the owner of the product, then I turn off the access to the content.

    But it doesn't work.

    Because after product registration user don't become an owner instantly.

    So users who have bought the product lose access to the content. :(

    Any ideas how to fix it?

    Tagged:

  • Do you mean that if a user goes to purchase the IAP and decides not to go through with the purchase, they are still getting the purchase or do you mean if a user purchases an IAP and the purchase is complete, then later files for a refund?

    Sadly, not much you can do if they buy then get a refund. There are many high profile MMOs that offer IAP in the region of $100 per purchase who suffer from chargebacks etc. The only way they can combat these is to close the player accounts.

    It's the same with Steam - users purchase a game, if they don't like it or can complete it within 2 hours, they simply get a refund. Free game for them, Dev loses out

  • Have you tried "Has product" condition? In theory it should return false if the purchase has been refunded.

    There is an alternative plugin - Mobile Billing from the Construct Collection. This plugin has "On refunded" trigger.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • MrClifford, thanks for the answer!

    I'm talking about the second option.

    Because in first case (if a user goes to purchase the IAP and decides not to go through with the purchase) - event "On product ... purcases success" won't happen, as I understand. So it's not a problem.

    About second case - it's weird that we can't control it.

    Because Google stores data about what the user owns.

    So if user doesn't have product - i want check it and turn off the access to the content.

    dop2000, yes, i tried using condition "Has product".

    But the problem is that the validation doesn't work perfectly:

    If you wait for the registration of products and check the condition "✖ Has product", then sometimes everything works as it should, and sometimes this conditions works even if the product purchased! :(

  • It's a bit more work but you can check purchases server side with Validator URL

  • As I understand, URL validation is needed to check that the user really made a purchase.

    And there is no point in additionally checking that he did NOT make a purchase - no one will hack the application to pretend that he did not make a purchase :)

    Also, there is no backend in my project, everything works on the user's phone.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)