Testflight (Apple) In-App Purchases (IAP) Multiple purchase dialogs - ios

I am testing my IAP and followed the process outlined by Medium here (https://medium.com/flutter-community/in-app-purchases-with-flutter-a-comprehensive-step-by-step-tutorial-b96065d79a21).
Everything works fine in Android but on iOS, I get multiple instances of the purchase dialog asking for my password before the process will complete. I've found a few scattered posts online saying it's related to the 'Sandbox' environment that Testflight uses.
So, is this really 'normal' for Testflight? Is there a solution or workaround to solve this? Also - I added a sandbox tester account in App Store Connect but cannot add this email to the internal testing group for the testflight build, how do i do that?

Related

React native project refused by Apple after in-app purchase integration

I'm wondering if some of you have had the same problem I have and have potential solutions.
In my React native project, I have implemented in-app purchases via Revenue cat. This project is largely done in expo but with the integration of Revenue cat for in-app purchase, this part is done by ejecting expo.
On the Android side everything works perfectly and the app new version has been accepted.
On the iOS side, I was able to create the products for the in-app purchase but each one needs to be validated by Apple by providing them with a new version of the app.
Problem? The new version of the app was rejected because in production version, Apple can't see my products in the app. But they can't see my products in the application until they have accepted these products for the App store.
I tried to set up a Sandbox environment but in Testflight nothing appears because in production environment as I said above, my products are not yet validated by Apple.
Any solution ?
Thanks.

Devices with iOS 15 ignore my sandbox account during test in-app purchases

We have recently updated several test devices from iOS 14.7.1 to 15.2. After that, when trying to make a test purchase inside our app, TestFlight ignores the sandbox accounts (which we add to Settings -> Apps-Store -> Sandbox account) and uses the main account that is used for purchases in the App Store.
The SandBox account works fine if you log out as the main user in the App Store - but then you can't use TestFlight to download test builds.
maybe someone has faced a similar problem and knows the solution or will tell me in which direction to look?
TestFlight ignores the sandbox accounts (which we add to Settings -> Apps-Store -> Sandbox account) and uses the main account
That is correct behavior. The sandbox account is for when you are running an Xcode build. TestFlight, on the other hand, always uses your real account, but it doesn't charge you (and the same for your beta testers).
#matt is right. The only what I can add here is that after you
logged in as sandbox user > attached device to xcode > run the build > made the purchase with sandbox user
you will be able to use that sandbox user even in next TestFlight builds.
For other testers this new approach is very uncomfortable, expecially if tester has a very complex password for their primary accounts... Apple made these things worst, for sure.
Btw, important to note that making purchases using primary account in sandbox environment (liek your testers do in TestFlight builds) will also reset the subscriptions in some time range. Not sure what exactly, probably from 5min to 1h. I didn't know it and had tons of questions, why my app doesn't recognise any previous subscription made recently. Purchase restore response also says that there is nothing to restore... Weird way of tasting, Apple...

Not able to test play store In-App-Purchase with licensed tester account

I have uploaded an app in play store. I have created releases in Internal Test and Closed Test tracks. I have created In-App products also. Then I have added testers account for licensed testers. I have opted in using the opt-in url. But when I installed the debug build of the app in physical device with same package name which is configured in play console I am unable to test In-App products.
Actually its been 2 days since i have uploaded my app for first time. Using test accounts, I am unable to download the app from play store. It seems, google will take time to review the app and approve it. But in the docs(added url below), they have mentioned that we can test In-App products with debug builds. But I am unable to test it.
My debug build has same package name as that of app uploaded in play console. I have configured the product id correctly too. Can somebody help what might be the issue. Should I wait for google to complete the review and approve my app?
https://developer.android.com/google/play/billing/test
Check out this post: Testing in-app purchases on Android
This should solve your issue and make this process clear for you.

How to test in App purchase for an live app

I saw this question but its not what i need :- Testing in-app purchase after going live\
I want to provide limited set of testers free access to In App Purchase for testing purposes.The first version of app is live i wish to upload new version. What are my options?
I can make every thing free through code on development build and install it on testers device but i don't want to go this way.
Will the IAP test accounts work if one version of app is live already?
For Testing In-App purchase you have to login into your developer account and add Test user account for In-App purchase . Search for Sandbox In-App purchase testing and app you will get relevant steps.

iOS In App Purchase: test a real purchase without submitting to Apple

I implemented in app purchase in my iOS app and I want to do a real test (not a sandbox) before submitting this new version to Apple
Of course, the current version of the app (in the App Store) was validated with a product
So, I archived the app using an Ad Hoc distribution profile and I generated an IPA file for Ad Hoc deployment. But when I installed the app via Testflight on my device, I discovered that the app was in sandbox environment!
Is there a way to do a "real" purchase before submitting the app to the App Store ?
You can actually test the in-app purchasing in the sandbox environment, basically you'll need to set up an test user account in your iTunesConnect.
Check the apple documentation here:
http://developer.apple.com/library/ios/#technotes/tn2259/_index.html
You'll be able to find all the information related to In-App Purchasing, including sandbox testing.
Short answer: you can't test a real purchase (aka, spend real money). It isn't possible.
Slightly longer answer: You'll automatically hit the sandbox environment unless it's an apple-signed release build. Even ad-hoc signed builds hit the sandbox.
To test a new IAP: create your IAP (it will be in "needs approval mode" until submitted with the final build and test against the sandbox - that's fine). If your purchase works against the sandbox, it should work against prod with real money as well. It would be great to do a trial run with real money, but that's just not possible until the IAP is approved and you get the production signed version of the app from the app store.
Just create a test account on iTunes Connect. Then log out from the device and run your app from Xcode.
To get access to the purchase you need apple signature, because you are connecting with the apple servers.
I assume that your app, is doesnt have that signature, so your request goes to the sandbox.

Resources