Hi vlads,
Thanks for reaching out. The exact message of first reject was:
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 12.1 on Wi-Fi.
Specifically, when we try to purchase the subscription the app keeps on loading indefinitely and doesn’t finalize the 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 how to test 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.
Please see attached screenshot for details.
I responded that this code was tested good and never hang in sanbox mode. I resubmitted the same binary again and asked them to test again. They did. The next reject was:
Guideline 2.1 - Performance - App Completeness
We still found that your in-app purchase products exhibited one or more bugs when reviewed on iPhone and iPad running iOS 12.1 on Wi-Fi.
Specifically, when we try to purchase the subscription the app keeps on loading indefinitely and doesn’t finalize the purchase. We have tried on several devices
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 how to test 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.
Please see attached screenshot for details.
They claimed to have tested with iPhone and iPad. The screenshot they showed me was the activity indicator.
I did load the same binary apple used, via testflight. When I tested the inApp purchase it did not hang, it just works.
It is good to know you decrypt receipts locally. Is it possible that local sandbox verification and production verification needs a different approach?
I am kind of clueless why it hangs during apple’s review process.
Ronald