Firstly I thought that the differencies are:
- latest_receipt_info also contains purchases, which are proceeded after receipt generation, in_app - doesn't. Good for tracking future events.
- in_app also contains consumable, for which the receipt was generated (I noticed this fact in sandbox environment: consumable was only in response for receipt, which was associated with this consumable purchase), latest_receipt_info - doesn't. Good for validation of random purchase with associated receipt.
BUT. I found case, when I have the same transaction in in_app and in latest_receipt_info (it has the same web_order_line_item_id), but transaction_ids differ. Can you explain cases, when this behaviour appear?
Or more precisely: Is it possible for any transaction to change transaction_id in latest_receipt_info? Does it happen when user do something with exact transaction (restores on other device etc.)? (found the same question: https://developer.apple.com/forums/thread/84812, didn't find answer)