payout.status

Fired on every payout state change. Settle your own ledger row by the ref you supplied on POST /payouts. status is the new payout status; terminal states are paid and returned.

You subscribe to specific event types when your client is provisioned. An event type you are not subscribed to is recorded but never delivered.

Signature. Same scheme as payee.updated: verify x-8x-signature = HMAC-SHA256(signingSecret, "{timestamp}.{rawBody}") before trusting the body. Reject deliveries whose x-8x-timestamp is more than 5 minutes (300s) from now — verifyWebhook enforces this. Delivery is at-least-once — a webhook may arrive more than once, so process by (transactionId, status) idempotently. Return any 2xx to acknowledge.

Header Parameters

x-8x-timestamp*string

Unix time (seconds) at which the gateway signed this webhook delivery.

x-8x-signature*string

Hex HMAC-SHA256(signingSecret, "{x-8x-timestamp}.{rawBody}") over the raw delivery body. Verify it before trusting the payload.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Webhook body for payout.status.

Response Body

Example Requests

POST/payout.status