AppStore rejection: The receipt is not valid

  • 31 October 2021
  • 28 replies
  • 2062 views

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 +1

I get also the same rejection. Have solved the problem?

Userlevel 5
Badge +9

Seems like there’s a handful of developers hitting this error: 

 

Can you ask the reviewer to re-sign in with their Apple account? 

Badge +4

We’ve got exactly the same reason of rejection from App Store. @Yauheni Yarotski Have you already appeal to reviewer? Please could you share some info if you get an update on this issue. Thanks!

I’ll try to appeal as well with an info suggested by @ryan ...

Badge

Same issue here, Yesterday I tried appealing the review with Ryan’s comment, but I am still waiting for their response. :fingers_crossed:

Badge +4

Hi, I have the same problem. I told them to login again with @ryan suggestion but the problem still persists. Why does this problem occur? Can you help us solve it?

Badge

Same issue here, Yesterday I tried appealing the review with Ryan’s comment, but I am still waiting for their response. :fingers_crossed:

I ended up submitting a new version for review instead of waiting for the appeal and it was approved in a few hours. :grin:

Badge +4

Same issue here, Yesterday I tried appealing the review with Ryan’s comment, but I am still waiting for their response. :fingers_crossed:

I ended up submitting a new version for review instead of waiting for the appeal and it was approved in a few hours. :grin:

@Nahue did you make any changes? I also sent a new version but it was not approved :disappointed:

Badge

Same issue here, Yesterday I tried appealing the review with Ryan’s comment, but I am still waiting for their response. :fingers_crossed:

I ended up submitting a new version for review instead of waiting for the appeal and it was approved in a few hours. :grin:

@Nahue did you make any changes? I also sent a new version but it was not approved :disappointed:

 

I did make changes but not related to the issue, maybe I just got lucky with the reviewer this time.

Maybe you could come up with an excuse and ask for an expedited review (https://developer.apple.com/contact/app-store/?topic=expedite), in my experience they tend to do a lighter review on those cases. As a temporary solution until the root issue is fixed.

Userlevel 5
Badge +9

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

 

Userlevel 1
Badge +5

2 months on from the last post on this thread I have encountered the same issue.

I have asked the reviewer to re-sign in with their Apple account.  I’m waiting on the reviewers response.

Can RevenueCat shed anymore light on this two months on?

Userlevel 5
Badge +9

@Peter Rule this typically happens when there’s some issue with the reviewers account or device. For me I could tell by my logs the reviewer didn’t have a network connection. When iOS15 was released we heard about in increase in this happening so assume there was something related to that but it’s still occurred well before and after iOS15.

Userlevel 1
Badge +5

Thanks @ryan.

I submitted a new binary with minor changes and that passed review.

Badge +5

Got it again..(

Guideline 2.1 - Performance - App Completeness

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

Specifically, your app displayed an error page when we attempted to subscribe.

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.

Resources

You can learn more about testing in-app purchase products in your development sandbox environment in App Store Connect Developer Help.

For more information on receipt validation, please see What url should I use to verify my receipt? in the In-App Purchase FAQ.

Learn how to generate a receipt validation code in App Store Connect Developer Help.

Badge +5

Starting last week our updates have been rejected on BOTH the App Store and Google Play. We made no changes to the subscription code, and everything works fine on TestFlight.

Error 9: RCPurchasesErrorDomain

We’ve updated to the latest SDK, but we’re still getting rejected with the same error.

Has anyone found a solution?

Badge +1

My app rejected for the same reason, I will try to resubmit the app again. Just want to keep record that problem still exist  

Guideline 2.1 - Performance - App Completeness

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

Tapping either In App Purchase option displayed

There was a problem with the App Store.
Please Try Again Later

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.

Badge +1

This was the reply from Apple review team

Thank you for your response. We tried the In App Purchase with a different Deve and observed the same issue.

After purchasing the In App Purchase, the App Store authenticated and confirmed, but the app failed to validate the receipt. Attempting to repurchase reported a successful purchase from the App Store, but the app did not implement the purchased features.

We look forward to reviewing your app once these issues have been addressed and the new build has been received and queued for review. Please be sure to resubmit any In App Purchase products along with the revised binary.

Best regards,

App Store Review


I guess revenuecat should do something about this. It’s matter of luck, I can get approved one time and get rejected 10 times for the same reason

Badge +2

We were just bit by this rejection as well. Message from reviewer: “We discovered one or more bugs in your app. Specifically, we were unable to subscribe, we had an error message.”

 

Checking the logs the error was: “The receipt is missing.”

Badge +2

same thing for me over the past 3 days.  have submitted a completely new build (3x) and blown away the subscription and built a new one from scratch then reset on the revenuecat side.  works in Testflight across multiple devices flawlessly...can see purchases happening on Revenecat dashboard...this is starting to feel like apple not liking or hiccuping on revenueCat...obv we are in the dark and can’t tell.  very frustrating.  i’m using react native/expo if that matters…

 

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.

Badge +2

Now 5 attempts. Works in TFlight. Works on multiple beta testers of mine. This doesn’t appear to be a problem free process on someone’s end given how simple my codebase is. Pretty frustrating. 

Badge +5

Again, 3 attempts already:(( 

App Version

 

Guideline 2.1 - Performance - App Completeness

 

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

 

An error message displayed when we tried to make a purchase.

 

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.

 

Resources

 

You can learn more about testing in-app purchase products in your development sandbox environment in App Store Connect Developer Help.

 

For more information on receipt validation, please see What url should I use to verify my receipt? in the In-App Purchase FAQ.

 

Learn how to generate a receipt validation code in App Store Connect Developer Help.

 

Badge +1

My macOS app has now been rejected twice for this “invalid receipt” error. I’m using RevenueCat on Flutter. It works fine when I test it via TestFlight, but Apple’s app review people keep hitting this error.

Has anyone found a solution?

Badge +2

My hack when repeatedly running into that issue (everything worked except in final app review) was to remove:

Purchases.restorePurchases();

using React Native...maybe slightly different for Flutter…but that’s the exact moment the “invalid receipt” kept getting hit.  the revCat docs do warn about not triggering it “programmatically”...so maybe it was my bad..

revCat docs on restoring purchases

i then built a workaround using the revCat IDs to deal with restore/other users on the device etc.

Other advice about asking the app reviewer to sign in with their Apple ID etc were fruitless at least from my exp.  hope that helps...took me many rejections to solve give it only happened in their hands and i couldn’t TestFlight the problem...

Badge +1

Thanks very much, Keith. My issue wasn’t exactly that, but I was calling my restore purchase function on load to check for the user’s license. This must have put the receipt into some kind of bad/invalid state so that when they went to purchase it, it failed.

Your suggestion spurred me to adjust that and it seems to have resolved the issue. Thank you!

The same happened to our App two days ago, we just resolved it.

This is how we did it.

First to know if you are having the same issue or something else, our payments did work perfectly inside TestFlight and the issue only happened inside the AppStore.

If this is the case, then you should see a "ready for sale" in the left upper corner.

However, if we checked the in-App payments under subscription groups it still said "waiting for review"

Sending the app into a new version review did not resolve the issue.

Solution: We opened a dispute and chatted with the support https://developer.apple.com/contact/app-store/?topic=appeal

We arranged a Callback with this hotline https://developer.apple.com/contact/

Be specific with the problem, and if possible send screenshots. It took two days to resolve.

However, for some the only thing that seemed to work was deleting the in-app payments and setting them up new before submitting a new build. https://developer.apple.com/forums/thread/35757

Good Luck

Badge

I did about 10 rounds of review, and nothing worked. Finally, I recreated the subscriptions - and got approved! Here’s my blog post about it.

Reply