Skip to content

Webhook Callback

When an order is paid or marked as failed, the system sends an HTTP POST request to the callbackUrl provided during order creation.

Delivery and Retry Policy

  • First attempt is sent immediately
  • Automatic retry schedule on failure: 1 minute -> 5 minutes -> 30 minutes -> 2 hours
  • Maximum 4 retries
  • The order is marked as failed if all retries fail
  • Any HTTP 2xx response is treated as successful delivery

Webhook Payload (JSON)

json
{
  "event": "payment.paid",
  "status": "paid",
  "link_token": "81663115hE4b11PVzY",
  "external_order_id": "ORD_20260313_001",
  "asset": "USDT",
  "chain": "Solana",
  "amount_expected": "5",
  "amount_received": "5.000000",
  "tx_hash": "5KtP...abc123",
  "paid_at": "2026-03-13T06:35:20.000Z"
}

Payload Fields

FieldTypeDescription
eventstringEvent type: payment.paid (success) or payment.failed (failure)
statusstringProcessing status: paid or failed
link_tokenstringOrder access token
external_order_idstringMerchant order ID
assetstringPayment asset
chainstringBlockchain network
amount_expectedstringExpected payment amount
amount_receivedstringActual received amount
tx_hashstringOn-chain transaction hash
paid_atstringPayment/processing time in ISO 8601 format
messagestringFailure reason. Present only for payment.failed