NEW WARNING: Google Play Billing

Yes should be in products.originalJson

1 Like

Hi @Scott_Harrison After all of your work and this communication with developers who are testing here, is the newly updated Google Billing V2 plugin interchangeable with the previous Google Billing plugin? And if so, is there any specific testing of one or more functions remaining?

I believe it should be interchangeable, I have seen people handle IAP in different ways but like I said previously, people should do their own testing with their different setups to make sure everything works for them.

1 Like

I did a successful build yesterday with the latest version of .v2 using my copy of IAP Badger. The only things I changed were my build.settings file and adding .v2 at the end of my require call in IAP Badger itself.
Localized pricing seemed to be working as expected, purchases worked and restores worked. I only played around with it for 5 minutes or so on one device, but everything seems to be in order.

3 Likes

I dont mean for this to go too far off topic but I was wondering how developers here are handling refunds? I do not seem to get any callbacks in my code if a user has refunded an item was curious if there’s something I’m missing

Quite a few users are exploiting this for a couple of our apps

@famousdoggstudios check out: Google Play's IAP Auto-Refunds Big Problem - #6 by troylyndon

I had this same problem months ago, until I realized the problem was not including a delay between finish and consume - check out the last entry in this topic post for precise details on how I fixed this. Now, we rarely see refunds.

Coincidentally, I too have a delay in my code before i consume a purchase— i had written my IAP script some years back and never added a comment as to why the delay was added so this might have been the reason

However, i think this pertains to automatic refunds from google and not the scenario where users successfully request a refund to exploit the system. They usually claim refund under “accidental purchase” and get their money back as well as the in-game product/entitlement

Does the new IAP plugin also support Google Play’s new subscription features that were rolled out in May 2022?

https://www.androidpolice.com/google-i-o-2022-brought-the-biggest-changes-ever-to-google-play/

Basically the ability to handle different plans and offers?

Thanks!
Andrew

@Scott_Harrison We have a truly weird issue. We’ve made the required updates to the build.setting. My colleague, a remote developer, was able to create builds that work. However, it doesn’t seem to work for me. When I create the build and test on the test device, I see that the app receives the “initialized” event, but no other events. Also, the actual native purchase menu doesn’t show up either.

He and I have both downloaded the same code base, same Corona version (2022.3677 (2022.8.2)), we even compared the Cached plugin data.tgz that’s downloaded into Solar2DPlugins/Coches/ to be the same. We also tested the same device but with builds from his machine vs mine, and his works, but mine doesn’t.

Is there anything else that we need to make sure this plugin works? eg. SDK version, deleting old plugin from a hidden cache, etc? We are pretty much at a dead end…

Are you both running the same OS? (Windows or Mac)

Hi all,
I believe there is a bug in V2 plugin, regarding acknowledging subscriptions.
After calling finishTransaction on subscription, subscription is not acknowledged and is refunded to user.

I believe problem is in:
private int finishTransaction(LuaState L) {

getPurchasesFromTransaction(L, true, processPurchases); // this is called in IAPsOnly mode (2nd param)

}

Would be great to fix that :slightly_smiling_face:

Tom

@tommy_42 and @akao see NEW WARNING: Google Play Billing - #31 by Scott_Harrison

Edit: @akao to answer your question about multiple plans and offers, that is not currently supported by new IAP plugin

@Scott_Harrison is there any other way (another plugin or something) that could help them? Would going Native help them?

Sorry about that, I opened a new issue
Tom

1 Like

Help them with what?

Support for the new subscription options - Native only?

We finally figured out what the issue is. The issue is that we have a piece of code that gets the product info slightly before initializing the store. Somehow this created a race condition where it seems to trigger an error in the plugin that effectively crashes the plugin. So, we basically needed to make sure we initialize the store first.

@Scott_Harrison Maybe something to consider to make the plugin a bit more robust?

@akao @troylyndon the main issue with supporting more offers and making the plugin more “robust” is that it would not be cross compatible with the store api for other platforms.

1 Like

Solution implemented by Scott and documented here: Solar2D Documentation — Plugins | google-iap-billing-v2

@Scott_Harrison was anything changed recently on this plugin? Initially i migrated to this plugin and was working ok, but in the latest build i created in the past couple of days. Im getting this multiple purchase problems for any app i’m building.
for example.
if the user is buying 1000 coins. my builds from a week ago would give 1000 coins and show an alert that they got the 1000 coins.
Built today, no changes to my code, and when the user buys 1000 coins, 3000 coins are given, and 3 x the same alert shows up from the purchased state. so the only thing i can see is the purchase state is being called multiple times