So, my first In-App Purchase App got rejected. My app has a GET button to start the purchase process. It has been running without issue during my Sandbox testing. I got this line from Apple Review.
"We found that your in-app purchase products exhibited one or more bugs when reviewed on iPad running iOS 12.1.4 on Wi-Fi. Specifically, your app does not initiate the in-app purchase process when we tap the GET button. 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."
I am confused by this statement because my app does not do any receipt validation in the app at all right now. My servers occassionally do receipt validation when I am polling for subscription statuses, but Apple would be unaware of this process during App Review. Also, I have a PHP script that listens for Status Update Notifications but I don't have to differentiate between Sandbox and Production for that. From the initial statement, it sounds as if they are saying that the in-app purchase process is not being initiated when they tap the GET button, but I don't think that is exactly what they meant. I think that the button works just fine, but there might be something wrong with receipt validation. So my question is, is receipt validation MANDATORY or optional? Is that perhaps what I am missing? Trying to figure out where to start in fixing this problem.