Handle CANCEL notification one after the other

I want to understand how to handle CANCEL notification type, I noticed that I get 3 CANCEL notifications one after the other, it sounds like the user gets a refund for 3 different transactions, am I wrong?

When I look at the receipt I see also the cancellation date ms field in 3 latest transactions in the latest receipt info, does it mean the user gets 3 refunds for 3 transactions? (the cancellation date is the same cancellation date for all the 3 transactions)

This is what I got, as you see I got the cancellation date is the same, does it mean a full refund for every transaction in the following?:

  "cancellation_date_ms": 1650188985000,
  "cancellation_reason": "0",
  "expires_date_ms": 1650732253000,
  "in_app_ownership_type": 2,
  "original_purchase_date_ms": 1640606326000,
  "product_id": "com.neocortext.doublicatapp.subscription.weekly.new",
  "purchase_date_ms": 1650127453000,
  "quantity": 1,
  "subscription_group_identifier": "20843276",
  "transaction_id": "170001301196587",
  "original_transaction_id": "170001205648289",
  "web_order_line_item_id": "170000572783810"
},
{
  "cancellation_date_ms": 1650188985000,
  "cancellation_reason": "0",
  "expires_date_ms": 1650127453000,
  "in_app_ownership_type": 2,
  "original_purchase_date_ms": 1640606326000,
  "product_id": "com.neocortext.doublicatapp.subscription.weekly.new",
  "purchase_date_ms": 1649522653000,
  "quantity": 1,
  "subscription_group_identifier": "20843276",
  "transaction_id": "170001295106872",
  "original_transaction_id": "170001205648289",
  "web_order_line_item_id": "170000569655974"
},
{
  "cancellation_date_ms": 1650188985000,
  "cancellation_reason": "0",
  "expires_date_ms": 1649522653000,
  "in_app_ownership_type": 2,
  "original_purchase_date_ms": 1640606326000,
  "product_id": "com.neocortext.doublicatapp.subscription.weekly.new",
  "purchase_date_ms": 1648917853000,
  "quantity": 1,
  "subscription_group_identifier": "20843276",
  "transaction_id": "170001289230515",
  "original_transaction_id": "170001205648289",
  "web_order_line_item_id": "170000544361015"
},

Correct, a transaction with the cancellation date populated indicates the transaction has been refunded. I would recommend using Server Notifications v2 where you will get an single notification type of REFUND for only the applicable transaction.https://developer.apple.com/documentation/appstorereceipts/cancellation_date_ms

Handle CANCEL notification one after the other
 
 
Q