I’m trying to set up in-app purchases for my game- And I’ve hit (what seems to be) the common roadblock of in-app purchase attempts through blueprint only ever returning failures. I’ve been looking into this issue for a while and low and behold- Epic Games put out a demo game that includes a lot of how these systems should look/work! We can even download it to our own devices!
But I’ve run into an issue. When using the downloadable version of this app from the app store the store screen returns a ‘Cannot Purchase’ message. I’ve tried to make this work on an iPhone and an iPad; both have the same issue.
I dug around the project files for the demo project and I confirmed that means- ‘Read In App Purchase Information’ is returning a failure and is unable to grab the price info.
Before I continue bashing my head against this wall I need to know- Was Unreal Match 3 ever meant to actually function? Is this just a mining canary signalling off that due to some update on either Apple or Epic Games part the functionally for developing in-App purchases through blueprint is currently broken? Is this tied to the recent update to iOS version 12?
When I know the answer to that hopefully I can start making progress again- But right now I’m worried that I’m attempting to use examples that don’t work and that’s a lot of time and effort to throw away.
TLDR; I think the blueprint system for managing in-App purchases may be broken currently. The Unreal Match 3 downloadable example on the iOS app store is unable to gather purchase information.
Thank you very much for your time! I’d really appreciate some help looking into this issue.
I don’t have a iOS device to reproduce - but you should also report this to Epic via their bug reporting system so they can take a look:
https://epicsupport.force.com/unrealengine/s/
Thank you! I’ve done just that.
They got back to me- It does look like this is a bug.
Hopefully a fix comes in the next Unreal Engine.
Thanks for posting the issue link. Upvoted
I’m also struggling to get iOS IAP functioning as per the documentation. Have just attempted to build Unreal Match 3 and come to the same result.
Upvoted issue.
Anyone found any workarounds? This is a bit crippling for my project.
SalihBalkan’s answer here is what I needed in the end~ I’m using UE4 4.22 for my project. I’ve done a lot of other things to get it up and running though~ Such as making sure my IAPs were configured @ the Apple Developer page. But this post here was the last thing I needed to tie it all together.
Make sure the status of your IAPs is set to ‘Ready to Submit’ and that your tax information is all filled out properly.
Hope this helps!
Thank you for your reply. I had actually found your bump and followed these steps. With them completed I was able to read and display my IAPs in my app successfully! Thank you!
The failure I am currently stuck on appears to be a failure on the Make In-App Purchase node to retrieve or prompt for the itunes / app store account on the device.
I suspect an iOS12 change has broken something seeing as I am sucesfully talking to the App Store / IAPs using the Read nodes. I’ve submitted a bug also, but more broadly worded. I think this may be a credentials plugin issue in iOS. I’m way out of my depth here though, so I’ve just submitted what I was able to observe for the bug team’s consideration.
Can I ask if your test account process is/was:
- sign out of iTunes / App store on device
- Open app and attempt purchase
- get prompted to sign into iTunes/App store (this never happens for me)
- enter Appstore connect test account details
Even with a non test account already signed in on the device it doesn’t trigger any iOS purchase actions.
Sorry I took so long to get back to you, work distracted me.
I have a working build using 4.22 (blueprint project) that I’ve just compiled and tested today and I’m able to display my IAPs and make sandbox purchases (No money is actually spent).
For me- When I finally got my IAPs to show up I don’t remember having any difficulty getting purchases to be pushed through.
So as for your questions:
- My testlight users are able to be prompted for purchase through my game’s menu. Those are devices that are not logged into a sandbox account.
- Right now all purchases appear to be sandbox purchases.
- Any device that attempts to make a purchase in my game’s beta is being prompted to sign into the iTunes/App store when attempting to confirm purchase. This includes the devices I am testing by pushing builds out directly from the editors (i.e. Launch :: All iOS devices on my computer) It doesn’t matter if the build is directly downloaded from testflight or through the editor.
- I’m actually not sure exactly what you mean by ‘enter Appstore connect test account details’
I’m sorry to hear that this is still posing to be such a challenge for you. Proper documentation for UE4 Blueprint projects attempting to do this is limited and it took me months to figure this out. I hope this doesn’t discourage you! It is possible!
Here’s a checklist of things that I think may have been important (although may not have been critical)
- Make sure you tax information is properly set up with Apple.
- Set up a sandbox/user account on your device and attempt it with that.
- Make sure the status of your IAPs is ‘Ready to Submit’
- I don’t use it anymore but try using the ‘Show External Login UI’ node to see if you can login (or at least be prompted to login). I haven’t used this in a while but I do remember messing around with it when I was originally trying to get things to work. It doesn’t appear to be critical.
- I’m compiling using a windows computer and mac with remote build.
Thanks very much for your reply. It’s really (REALLY) helpful to have someone to compare notes with.
Good news! I got it working. I posted more details over in this thread in the iOS sub forum.
I really appreciate you taking the time to reply in detail. Thanks again!
No problem! I’m glad you got it working!
I completely forgot about the ‘bUseStoreV2=false’ trick I did it so long ago. But yeah, I’m pretty sure I had to do that too. It’d just been so long.
Good luck on your project!