I use In App Payment to sell ingame consumables.
After successfull payment I forward the payment receipt to my backend, which validates the receipt with the iTunes payment backend.
This works flawlessly in the sandbox environment.
Now I submitted my app so it can be approved by the Apple guys and be published in the App Store. Of course I made sure that my backend will be validating the payment receipts with the production environment of the itunes backend, because I expected the Apple guys to test the app in production mode.
However, the app was rejected. As a reason I was told that the purchase of my consumables does not work (refused by my backend because of an invalid receipt).
After checking my logs I see 3 attempted purchases. I decoded the receipts that were used and see, that all of these are "environment" = "Sandbox".
Does this mean that Apple tests submitted apps in sandbox mode? That would be crazy! Am I supposed to allow sandbox payment in my production environment or what?
Any facts about this?
Best Answer
Thomas, you should definitely read Apple's FAQ on In-App Purchase: https://developer.apple.com/library/content/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-RECEIPTURL
So yes, they are kinda crazy. But we knew that, didn't we?