payout.cancelled

A crypto send or a gift card was cancelled. Terminal.

🚧

This event fires for both payout types

payout.cancelled is emitted for crypto sends and gift cards, and the two bodies are structurally different. Branch on payout_type before touching the body. The other shared names are payout.processing and payout.failed.

Triggered when a payout was cancelled. Terminal for that payout, but not for the recipient.

payout_typeMeaning
cryptoAn accepted send was cancelled. No funds moved.
gift_cardsAn issued or in-flight gift card was cancelled.

Crypto

The crypto body, with the data shape documented on payout.quote_created.

data.status carries the provider's raw string, which may be either "canceled" or "cancelled". Both map to this one event. Read the event name to decide what happened, not data.status.

{
  "event": "payout.cancelled",
  "payout_type": "crypto",
  "data": {
    "id": 354,
    "status": "cancelled",
    "input_amount": "100.0",
    "blockchain_transactions": [],
    "requires_2fa_confirmation": false
  }
}

What to do

  • Close out data.id. No funds moved.
  • The recipient's entitlement is untouched and still redeemable.
  • This event cancels an accepted send. For a recipient cancelling a quote before the send exists, see payout.quote_cancelled.

Gift cards

The GIFQ envelope plus the gift-card payout keys. subject_type is "payout" and status is "cancelled".

{
  "event": "payout.cancelled",
  "payout_order_uuid": "11111111-2222-3333-4444-555555555555",
  "recipient_email": "[email protected]",
  "recipient_uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "recipient_name": "Alice Doe",
  "subject_type": "payout",
  "status": "cancelled",
  "updated_at": "2026-05-21T11:30:00Z",
  "payout_type": "gift_cards",
  "currency": "GBP",
  "sent_at": "2026-05-20T09:00:00Z",
  "viewed_at": "2026-05-21T10:00:00Z",
  "expires_at": "2026-08-20T09:00:00Z",
  "payout_uuid": "99999999-8888-7777-6666-555555555555",
  "brand_uuid": "77777777-6666-5555-4444-333333333333",
  "brand_name": "Amazon UK",
  "amount": 25.0
}

What to do

  • Close out payout_uuid. The card is void.
  • If you told your end user about this same payout_uuid on an earlier payout.fulfilled, retract that. It is the same card being withdrawn.
  • Read the recipient's remaining_amount from their next recipient.* event rather than assuming the amount went back to their balance.