Skip to main content
WEBHOOK
event_notification
{
  "id": "9f1c8e2a-3b4d-4e5f-8a9b-0c1d2e3f4a5b",
  "event": "decision.review",
  "decision_id": "1f2e3d4c-5b6a-4978-8c0d-1e2f3a4b5c6d",
  "occurred_at": "2026-06-02T12:00:00Z"
}

Headers

x-hmac-signature
string

HMAC-SHA256 signature of the raw request body, computed with the webhook's hmac_key. Verify it to authenticate the delivery.

Body

application/json

Body delivered to your registered URL when a subscribed event occurs.

id
string<uuid>
required

Unique identifier for this event.

event
enum<string>
required

The decision event that triggered the notification. decision.async.* variants are emitted when an asynchronous (backend) evaluation completes after a PROVISIONAL response.

Available options:
decision.allow,
decision.block,
decision.review,
decision.provisional,
decision.async.allow,
decision.async.block,
decision.async.review
decision_id
string<uuid>
required

The decision this event relates to.

occurred_at
string<date-time>
required

ISO 8601 timestamp when the event occurred.

payment_state
enum<string> | null

Payment lifecycle state at the time of the event. Present only for asynchronous decision events (decision.async.*).

Available options:
authorized,
captured,
voided,
fraud_reported,
chargedback,
failed

Response

Acknowledged. The delivery is marked successful.