Crypto withdrawal failed / cancelled
Emitted when a USDT withdrawal is rejected by an operator or cancelled before broadcast (terminal `CANCELLED`); the reserved amount returns to the merchant balance. `deal_id` carries the withdrawal UUID; no on-chain hash exists on this path.
Emitted when a USDT withdrawal is rejected by an operator or
cancelled before broadcast (terminal CANCELLED); the reserved
amount returns to the merchant balance. deal_id carries the
withdrawal UUID; no on-chain hash exists on this path.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Canonical merchant-facing webhook body sent on lifecycle events.
Signed with the same Stripe-style HMAC-SHA256 algorithm as inbound
requests (header X-Signature).
Response Body
application/json
Example Requests
/p2p.finance.withdrawal_failedCrypto withdrawal completed Webhook
Emitted when a USDT withdrawal reaches terminal `APPROVED` state (on-chain broadcast succeeded and ledger debited).
Payment-method catalog changed (V2-only broadcast) Webhook
Emitted when an administrator creates or updates catalog-visible fields of a payment method (`name`, `status`, `requisite_types`, `is_cross_border`). Broadcast to every ACTIVE V2 merchant of the tenant with a non-empty webhook_url (legacy V1 merchants never receive it — the V1 envelope has no catalog callbackType). No-op updates emit nothing. The envelope is a dedicated catalog shape — deal fields (`amount`, `currency`, `deal_id`) are absent. This is a NOTIFICATION, not a data source: re-read GET /api/v1/p2p/merchant/payment-methods on receipt.