Is receiving in [NSBundle appStoreReceiptURL] still present after updating the application

In a production environment, if a user makes a purchase in an application and then updates a new version of the application, is this a receipt that reflects the purchase of the application still present in the bundle? Or is it interrupted by an application update?

+6
source share
1 answer

Ok, so I think I finally found the answer to this question.

The receipt should be a reliable record of the purchase, as well as any in-app purchases made by the user - like receipt paper, which you receive when making purchases in the store. Here are a few key points about receipts:

  • The receipt is created and signed by Apple through the App Store.
  • A receipt is issued for a specific version of the application and a specific device.
  • The receipt is stored locally on the device.
  • A receipt is issued every time an installation or update takes place.

  • When the application is installed, a receipt, the corresponding application and device.

  • When the application is updated, a receipt is issued corresponding to the new version of the application.

  • A receipt is issued every time a transaction occurs:

  • When an in-app purchase occurs, a receipt is issued so that it can be accessed to confirm its purchase.
  • When previous transactions are restored, a receipt is issued so that it can be accessed to verify these purchases.

Retrieved from https://www.objc.io/issues/17-security/receipt-validation/

So, if you updated the application that has a purchase history on the receipt, this purchase history should be included in the new receipt, which is issued for the new version of the application. (Unless, of course, this is expended).

0
source

Source: https://habr.com/ru/post/975470/