Is there any chance that the purchase is completed but the app cannot receive the receipt?

Some user of my app reported that they had completed the consumable IAP, but cannot receive the purchase content.

We are finding the reason, and its seems that the app cannot receive the receipt for verification.

But... Is that could be happen? If so, is there any method get back the receipt from the last transaction?

Accepted Reply

>the app cannot receive the receipt for verification.


How do you know that the app cannot receive the receipt? If you look for a receipt it should always be there. If the user has not purchased a consumable IAP then the receipt will not contain a field for the IAP receipt - but there will still be a receipt. If the user has purchased a consumable IAP and the system has called finishTransaction then the receipt will also not contain a receipt for the IAP - but there will still be a receipt.


So you need to determine:

1) is this really a bug and there is no receipt

2) did the user make the purchase and call finishTransaction so there is no IAP receipt field

3) did the user make the purchase and you did not get the refreshed receipt

4) is the user trying to scam you

Replies

>app cannot receive the receipt for verification.


Confirm that your app is using the correct App Store URL to validate the receipt. See What url should I use to verify my receipt? for more information.


About those 'some' users, tho, I'd want to know how many/what percentage of that app's total user pool, and if any are using jailbrk'd devices, and if this is about them making direct refund requests to you, not Apple.

>the app cannot receive the receipt for verification.


How do you know that the app cannot receive the receipt? If you look for a receipt it should always be there. If the user has not purchased a consumable IAP then the receipt will not contain a field for the IAP receipt - but there will still be a receipt. If the user has purchased a consumable IAP and the system has called finishTransaction then the receipt will also not contain a receipt for the IAP - but there will still be a receipt.


So you need to determine:

1) is this really a bug and there is no receipt

2) did the user make the purchase and call finishTransaction so there is no IAP receipt field

3) did the user make the purchase and you did not get the refreshed receipt

4) is the user trying to scam you

Thanks for the reply. It seems that I mixed up "receipt" and "IAP receipt field".

Is that means I should not call finishTransaction until the user receive the purchased content?

So there is no method to get the information of the purchaed consumable IAP if finishTransaction is called, right?

>Is that means I should not call finishTransaction until the user receive the purchased content?


I call finishTransaction immediately in updatedTransactions. But first I collect any information I will need to complete the purchase. Apple suggests not calling finishTransaction until everything is over. I think that risks various issues with an unfinished transaction.



>So there is no method to get the information of the purchaed consumable IAP if finishTransaction is called, right?


That is correct. You must collect that information before calling finishTransaction