Whenever an order or payout changes state, SulPayments sends a POST request to the notification_url you provided when creating the resource.
Webhooks may be retried. Your endpoint must be idempotent and respond with 200 OK within 30 seconds.

Request

POST {your notification_url} HTTP/1.1
Content-Type: application/json

Body

id
string
Resource identifier (order or payout).
status
string
New status. See the resource’s reference for possible values.
reason
string
Human readable reason on failure.
reason_code
string
Machine readable code on failure.

Expected response

Reply with 200 OK and any body to acknowledge receipt. Non-2xx responses trigger retries with backoff.
{
  "id": "ord_5f1a3b2c",
  "status": "paid",
  "reason": null,
  "reason_code": null
}
{ "message": "OK" }