Webhook Notification - Transaction Failed

View as Markdown
Example webhook notification sent by SQRIL when a transaction is finalized as failed. **When it is sent:** - After inbound processing marks the transaction failed. - Sent to all active webhook configs whose event filter matches `transaction.failed`. **Payload notes:** - Required fields: `tx_id`, `status` (`FAILED`). - Optional fields: `error_message`, `sender`, `recipient`, and fee fields (if present). - `error_message` describes why the transaction failed. **Headers:** - `Content-Type: application/json` - `User-Agent: SQRIL-Webhook/` - `X-SQRIL-Signature` only when a webhook secret is configured. **Verifying `X-SQRIL-Signature`:** ``` X-SQRIL-Signature = base64(HMAC-SHA256(webhook_secret, exact_raw_request_body)) ``` Use the exact raw HTTP body (do not re-serialize JSON). Encoding is base64, not hex. See the Account Webhook Notifications folder description for a Node.js verification example.

Authentication

AuthorizationBasic

Basic Auth: base64(client_id:client_secret)

Headers

X-SQRIL-SignaturestringOptional

base64(HMAC-SHA256(webhook_secret, exact_raw_request_body)). Included only when webhook secret is configured. Verify against the raw body; do not re-serialize JSON.

Request

This endpoint expects an object.
tx_idstringRequired
statusenumRequired
Allowed values:
error_messagestringOptional
sendermap from strings to anyOptional
recipientmap from strings to anyOptional

Response

OK
receivedbooleanOptional
messagestringOptional