Skip to main content
Fires when the payment provider reports a chargeback on an already processed order: the cardholder disputed the charge or their bank reversed it.
This event arrives about a charge you already treated as good. If you marked the debt as paid, you have to reverse that state in your system here.

The payload

This payload carries no status, because a chargeback does not describe the state of a payment but a later fact about an already processed charge. It carries no bank either: that belongs to the bank debit events.

Chargeback reasons

chargebackReason is a closed catalog, unlike the bank debit chargeback, where it is free text. You can branch your logic on these values with confidence. The possible values are FRAUD, DUPLICATE, NOT_AS_DESCRIBED, NOT_RECEIVED and UNRECOGNIZED. The reason is reported by the payment provider.
The reason always arrives uppercase, in its canonical form, no matter how the provider wrote it. A reason outside the catalog is rejected in validation and the notification is not delivered, so you will never receive an unexpected value in this field. What you can receive is null.

Examples

Common fields, hash and idempotency

What every webhook in this family shares.