Ask for an invitation
Menu

Webhook event

payment.reverted

A block reorganisation removed the transfer. If its order was paid only by this payment, the order returns to processing or open and order.payment_reverted is sent.

Type
payment.reverted
The object it carries
the payment object
Subscribe with
payment.reverted, payment.* or *

Example payload

The body of the request your endpoint receives, shown here over several lines. On the wire it is compact JSON; check its signature over the bytes exactly as they arrive.

Example payload

{
  "id": "evt_42nvx3bwvpsmbxxs6a77jqxt",
  "object": "event",
  "livemode": true,
  "created": "2026-10-11T14:06:41.117Z",
  "type": "payment.reverted",
  "api_version": "2026-10-11",
  "data": {
    "object": {
      "id": "pay_2pe50hae6w2jk4sp1rcq5pae",
      "object": "payment",
      "livemode": true,
      "created": "2026-10-11T14:06:41.117Z",
      "order": "ord_0zymngngvf12b8b2cra7tb8e",
      "instruction": "pin_h73hkjr8dyp4zymaet5e2gbv",
      "status": "reverted",
      "rail": "relay",
      "asset": "ethereum:usdc",
      "network": "ethereum",
      "amount": "22.410000",
      "value": {
        "amount": "22.41",
        "currency": "USD"
      },
      "transaction_hash": "0x709b55bd3da0f5a838125bd0ee20c5bfdd7caba173912d4281cae816b79a201b",
      "from_address": "0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB",
      "to_address": "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359",
      "confirmations": 0,
      "confirmations_required": 12,
      "unmatched": false,
      "unmatched_reason": null,
      "late": false,
      "ignored": false,
      "finalized": true,
      "screening": {
        "id": "scr_268aypc7xxt8g1bkbweajv0m",
        "status": "clear",
        "checked_at": "2026-10-11T14:06:41.117Z"
      },
      "settlement": null,
      "seen_at": "2026-10-11T14:06:41.117Z",
      "confirmed_at": "2026-10-11T14:09:12.300Z",
      "settled_at": null,
      "reverted_at": "2026-10-11T14:12:00.000Z"
    },
    "previous_attributes": {
      "status": "confirmed",
      "reverted_at": null
    }
  },
  "request": {
    "id": null,
    "idempotency_key": null
  },
  "pending_webhooks": 1
}

Fields of data.object

Fields of data.object in payment.reverted
FieldIn this example
id"pay_2pe50hae6w2jk4sp1rcq5pae"
object"payment"
livemodetrue
created"2026-10-11T14:06:41.117Z"
order"ord_0zymngngvf12b8b2cra7tb8e"
instruction"pin_h73hkjr8dyp4zymaet5e2gbv"
status"reverted"
rail"relay"
asset"ethereum:usdc"
network"ethereum"
amount"22.410000"
valueAn object with amount, currency
transaction_hash"0x709b55bd3da0f5a838125bd0ee20c5bfdd7caba173912d4281cae816b79a201b"
from_address"0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB"
to_address"0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359"
confirmations0
confirmations_required12
unmatchedfalse
unmatched_reasonnull
latefalse
ignoredfalse
finalizedtrue
screeningAn object with id, status, checked_at
settlementnull
seen_at"2026-10-11T14:06:41.117Z"
confirmed_at"2026-10-11T14:09:12.300Z"
settled_atnull
reverted_at"2026-10-11T14:12:00.000Z"

What each field means is on the page of the payment object. data.previous_attributes holds the old values of exactly the fields that changed: here status, reverted_at.

Endpoints behind it

Calls that change payments. An event is also sent when a payer, the network, a timer or a person in the dashboard causes the change; the sentence above says which.