Endpoint#
POST
https://YOUR_GATEWAY_HOST/Pay_Index.htmlapplication/x-www-form-urlencoded
Parameters#
| Parameter | Meaning | Signed | Required | Description |
|---|---|---|---|---|
pay_memberid | Merchant ID | Yes | Yes | Assigned merchant ID |
pay_orderid | Merchant order ID | Yes | Yes | Must be unique |
pay_applydate | Request time | Yes | Yes | Format: YYYY-MM-DD HH:mm:ss |
pay_bankcode | Channel code | Yes | Yes | Use the channel code assigned to your merchant account |
pay_notifyurl | Webhook URL | Yes | Yes | Valid callback URL; may include query parameters. Notification is sent by POST. |
pay_callbackurl | Return URL | Yes | Yes | Valid callback URL; may include query parameters. Notification is sent by POST. |
pay_amount | Order amount | Yes | Yes | |
pay_md5sign | MD5 signature | No | Yes | See signing and verification |
pay_attach | Additional data | No | No | Returned without modification |
pay_productname | Product name | No | No | Product name |
pay_productnum | Product quantity | No | No | Product quantity |
pay_productdesc | Product description | No | No | Product description |
pay_producturl | Merchant URL | No | No | Merchant URL |
type | Response format | No | No | Omit for HTML; type=json is channel-dependent |
Examples#
cURL · replace placeholders before use
curl --request POST 'https://YOUR_GATEWAY_HOST/Pay_Index.html' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'pay_memberid=10000' \
--data-urlencode 'pay_orderid=DEMO_COLLECT_001' \
--data-urlencode 'pay_amount=100.00' \
--data-urlencode 'pay_applydate=2026-10-11 12:00:00' \
--data-urlencode 'pay_bankcode=YOUR_CHANNEL_CODE' \
--data-urlencode 'pay_notifyurl=https://merchant.example/notify' \
--data-urlencode 'pay_callbackurl=https://merchant.example/return' \
--data-urlencode 'pay_md5sign=CALCULATE_WITH_YOUR_APIKEY' \
--data-urlencode 'type=json'Request fields · submit as form
{
"pay_memberid": "10000",
"pay_orderid": "DEMO_COLLECT_001",
"pay_amount": "100.00",
"pay_applydate": "2026-10-11 12:00:00",
"pay_bankcode": "YOUR_CHANNEL_CODE",
"pay_notifyurl": "https://merchant.example/notify",
"pay_callbackurl": "https://merchant.example/return",
"pay_md5sign": "CALCULATE_WITH_YOUR_APIKEY",
"type": "json"
}Response example
{
"status": "1",
"msg": "下单成功",
"pay_amount": "100.00",
"pay_orderid": "DEMO_PLATFORM_COLLECT",
"payUrl": "https://cashier.example/pay/DEMO"
}Response example
{
"status": "error",
"msg": "下单失败",
"content": "Reason for error"
}Signing & result handling#
Compute the signature over the operation-specific field set, not every example field.
Open signing guide