Reversal Flow

The end-to-end webhook sequence when an authorized transaction is cancelled before it settles.

A reversal cancels an authorization before it settles. It always references a specific prior authorization — a reversal never arrives on its own (see Non-Standard Transaction Scenarios). Because settlement never happens for the reversed amount, CardTransactionCleared is not sent for that authorization.

Sequence

sequenceDiagram
    participant Cardholder
    participant Merchant
    participant Altery
    participant Partner as Your System

    Cardholder->>Merchant: Presents card / places order
    Merchant->>Altery: Authorization request
    Altery->>Partner: CardAuthorizationRequest (sync, 2s timeout)
    Partner->>Altery: authorize: "true"
    Altery-)Partner: CardTransactionApproved (notification)
    Note over Merchant,Altery: Customer cancels order,<br/>duplicate auth, or hold expires
    Merchant->>Altery: Reversal referencing the authorization
    Altery-)Partner: CardTransactionReversed (notification)

Webhooks in this flow

StepWebhookTypeDescription
1CardAuthorizationRequestRequestSent in real time; your response approves or declines the transaction
2CardTransactionApprovedNotificationSent once the authorization is approved and the transaction is created
3CardTransactionReversedNotificationSent when the merchant or scheme cancels the authorization before settlement

Amount in this flow

The amount on CardTransactionReversed is the amount being released from the hold, not the amount that remains authorized. A reversal can be partial: only part of the authorized amount is released, for example when a fuel-pump pre-authorization is higher than the amount actually dispensed. See CardTransactionReversed for the field-level explanation, and the "Partial reversals" section of Non-Standard Transaction Scenarios for worked examples.

A reversal is not a refund: a reversal always cancels an authorization that has not yet settled, while a refund (see Refund flow) returns funds after settlement.

See also