Webhook Notification - Transaction Success

View as Markdown
Example webhook notification sent by SQRIL when a transaction is finalized as success. **When it is sent:** - After inbound webhook processing marks the transaction successful. - Sent to all active webhook configs whose event filter matches `transaction.success`. **Payload notes:** - Required fields: `tx_id`, `status` (`SUCCESS`). - Optional fields: `amount`, `fee`, `percentage_fee`, `fixed_fee`, `sender`, `recipient`. - Fee fields are taken from transaction data and formatted for API/webhook output. - Sender/recipient objects are included only when those details are available on transaction `qr_data`. **Headers:** - `Content-Type: application/json` - `User-Agent: SQRIL-Webhook/<APP_VERSION>` - `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:
amountdoubleOptional
feedoubleOptional
percentage_feedoubleOptional
fixed_feedoubleOptional
sendermap from strings to anyOptional
recipientmap from strings to anyOptional

Response

OK
receivedbooleanOptional
messagestringOptional