Union Pay API
Endpoints
Live POST
https://pay.onlinepay.ai/payment
Sandbox POST
https://testpay.onlinepay.ai/payment
note
OnlinePay will obtain the HTTP Header referer to verify the website source. The website source must be configured by OnlinePay to be verified. If you do not access the interface through a browser, you need to actively add a referer.
Request Parameters
Header Params
Parameter | Type | Required | Description |
---|---|---|---|
paymentType | string | Yes | Fixed value: UNIONPAY |
Basic Information
Parameter | Type | Required | Description |
---|---|---|---|
merNo | integer | Yes | Merchant Number, Unique identifier assigned to the merchant by the onlinepay payment platform when registering with onlinepay |
merOrderNo | string | Yes | Merchant Order Number, Each order must be unique, and each merchant order number can only be submitted once within 1 second |
currencyCode | string | Yes | Please refer to Currency Code |
sourceAmount | string | Yes | Total amount of the order, keep two decimals |
returnUrl | string | Yes | Jump address after payment is completed (max 512 characters) |
notifyUrl | string | No | Asynchronous notification address to notify the merchant of the final payment result (max 512 characters) |
sign | string | Yes | Signature, MD5(merNo+merOrderNo+currencyCode+sourceAmount+PrivateKey) or RSA |
Additional Information
Parameter | Type | Required | Description |
---|---|---|---|
ipAddress | string | Yes | Cardholder IP address (max 64 characters) |
version | string | Yes | V3.0.0 |
userId | string | Yes | Payment user ID |
string | Yes | Payment user Email(max 100 characters) |
Example Request
{
"merNo": 111111,
"merOrderNo": "222222",
"currencyCode": "USD",
"sourceAmount": "100.05",
"returnUrl": "https://example.com",
"notifyUrl": "https://example.com/notify",
"sign": "906FDF4880B00B00281F2AB61AE9A721",
"ipAddress": "192.168.1.1",
"version": "V3.0.0",
"userId": "111",
"email": "[email protected]"
}
Responses Body
Parameter | Type | Required | Description |
---|---|---|---|
code | string | Yes | If the value is 00000, it will return success, other please refer to Error Code |
message | string | Yes | Interface returns description |
data | object | Yes** | Request response data |
-tradeNo | string | Yes | The flow number generated after each order payment (unique marker) |
-payCode | string | Yes | Payment status code(Where: 1 means payment failure, 0 means payment success, 2 means pending) |
-payUrl | string | Yes** | If the paycode is 2, redirect to this address |
-merOrderNo | string | Yes | Corresponds to the [OrderNo] parameter of the order submission parameter |
Example Responses
{
"code":"00000",
"message":"SUCCESS",
"data":{
"payCode":0,
"tradeNo":"3333333",
"merorderNo":"222222",
"payUrl":"https://abc.com/"
}
}