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

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.

Related

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

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?

In-App purchases not loading unless I install the app directly from Xcode - RevenueCat

I recently started using RevenueCat for all of my InApp purchases; today my app was approved in the App Store so, I went ahead and downloaded it to try the new version directly from the App Store and I noticed that the In-App purchases are not loading. What is funny is that if I connect my phone to my computer and compile the app directly from Xcode it does show the In-App purchases.
So my question is, is there any setting in RevenueCat that we need to turn on when the app goes into production?
If such of setting does not exist, what would be a good way to troubleshoot the issue to determine where the problem is, if it's RevenueCat, the App Store or my code?
FYI - When I install the app directly from Xcode I can make purchases with a send-box account and everything functions as it should.
There aren't any RevenueCat settings to update when your app goes live. This sounds like a propagation issues with the App Store if these are new products - sometimes they can take ~24hrs to be available in production to all users after being approved.
Unfortunately, doing nothing and waiting is probably the answer here. In the future if you can not show new products to users until >24hrs after they're approved it should prevent this from happening again.

In app purchase with hosted content does not work when live

Recently I have published application with in-app purchase to App Store. In-app purchase contains hosted content. This purchase item was fully tested with sandbox users and with beta testers as well. But when we go live this item does not work. Payments for this purchase was withdrawn, but content is still locked. I can fetch selected product and his price in App Store build.
Also, I am wondering that all works great using sandbox user, works for all beta and internal testers, but does not work in app downloaded from App Store. This even works after switching back to sandbox.
In-app purchase is approved, content inside is valid, application is ready for sale.
Are there some differences between in-app purchase configuration for App Store build and TestFlight/installed from Xcode one?
Thanks for your time.
This appears to be an issue on Apple's servers that started a few days ago. See this forum thread:
https://forums.developer.apple.com/thread/80546
Apple's server team is said to be addressing it now. Here's a quote from an Apple staff member on that thread:
"I've forwarded all of these bug reports to the Apps Ops Engineering QA team for thei review. For everyone else, by all means submit bug reports, but at this point, I'm not going verify that the bug reports are passed on to Apps Ops Engineering QA. The server team's attention is now on this issue."

iOS - In-app purchases and beta testing

I am about to test my app with my external testers. I will give them a sandbox account to test my in-app purchases. My in-app purchases are hosted with Apple.
My question is, after the testing finishes, I disable app testing in iTunesConnect, I submit my app to Apple, and my app becomes available on the App Store. My testers download my app from App Store. Will the in-app purchases they tested still be there? Will installation from App Store act as a app update?
I tried disabling app testing in iTunesConnnect just now by making it "Not available for testing" and I'm still able to use my app, and test in-app purchases.
If I can't disable my app from testing then testers will get all my in-app purchases that they test for free?
Am I missing something? Can I disable app testing completely?
The app in testflight will last for 30 days from the day of download. After that the app will not be available.
The live version is different and will be needed to be downloaded separately from the app store. It will be a unique application compared your beta app. It would be treated as a fresh install.
Will the in-app purchases they tested still be there?
No
Will installation from App Store act as a app update?
No
will [users] get all my in-app purchases that they test for free?
No
Can I disable app testing completely?
You already have. App will not be available for download. However you cannot remove apps that are already installed. Existing app will last until expiry date.
More info here

Test In app purchase in waiting for review status for ios app

Currently My app's Version 2.0 is live.
Recently I have uploaded version 2.1. I have made sandbox mode disabled from app which I am using for renewal subscriptions.
Now My app V2.1 is in waiting for review status. During this period when I am testing the app, it shows me [Environment:Sandbox] while testing In-App purchases.
I am trying to make in app purchase by downloading the app from test flight i.e. V2.1
V2.1 is in waiting for review mode and I am trying to restore my in app purchases with V2.1 which I already bought with V2.0.
Will this sandbox environment be disabled automatically by apple once the app is live?
Or there is anything I am missing?
Can anyone please help me out?
Thanks a lot in advance.
What you mean by "I have made sandbox mode disabled from app which I am using for renewal subscriptions."?
You won't get sandbox once you use app downloaded from AppStore. It's related to how the app is signed - test flight build is ad-hoc distributed which implies you get sandbox.
You can't disable sandbox in your app. Your provisioning profile will control which servers the IAP process looks at. You need to generate an app that's signed for Release to access the Prod IAP server.

Resources