How to find the refunded item key from response body v1 on Server Notification

Question about data format of response body v1 on “Server Notification” (not storekit).

https://developer.apple.com/documentation/appstoreservernotifications/responsebodyv1

We’d like to specify the refunded product or purchase record in our database when receiving the REFUND notification.

We are guessingproduct_id and original_transaction_id in the most-recent latest_receipt_info are the keys for specify that, and we can find most-recent latest_receipt_info by checking the purchase_date.

But we haven’t found official information from apple about that and we can't sure about our guess.

We just found infomation about storekit, but not for server notification. https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/handling_refund_notifications

  1. Does anyone know the official information or actual utilization experience?
  2. What are the rest of the latest_receipt_info array? Why it is designed as array?
Answered by App Store Commerce Engineer in 707312022

If you are looking for single transaction, please review v2 server notifications types. https://developer.apple.com/documentation/appstoreservernotifications/notificationtype

While for v1, if you receive a REFUND notification, then a consumable, Non-consumable or non-renewing subscription was refunded/ or revoked. Most likely it is the latest transaction in the latest_receipt_info array but you can confirm by leveraging the cancellation_date should be the same day you received the notification and then reference the product_ID on what was purchased.

Accepted Answer

If you are looking for single transaction, please review v2 server notifications types. https://developer.apple.com/documentation/appstoreservernotifications/notificationtype

While for v1, if you receive a REFUND notification, then a consumable, Non-consumable or non-renewing subscription was refunded/ or revoked. Most likely it is the latest transaction in the latest_receipt_info array but you can confirm by leveraging the cancellation_date should be the same day you received the notification and then reference the product_ID on what was purchased.

How to find the refunded item key from response body v1 on Server Notification
 
 
Q