refund_reversed

Learn about the REFUND_REVERSED App Store Server Notification V2. Fired when Apple reverses a previously granted refund.

App Store Server Notifications V2Refunds
refund_reversed

The REFUND_REVERSED notification fires when Apple reverses a previously granted refund. The original transaction becomes active again and you should restore access to the purchased content.


When does it fire?


This notification triggers when Apple determines that a refund was issued incorrectly and reverses it. This is relatively rare but important to handle — the customer should regain access to their purchase.


Payload highlights


The signed transaction info includes the original transaction ID and product ID. The reversal means the original purchase is valid again and any revoked entitlements should be restored.


How Yeethook helps


Refund reversals require you to restore access that was previously revoked. Yeethook alerts your team immediately so you can ensure the customer's access is restored promptly.


Common use cases


  • Restore previously revoked access after refund reversal
  • Track refund reversal rates for dispute monitoring
  • Update internal records to reflect the restored transaction
  • Notify customer support about access restoration

Example payload

The decoded body of a reversal, which always refers to a transaction that previously arrived as REFUND. Match it on the originalTransactionId inside signedTransactionInfo, since nothing in the outer object identifies the customer.

{
  "notificationType": "REFUND_REVERSED",
  "notificationUUID": "2b7f60c4-93e1-4a58-8d72-af5c14e08b39",
  "version": "2.0",
  "signedDate": 1790149053000,
  "data": {
    "appAppleId": 1234567890,
    "bundleId": "com.example.app",
    "bundleVersion": "142",
    "environment": "Production",
    "signedTransactionInfo": "eyJhbGciOiJFUzI1NiIsIng1YyI6..."
  }
}

What it looks like in Slack

Success

Refund reversed

Product
com.example.app.coins.500
Price
4.99 USD
Transaction
2000000856781234
Environment
Production

Questions about refund_reversed

What actually causes a refund to be reversed?

Apple reverses a refund it already granted, typically when the payment dispute behind it resolves in the seller's favour. It is the rarest of the three refund notification types, and it can only ever follow a REFUND for the same transaction.

Which identifier should I use to restore the entitlement?

The originalTransactionId in the decoded transaction, because that is the key you removed access against when the REFUND arrived. transactionId differs between subscription periods, so matching on it alone risks restoring the wrong period.

Can a reversal arrive after the subscription already ended?

Yes. Disputes resolve on Apple's timeline, not your billing cycle, so the transaction referenced can be well past its expiresDate. In that case there is nothing to reinstate for a subscription, and only non-consumables and consumables need their entitlement restored.

Related Events

Get this event in Slack or Discord

Connect Yeethook to receive refund_reversed notifications in your team's Slack or Discord channels.

Get Started Free