Yes, we see it. We see that this is caused by clicking the "Restore purchase" button.
If your Restore Purchase button uses the restoreCompletedTransactions API, this will change the transaction ID. We confirmed this with support from Apple developers.
Apparently, you can call SKReceiptRefreshRequest instead to get the most recent receipt, rather than repeating all transactions. As far as I understand, this will not lead to a change in transaction identifiers.
Oddly enough, we have testified that the values ββof web_order_line_item_id do not change when switching to restoreCompletedTransactions . However, we only received an ambiguous response, at best, from Apple support, when we asked for confirmation:
As for the web_order_line_item_id field, the value will change with each subsequent update.
You can use this if you continue to store the new value when renewal subscription events appear.
This means that web_order_line_item_id is unique when purchasing an update. Which neither confirms nor denies that it remains constant in all calls to restoreCompletedTransactions
In addition, I found that this conference entry on the Apple / Google / Amazon recurring billing is very useful (although not for this particular case):
Rosa Gutierrez is a recurring nightmare. Implement cross-platform in-app subscription
source share