Receipt refreshing as a complete replacement for purchase restoration

Can receipt refreshing be used as a complete replacement for restoring previously purchased non-consumable products? If by pressing a 'Restore Purchases' button the app refreshes and validates the receipt, can -[SKPaymentQueue restoreCompletedTransactions] method and handling of the SKPaymentTransactionStateRestored state be completely dropped?

Answered by PBK in 150589022

If you have mastered the art of decoding a receipt you no longer need restoreCompletedTransactions. But its 6 of one (i.e. restoreCompletedTransactions) and "(273-270)*2+0" of the other (i.e. OpenSSL)

Accepted Answer

If you have mastered the art of decoding a receipt you no longer need restoreCompletedTransactions. But its 6 of one (i.e. restoreCompletedTransactions) and "(273-270)*2+0" of the other (i.e. OpenSSL)

If I don't have a server, then the only way to make sure the receipt is valid is to verify it locally, which also means mastering that art, right?

Well you have two 'less secure' approaches.

1) Don't verify the receipt

2) send the receipt directly to the Apple servers from the device (it works better than #1 but is subject to a complex man-in-the-middle attack)

Receipt refreshing as a complete replacement for purchase restoration
 
 
Q