Hello.
I have setup Google play services for our game.
Make an In-App Purchase Item in google play console named “shop_test”.
In game as soon as you boot up, game will log you into your Google account via node “Show External Login UI” successfully.
After that you can press button called “buy” to make in-app purchase (IAP). During purchase I use testing credit card and successfully complete IAP and everything seems OK.
Here are my BP Code to make IAP:
But: after I close and reopen my game, I run check for already purchased items via nodes “Restore Owned In-App Products” and “Query For Owned In-App Products” and then print Length of each returned arrays. And it always return length of 0.
Also I can buy IAP again via “Buy” button.
How to restore purchased IAP?
In other forums I read that default UE nodes doesn’t complete purchase proccess corectly to google play, so google play doesn’t know that purchased was comleted. I don’t know if that is true.
I am using UE 5.4.4
Game is currently in “Internal testing” in Google play.
I am using google play console (with Google play service enabled) and google cloud
Does anybody have working In-App Purchases in their game for Unreal engine 5?
Is this a problem with nodes itself, or am I missing something else?
I appreciate every response. Even confirmation that your game and IAP works properly in Unreal engine 5 is appreciated
1 Like
Exact problem for me on UE 5.5.4 as well..
Any help would be appreciated, I’ll get back if I can crack a solution.
It appers that Google Play Subsystem plugin in Unreal 5 (I’m on 5.5.4), does both acknowledge and consume the IAPs using billing client lib APIs in “Finalize In App Purchase” implementation, irrespective of the IAP is for Consumable or non-Consumable.
Ideally, only for Consumable, consume IAP is required to enable repurchase.
For non-Consumable, that stay permanent as IAP for an account, only acknowledge is needed.
I removed the Finalize IAP connection in blueprint for non-Consumable purchase, and able to query for owned IAPs successfully. Let me check for auto-refund as mentioned in Google documentation and confirm after 3 days, because acknowledge the purchase is not done.
Refer: Integrate the Google Play Billing Library into your app | Google Play's billing system | Android Developers
Notify Google the purchase was processed
After your app has granted entitlement to the user and notified them about the successful transaction, your app needs to notify Google that the purchase was successfully processed. This is done by acknowledging the purchase and must be done within three days to ensure the purchase isn’t automatically refunded and entitlement revoked.
Edit: Yes, it’s refunded after 3 days. I’ll have the Unreal Engine plugin modified accordingly for consumable / non-consumable IAPs in Finalize implementation. If anyone needs it, please DM over discord @rushatgames