One of our apps in google play store is randomly showing this warning now. We didn’t update the app in months.
Acknowledge purchases or they will be automatically refunded We’ve detected that your app is not acknowledging all in-app purchases or subscriptions. Starting with Billing Library 2.0, all purchases must be acknowledged within 3 days or they will be automatically refunded.
It’s using:
Unity IAP 3.1.0.
Unity 2019.4.28.
We have verified that we are returning Complete in ProcessPurchase. All products are consumable. We have other apps in store that use the same purchase logic but are not having this issue.
We are running out of ideas to solve the problem. Is there something we might be missing?
Please use Unity IAP 4.1.0, we have made improvements in this area. Also, with the code you mention, ensure you are not using the IAP Catalog nor using Codeless IAP buttons.
How are you loading your products using the Catalog? It’s possible, but I wanted to confirm. There is a option on the Catalog window to “Automatically initialize IAP”, you would want this off if you are initializing via scripted IAP.
As Google support told me the purchases made on Android are not acknowledged and were refunded.
I am missing something? What should I do to make Unity IAP system to acknowledge the purchases in Play Store (I though it supposed to be done automatically by default).
What I did is added IAP button component to my button and attached a script. What else do I need to do to make the purchases completed (acknowledged) and not refunded?
Please see the previous suggestions about not using Codeless IAP which is the cause of the no acknowledgement. Use Scripted IAP instead which is 1) easier to use that Codeless 2) is more flexible 3) properly acknowledges purchases https://discussions.unity.com/t/700293/4
Thanks for the quick reply.
I wonder what is the purpose of Codeless IAP then if it’s not working as expected?
Meanwhile I did a small research and it seems like in the Codeless IAP button there is a checkbox “Consume purchase” which is actually responsible for acknowledging the purchase. [JeffDUnity3D]( https://discussions.unity.com/t/859404 members/jeffdunity3d.1367015/) Can you confirm it? It supposed to work, right? Is it?.. please refer to the attached files
If so, the checkbox supposed to be called “Acknowledge purchase” I assume. Otherwise it’s kinda misleading
Yes, that is correct. Codeless is currently included for those users who may have used it previously and are wanting to upgrade their IAP without error and then switching to scripted IAP. If it’s working in your testing, then go ahead and use it. But it doesn’t support receipt validation for fighting fraudulent purchases, nor IAP subscriptions or any customization without writing code and editing the existing (and complex) code and requires a listener. Scripted IAP easier to use and more flexible than Codeless (which was originally developed for in-editor prototyping and demo purposes)