AppStore rejection: The receipt is not valid

  • 31 October 2021
  • 28 replies
  • 2134 views

Userlevel 1
Badge +5

Hello RevenueCat Team,
Almost each release we got reject when Apple review team try to make a purchase. I don't understand the reason, but looks like something wrong with receipt.
I'm attached the rejection screen and the error desc, please, have a look.
What do you think?

 

They say:

We found that your in-app purchase products exhibited one or more bugs when reviewed on iPad running iOS 15.1 on Wi-Fi.

Specifically, an error occurred after we purchased the subscription.

Next Steps

When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead.

 

Thank you,
Yauheni @ MoonX Team

ryan 1 year ago

Heard from another developer that they hit this rejection, but next release was approved (no code changes): 

 

View original

28 replies

Badge +2

Same issue here. Is there a solution now?

Badge +2

Same issue 50/50 chance I get this on a new app review.

Badge +1

I had this issue so I’ll chime in as maybe it will help others.
I went through 4 or 5 submissions before it got approved.

In my case they were having trouble getting through the paywall (I believe) or the subscription process wasn’t working. We weren’t able to replicate any issues and our subscription workflow is fairly standard. I’m not sure how they test their apps. I did a bunch of usability improvements to the paywall page (like a spinner while things are loading). The change I did that finally got us over the hump was just displaying the full error to the user on the paywall page if the subscription fails. (In our case with flutter this is catching the exception to the revenuecat calls and showing the full text to the user). Our thinking was that we would then have the screenshot they provide as part of the review to see what error they’re hitting.

However, after this change it was accepted. My guess is that they saw an error and realized what the issue was and changed something in their test environment to work around it. It could have been something as simple as not having online connectivity during the review, which I believe might have been the issue as I’ve seen others mention it.

It may have also just been luck and they happened to accept it.

Reply