January 4th, 2023
In this short article, I will explain why Codeless IAP is incomplete and should not be used for projects without a database (that's Pyramidal Break's case!). The fact that IAP Receipt Validation is impossible is something important to take in consideration whenever applying the Codeless IAP option. In my opinion, this is a critic difference that should be mentioned a lot more. I will focus this document on Google's PlayStore but probably this applies to all storefronts. Let's talk about it.
Receipt validation is a process that allows the game (or app) to acknowledge in-game purchases made over the same Google account by asking Google directly, this works across all of the user devices that have the Google's Play Store. During our development on Pyramidal Break, we didn't consider receipt validation initially. That until the process came to mind. We don't store any Pyramidal Break player data in any server of our own (and we will not). With that, we don't backup any purchases. The only purchase available is to turn off Advertisements.
So, with Codeless IAP, if a player purchased the No-Ads IAP, and then installed the game in a different device, it would launch with Advertisements On instead of having them turned off. This would be annoying, especially since this would also happen on the same device if the game was deleted then re-installed. The players would have to "try" to purchase again the product just to have Google confirm that the product was already purchased. However, how would it be if the product was a consumable one? It just doesn't feel convenient.
I'm not really aware of the reason why Codeless IAP doesn't support IAP Receipt Validation, but it does not. That's why we decided to change to Script Based In App Purchases. This worked phenomenally and we have no issues. Codeless IAP is straightforward and pretty awesome, but if we aren't able to validate previous purchases, we feel like we shouldn't annoy players by asking them to try to purchase again to revalidate.
We hope Codeless IAP gets this feature whenever in the future, but by now we choose not to recommend this alternative path.
Pyramidal Break developer at Dinamic Creates.