Skip to content
Callback examplejson
{
  "platformOrderNo": "mxpay8q2m4x7c1n9",
  "merchantOrderNo": "MXC202604170001",
  "paymentTradeNo": "mxpayserial202604170001",
  "orderAmount": "12000",
  "orderStatus": "SUCCESS",
  "message": "SUCCESS",
  "completedAt": "2026-04-17 09:25:18",
  "timestamp": "1742207118123",
  "signature": "6f1c2a4e8d9b7c3f5a1e0d4c6b8f2a1c9e7d5b3a1f0c8e6d4b2a9c7e5f3d1b6",
  "payMethod": "SPEI"
}
Responsetext
OK

Notification ​

The system pushes order updates to the merchant's configured callback URL whenever the status changes.

POSTMerchant callback URL

Return HTTP 200 with a plain-text OK body after receiving the callback so the system stops retrying.

Callback Strategy ​

  • The system sends a notification when the order status changes.
  • The merchant must return HTTP 200 with a plain-text OK response body (uppercase, no quotes, no extra JSON wrapper).
  • If the merchant restricts incoming IPs, please inform us in advance.

Signature Verification ​

  • The signature field in the callback is the notification signature and follows the same signing rule as API requests.
  • Sort all non-empty fields in the callback JSON body except signature in a-z order, concatenate them as key=value pairs joined with &, append the merchant secret key, then calculate SHA256 and convert the result to lowercase hexadecimal.
  • Compare the calculated result with signature, and verify that timestamp is within the valid time window. Return a non-OK response if signature verification or business processing fails.

Retry Strategy ​

If a valid acknowledgment is not received (HTTP 200 with response body OK), the system will automatically retry:

  • Maximum Retries: 8 times within 24 hours
  • Retry Intervals: 2s → 5s → 10s → 30s → 1h → 3h → 3h → 3h

Request Method ​

  • POST
  • JSON

Request Parameters ​

platformOrderNostringRequired

Unique platform order number

merchantOrderNostringRequired

Merchant order number

paymentTradeNostringRequired

Platform collection payment serial number for this payment. If the same order is paid multiple times, this value is different for each payment callback

orderAmountstringRequired

Actual payment amount

orderStatusstringRequired

Order status: SUCCESS, PARTIAL SUCCESS, PENDING, FAILED, EXPIRED, CANCELLED, REFUNDED. PARTIAL SUCCESS means partially completed payment where the requested order amount and the actual paid amount are different

messagestringRequired

Status description message

completedAtstringOptional

Transaction completion time (YYYY-MM-DD HH:mm:ss), returned on successful transactions

timestampstringRequired

Millisecond timestamp

signaturestringRequired

Callback signature

payMethodstringOptional

Payment method, such as SPEI