Emitted when a USDT withdrawal is rejected by the operator or
cancelled before broadcast (the terminal CANCELLED); the reserved
amount is returned to the merchant balance. deal_id carries the
withdrawal UUID; there is no on-chain hash on this path.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The canonical webhook body for the merchant, sent on lifecycle
events. Signed with the same HMAC-SHA256 scheme as incoming
requests (the X-Signature header).
Response Body
application/json
Example Requests
/p2p.finance.withdrawal_failedCrypto withdrawal completed Webhook Webhook
Emitted when a USDT withdrawal reaches the terminal state `APPROVED` (the on-chain broadcast succeeded, the ledger is debited).
Payment method catalog changed (V2 broadcast only) Webhook Webhook
Emitted when an administrator creates a payment method or updates its catalog-visible fields (`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 wrapper has no catalog callbackType). No-op updates emit nothing. The wrapper is a separate catalog form: the deal fields (`amount`, `currency`, `deal_id`) are absent. This is a NOTIFICATION, not a source of data: on receiving it, re-fetch GET /api/v1/p2p/merchant/payment-methods.