iOS In-App Purchase works in sandbox but invalid in production

Hello,

For my customer I am maintaining a universal iOS app for 4 years now, and in summer 2020 we have added 2 non-renewing subscriptions.
The problem with one of the two subscriptions is that it works in the sandbox environment but its product (SKProduct) is NOT available in production environment, ie. when released on the App Store.
We can tell because the app shows a disabled buy button if the product is invalid via a SKProductsRequest. In sandbox environment (when started from Xcode or via TestFlight at my customer and our beta testers) the button is enabled, ie. the SKProduct is valid.
So we know this is not a simple Release vs Debug build issue.

The corresponding IAP is approved in App Connect. We have a total of 61 approved IAPs.

What could be wrong with this subscription?
The price is tier 80 = 449,99€, that is the only difference that sets it apart from the other IAPs which are 49,99€.

We have contacted Apple Developer Support many times. We usually receive the routine response that the issue has been re-escalated. It's on-going now since August 2020, and we are losing user confidence.

Has anyone ever seen such a problem?

If anyone from Apple reads this, please get in touch if you think you can help. I don't know what else we can do to have someone at Apple look into this.
I speculate Dev Support does not want to spend time on this because it's a non standard problem that requires someone to dig deep into log files. It's not hard to reproduce: Download our app for free and go to the purchases tab. It's that easy. Dev Support could just do that and reproduce it, then check logs.

All we can do is raise issues with Dev Support or App Store Support, but what if they just let it starve? We feel left alone on this.
Post not yet marked as solved Up vote post of Biochili Down vote post of Biochili
1.4k views

Replies

Me too,
Are you find the sollution for this case?

Hi,

Apple Dev Support never got back to us. Hence, as a workaround, we simply created a new in-app purchase which is identical to the broken IAP except it has a new product identifier of course. The app still handles the old IAP in the receipt (for users who bought it in the past) but when the user taps the purchase button the app purchases the new IAP.