Skip to content

Webhook Notifications

Collect Order Callback

After a collect order reaches a result, the system sends a callback to the submitted callback_url.

  • Method: POST
  • Body: JSON

Fields

FieldTypeDescription
idstringPlatform order ID
trans_idstringMerchant order ID
mch_idintegerMerchant ID
order_amountstringOriginal order amount
payed_amountstringActual paid amount
channelstringChannel code
statusnumberCurrent order status, usually 60 for success
created_atstringCreation time
payed_atstring | nullPayment time, may be null if not successful
signstringMD5 signature

Example

json
{
  "id": "C202605040001",
  "trans_id": "ORDER-10001",
  "mch_id": 10001,
  "order_amount": "100.00",
  "payed_amount": "100.00",
  "channel": "bank",
  "status": 60,
  "created_at": "2026-05-04 10:05:00",
  "payed_at": "2026-05-04 10:06:10",
  "sign": "0c8d5a7bb4d9d0c1f4f8f5b0b749b8ad"
}

Requirements

  • Return plain text success after processing
  • Callback timeout is 5 seconds
  • If the first attempt fails, the system retries once after 60 seconds
  • Callbacks can be repeated; handle them idempotently by trans_id or id
  • Always verify sign
  • Always compare payed_amount, not only order_amount

Payout Order Callback

After a payout order reaches its final result, the system sends a callback to callback_url.

  • Method: POST
  • Body: JSON

Fields

FieldTypeDescription
idstringPlatform order ID
trans_idstringMerchant order ID
mch_idintegerMerchant ID
order_amountstringOrder amount
statusnumberExternal status. 50 means canceled, 60 means success
created_atstringCreation time
payed_atstringPresent on success
canceled_atstringPresent on cancellation
signstringMD5 signature

Success Example

json
{
  "id": "P202605040001",
  "trans_id": "WDL-10001",
  "mch_id": 10001,
  "order_amount": "100.00",
  "status": 60,
  "created_at": "2026-05-04 10:10:00",
  "payed_at": "2026-05-04 10:15:00",
  "sign": "6a8ad87c66164acb509b4a1fe2f832f4"
}

Canceled Example

json
{
  "id": "P202605040002",
  "trans_id": "WDL-10002",
  "mch_id": 10001,
  "order_amount": "100.00",
  "status": 50,
  "created_at": "2026-05-04 10:20:00",
  "canceled_at": "2026-05-04 10:23:00",
  "sign": "fc5c1bc2217f09027d7a83a1f7e1d6d7"
}

Requirements

  • Return plain text success
  • Callback timeout is 5 seconds
  • If the first attempt fails, the system retries once after 60 seconds
  • Callbacks can be repeated; keep your handler idempotent
  • Always verify sign

Released under the MIT License.