Hey there,
Thanks for the reply. Good to know that the receipt data should change after each purchase we're not using any subscription purchases so that shouldn't be a factor here. Do you have any reference for citing that the receipt data should be different every time? I couldn't locate this in Apple documention. In terms of validating the receipt as far as I can tell we do have everything as required. At a high level we do the following...
- Pull [[NSBundle mainBundle] appStoreReceiptURL] on the iOS device after a purchase
- Send an HTTPS request to our server with the receipt data
- Our server sends a request to Apple for receipt validation
- Our server analyzes the response from Apple to check that receipt was validated correctly
- Our server sends an HTTPS response back to the iOS device on whether the validation succeeded or not
Duplicate transaction ID's is definitely something I will investigate as well thanks for mentioning that. On another note do you have any knowledge of what the transaction ID's should look like? I'm seeing serveral different formats come in one of which seems correct, one of which I'm not sure of and one which is definitely wrong. The formats are...
72E48523-670C-41DB-95BF-B8A90D060592
- Obfuscated value seems valid to me
400000183133500
- Long single value, not sure if this is valid or not?
com.mycompany.myapp.gems.tier41449669175207
- Bundle identifier with random numbers on the end. Apple flags this as invalid which is what I would expect.
Looking at the purchase data if you factor out the known invalid purchases as indicated in the third case the daily purchase data dosn't add up from daily revenue reports provided by Apple.