libgdx / gdx-pay

A libGDX cross-platform API for InApp purchasing.
Apache License 2.0
225 stars 83 forks source link

Re-purchase of entitlement results in Response Code 3 #149

Closed mattkwilson closed 5 years ago

mattkwilson commented 7 years ago

From what I understand Google no longer saves test purchases, so there is no way to cancel them from the Payment Center. When I try and re-purchase an Entitlement, I get a Response Code 3: This billing API version is not supported for the type requested. Shouldn't I receive a pop-up stating I already own the item? This occurs regardless of the Google Play account used, as long as the account is linked to the device that I made the test purchase on. If I remove that account everything works again.

I tried using this, but it didn't work: PurchaseManager mananager = PurchaseSystem.getManager(); if (manager instanceof PurchaseManagerTestSupport) { ((PurchaseManagerTestSupport) manager).cancelTestPurchases(); }

keesvandieren commented 7 years ago

Are you using gdx-pay-android-googleplay orgdx-pay-android-openiab?

mattkwilson commented 7 years ago

I am using gdx-pay-android-googleplay, the same code as in the wiki with the obvious changes. Currently I work around it by setting the offer as a consumable. I noticed that: <if(manager instanceof PurchaseManagerTestSupport)> always returns false (according to Android Studio). So their also needs to be a better way to remove test purchases (Google support recommended just consuming it), although I'm not sure why no pop-up appears stating I own the item, it just throws the handlePurchaseError.

keesvandieren commented 7 years ago

What is the output of:

System.out.println("Purchase Manager class: "+ manager.getClass().getName());

mattkwilson commented 7 years ago

com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager

keesvandieren commented 7 years ago

Which version of gdx-pay are you using?

As you can see here, it really implements PurchaseManagerTestSupport: https://github.com/libgdx/gdx-pay/blob/0edf418171439444fd51112beb7ae65215d0d71a/gdx-pay-android-googleplay/src/main/java/com/badlogic/gdx/pay/android/googleplay/AndroidGooglePlayPurchaseManager.java

Maybe you have an older version of gdx-pay-android-googleplay? Make sure every gdx-pay submodule uses the newest version (0.11.1). If using gradle, try ./gradlew dependencies to see all versions.

Op 7 jun. 2017 01:51 schreef "Matt" notifications@github.com:

com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/libgdx/gdx-pay/issues/149#issuecomment-306646265, or mute the thread https://github.com/notifications/unsubscribe-auth/AA0u3jG1V4peXaDc5-3UJ5zHdqhcSzhAks5sBeX1gaJpZM4NxVSR .

mattkwilson commented 7 years ago

I am using gdx-pay 0.11.1 on all submodules. Maybe I should also note I am using the latest version of Android Studio 3.0, I'll try testing it out again.

gemorg commented 6 years ago

I have the same problem.

JKazma commented 6 years ago

Any news on this? I also get the RESULT_BILLING_UNAVAILABLE = 3 response when I try to purchase an entitlment that was already purchased instead of getting the correct RESULT_ITEM_ALREADY_OWNED = 7 response. I use gdx-pay 0.11.2

MrStahlfelge commented 5 years ago

Hi, when having problems, please try if your problem is solved by using googlebilling.