Unified Order API

Overview

Merchants send request parameters to PayEase and receive payment details synchronously. Use these details to initiate the respective payment method and receive asynchronous notifications upon final order status.

Endpoint URL

https://apis.5upay.com/onlinePay/order

Parameter Name Type& Length Description Requirement
merchantId varchar(9) Unique ID assigned by PayEase, available in merchant portal. M
orderAmount varchar(18) Unit: cents (1 RMB = 100 cents) M
orderCurrency varchar(15) Default: CNY M
requestId varchar(50) Unique merchant-generated order ID. Cannot reuse if already paid or canceled. M
partnerId varchar(9) Unique ID for service providers, available in merchant portal C
notifyUrl varchar(200) PayEase sends order final status notifications to this server URL. E.g.http://www.5upay.com/callback.action M
callbackUrl varchar(200) User redirected here after successful payment, returns merchantId and requestId.
Returned callbackUrl sample:
https://demo.5upay.com/sdk/callback?requestId=1446633831896&merchantId=890000593
M
productDetails Json(Array) Details of the products being paid for. See table below. M
payer Json This field is optional but must not be omitted entirely. It should follow this format: "payer": {"idType": "IDCARD"}. See table below for details. M
cashierVersion varchar(100) STANDARD – Standard version (no identity or trade information required) C
DECLARE – Declaration version (identity and trade information required)
forUse varchar(50) GOODSTRADE – Goods trade C
PLANETICKET – Airfare
HOTELACCOMMODATION – Hotel accommodation
STUDYABROAD – Overseas study
TRAVEL – Travel
LOGISTICS – Logistics
OTHER – Other
splitMark Fixed Value DO_SPLIT – Enable split settlement C
NOT_DO_SPLIT – No split (default if not provided)
clientIp varchar(100) Public IP address of the client (merchant must collect user's IP) C
paymentModeCode varchar(50) >Required in non-cashier mode. Refer to payment method codes. C
openId varchar(100) User’s WeChat openId or Alipay buyer_id. Required for official accounts, WeChat Mini Programs, or Alipay Lifestyle accounts with direct connection./td> C
reportTerminalNo varchar(8) Mandatory for barcode (code-scanning) payments. C
payMerchantId varchar(9) Payer Merchant ID. Required when paying via corporate account. C
serialNumber varchar(50) Remittance reference number. Mandatory when using "Exclusive Account Remittance - Pro Version" as the payment method. C
appId varchar(100) Merchant’s own appId. O
needOpenLink varchar(1) 1 – Return openLink O
0 – Do not return openLink
Default: Do not return openLink
remark varchar(300) Merchant remarks. Will be returned in the payment result. M
Mandatory when cashierVersion is DECLARE.
For DECLARE version, trade background info must follow the format below:
Goods Trade: Product Name, Quantity, Logistics Tracking Number, Courier Name, Customs Involved (Yes/No), Invoice Number, Contract Number;
Example: XXX,1,768883888883,XX Courier,No,3333,4444
Hotel: Hotel Name, Address, Guest Name, Check-in Date, Check-out Date, Room Type;
Example: XXX, XX Street, Zhang San, 2025-07-01, 2025-07-03, XX Room
Other: Product Name, Product Type, Invoice Number, Contract Number;
Example: XXX Game Card, Game, 3333, 4444
authCode varchar(50) Authorization code from wallet, such as WeChat/Alipay payment code. O
timeout Int(4) Timeout duration for the order (in minutes, max 24 hours). For example, value “10” means the order will expire in 10 minutes. Set according to your business scenario. O
merchantUserId varchar(30) Used for card binding in quick payments. This ID must be unique per user under the merchant. Required to allow returning users to reuse previously bound cards. O
reportSerialNo varchar(50) Registration serial number (please consult your business account manager). O
subOrders JSON (Array) List of sub-orders. See sub-order table for details. O
projectId varchar(50) Merchant-defined project ID used to distinguish between different business types. O
limitAccType varchar(200) Restricted account types. Multiple values should be separated by a comma (,). See table below for available types. O
subsidyMark Fixed Value DO_SUBSIDY – Subsidy applied O
NOT_DO_SUBSIDY – No subsidy
Default: No subsidy
subsidyAmount decimal(18) Subsidy amount in cents (1 RMB = 100 cents). O
isBackUsersSign Fixed Value 1 – Return user identifier O
0 – Do not return user identifier
Empty value defaults to not returning
This parameter specifies whether the user's identifier should be returned after a successful transaction. Applies only to WeChat, Alipay, and Webox Pay.
languageType Fixed Value ZH – Chinese O
EN – English
Effective for cashier-based transactions only. If not provided, the language will follow the user's browser settings.
weboxParams JSON Required for Webox Pay with facial recognition. See Webox parameter table. O
instalmentParams JSON Required for installment payments. See installment parameter table. O
subsidyDetail JSON (Array) Used in marketing subsidy scenarios to specify subsidy contributors. If not provided, the default contributor will be used. Up to 5 entries allowed. O
bindCardId varchar(50) Card binding ID. Currently not in use. O
hmac varchar(500) Signature of the request generated by the merchant. Refer to the encryption guide for how to generate the HMAC. M

Note: All the above parameter values must not contain the following special characters: ' " & < > ( ) space

Request Parameter – productDetails

Parameter Type& Length Description Required/th>
name varchar(500) Product name. Must reflect the actual product being sold. M
quantity long Product quantity. M
amount long Unit price in cents (1 RMB = 100 cents). Represents the price of a single item. M
receiver varchar(200) Receiver name. If not provided, the registered name will be used by default. O
description varchar(500) Product description. O

Request Parameter - payer

Parameter Type& Length Description Required/th>
name varchar(100) Payer's full name. Required in DECLARE mode. Must be provided together with ID type and ID number when payer restriction applies. C
phoneNum varchar(50) Mobile number. Required in DECLARE mode. C
idType varchar(20) ID type (e.g., IDCARD). Required in DECLARE mode. Must be provided with name and ID number when payer restriction applies. C
idNum varchar(100) 18-digit ID number only. Required in DECLARE mode. Must be provided with name and ID type when payer restriction applies. C
bankCardNum varchar(100) Bank card number. Required in DECLARE mode. May be used for UnionPay WAP payment passthrough. Must be provided when using bank card payment. C
email varchar(50) Email address. O

Request Parameters - subOrders

Parameter Type& Length Description Required/th>
requestId varchar(100) Sub-order ID. O
orderAmount varchar(100) Sub-order amount in cents (1 RMB = 100 cents). O

Request Parameters - limitAccType

limitAccType Enum Value Description Applicable Scenario Value Requirements
ALIPAY_HB_FQ_NUM_3 Alipay Huabei Installments – 3 months Alipay Huabei installment payments Only one of these can be used
Can be combined with non-Huabei values, separated by commas (,)
Example: ALIPAY_HB_FQ_NUM_3,ONLY_BANKCARD_PAY
ALIPAY_HB_FQ_NUM_6 Alipay Huabei Installments – 6 months Alipay Huabei installment payments
ALIPAY_HB_FQ_NUM_12 Alipay Huabei Installments – 12 months Alipay Huabei installment payments
DISABLE_CREDIT_CARD Disallow credit card payments Webox Pay, Gateway payments Only one of these can be used
Can be combined with Huabei installment values, separated by commas (,)
Example as above
ONLY_BANKCARD_PAY Allow only bank card payments Online payments, Webox Pay
ONLY_DEBIT_CARD Allow only debit card payments Online payments, Webox Pay

Request Parameters - weboxParams

Parameter Type& Length Description Required/th>
payAuthType Fixed Value FORCE_FACE_SCAN – Facial authentication required for Webox payments. O
Mandatory face authentication when using Webox Pay.

Request Parameters – instalmentParams

Parameter Type& Length Description Required/th>
interestType Fixed Value USER_INTEREST – Interest paid by the user C
MERCHANT_INTEREST – Interest subsidized by the merchant
Defaults to USER_INTEREST for non-direct integrations. Required for direct integrations.
suppBankCodes varchar(1024) Comma-separated list of supported bank codes. See attached "Bank Code List" for reference. O
limitNum varchar(50) Comma-separated list of allowed installment periods. Example: 3,6,9,12 O
storeNo varchar(100) Store number used to identify the merchant’s store. O
storeName varchar(15) Store name. Must be provided together with storeNo. O

Request Parameters (subsidyDetail – Subsidy Breakdown)

Parameter Type & Length Description Required
subsidyMerchantId varchar(30) Merchant ID of the subsidy provider. O
subsidyDetailAmount varchar(18) Subsidy amount in cents (1 RMB = 100 cents). O

Request Sample

{ "callbackUrl": "https://**.***.com/**/***", "clientIp": "10.101.10.10", "hmac": null, "merchantId": "890000593", "notifyUrl": "https://**.***.com/**/***", "orderAmount": "1", "orderCurrency": "CNY", "payer": { "bankCardNum": "6222**********5702", "email": "****@**.com", "idNum": "*****", "idType": "IDCARD", "name": "付款人姓名", "phoneNum": "******" }, "paymentModeCode": "BANK_CARD-B2C-ICBC-P2P", "productDetails": [{ "amount": "20000", "description": "黑色64G", "name": "IPHONE6", "quantity": "100", "receiver": "张三" }], "remark": "备注", "requestId": "1488794408626", "timeout": "10" }

Synchronous Response Parameters

Name Description
merchantId Same as request parameter.
requestId Same as request parameter.
partnerId Same as request parameter.
status Request Statu
SUCCESS – Request successfully received.
FAILED – Request failed.
ERROR – System error (see error response section for details).
REDIRECT – Redirection required.
realBankRequestNumber Bank Order Number. Unique transaction ID assigned by the bank.
payeeInfo Returned only when status = SUCCESS and the payment method is offline bank transfer. See payeeInfo table for details.
redirectUrl Required when status = REDIRECT. Specifies the URL to which the user should be redirected.
walletId Webox wallet ID. Returned only when using Webox QR code payment.
scanCode Returned when status = SUCCESS. A Base64-encoded QR code used in direct QR payments. Merchants must convert this to an image for display.
scanCodeUrl Returned when status = SUCCESS. Direct QR scan payment URL.
appParams Returned when status = SUCCESS and payment is initiated via App. Used to invoke the mobile SDK.
jsString WeChat Payment Signature Data. Returned after successful WeChat pre-order. Contains a JSON object required for invoking WeChat payment via JavaScript.
wechatId WeChat Original App ID. Returned when status = REDIRECT and the payment is initiated through WeChat Mini Program (non-direct). Used to launch the Mini Program from the original WeChat app. Note: Returned only for channel-based Mini Program payments. No appId needed in the request.
tradeNo Alipay Transaction ID. Returned when status = SUCCESS after a successful Alipay pre-order in Mini Program or Lifestyle Account. Required to invoke Alipay payment.
token >Webox Payment Token. 当status为SUCCESS,Returned when status = SUCCESS for Webox Pay, Webox QR Pay, or Webox Official Account Pay. This token is used to invoke payment through the Webox SDK or service account on iOS/Android. Refer to integration guide for usage and result callbacks.
openLink WeChat Mini Program openLink. Returned when status = REDIRECT and needOpenLink = 1 in WeChat Mini Program non-direct payments. Used in browser via location.href = openLink to trigger Mini Program. Only available for channel-based payments. No appId required in request.
payMerchantId Payer merchant ID. Returned when payment is made via enterprise account.
hmac HMAC signature generated by PayEase. Refer to the decryption/signature verification guide for details.

payeeInfo – Payee Information

Name Description
accountNumber Bank account number of the payee.
bankUnionNumber Bank union number
branchBank Name of the account-opening bank branch.
payee Full name of the payee.
postscriptNumber Remarks for remittance.
Note: This parameter is not returned when using Dedicated Account Transfer.
remittancesAddress Receiving address of the remittance.

Sample

{ "redirectUrl": "https://***.*****.com/****/**", "merchantId": "890000593", "requestId": "1**********8", "hmac": "null", "status": "REDIRECT" }

Asynchronous Notification Parameters

1. For non-split orders, one asynchronous notification is sent after payment is completed, which may not include the service fee amount. A second notification is sent after billing is successful, including the service fee.

          2. For split orders, one asynchronous notification is sent after payment is completed, which may not include the splitable amount and service fee. A second notification is sent after billing is completed, including the splitable amount and service fee. Each notification must be handled according to the asynchronous response handling guidelines. Be sure to return the appropriate HTTP response.

Name Description
merchantId Same as request parameter.
requestId Same as request parameter.
partnerId Same as request parameter.
serialNumber >Unique transaction ID assigned by the platform.
totalRefundCount Total number of refund transactions for this order.
totalRefundAmount Total refunded amount for this order.
orderCurrency Default: CNY (Chinese Yuan)
Total refunded amount for this order.
orderAmount Order Amount
In cents. 1 RMB = 100 cents.
status Order Status
SUCCESS – Payment completed successfully
CANCEL – Order cancelled
FAILED – Payment failed
completeDateTime Date and time when the payment was completed.
clearingOrg NUCC – NetsUnion Clearing Corporation
UNION_PAY China UnionPay
paymentModeAlias Payment Method
B2C Personal Online Banking
B2B – Corporate Online Banking
UNION_SCANCODE_PAY – UnionPay QR Code Payment
EXPRESS_PAY – Express Payment
CREDIT_EXPRESS_PAY – Credit Card Express Payment
DEBIT_EXPRESS_PAY – Debit Card Express Payment
ALI_SCANCODE_PAY – Alipay QR Code Payment
ALIPAY_OFFICIAL_PAY – Alipay Official Account Payment
WEIXIN_SCANCODE_PAY – WeChat QR Code Payment
WEIXIN_OFFICIAL_PAY – WeChat Official Account Payment
MINIAPPS_WEIXIN_PAY – WeChat Mini Program Payment
APPLE_PAY – Apple Pay
ALIPAY_WAP_PAY – Alipay WAP Payment
APP_ALIPAY – Alipay App Payment
ALIPAY_B2C_PAY – Alipay B2C Payment
MINIAPPS_ALI_PAY – Alipay Mini Program Payment
SCANCODE-EQRCODE_PAY-ALI – E-QR Alipay
SCANCODE-EQRCODE_PAY-WEIXIN – E-QR WeChat
SCANCODE-EQRCODE_PAY-WEBOX – E-QR Webox
SCANCODE-EQRCODE_PAY-UNION – E-QR UnionPay
AGREEMENT_PAY – Agreement-Based Payment
WAP – UnionPay WAP Payment
APP_UNION – UnionPay App Payment
WEBOX_APP – Webox App Payment
WEBOX_CSP – Webox QR Code Payment
WEBOX_SVC – Webox Official Account Payment
APP_WEIXIN – WeChat App Payment
MERCHANT_ACCOUNT_PAY – Enterprise Account Payment
realBankSerialNumber Bank transaction serial number.
realBankRequestNumber Order ID assigned by the bank.
bindCardId >User’s bound card ID.
orderSplitAmount Total amount eligible for split for this order (in cents).
If billing type is "real-time":
    splitableAmount = orderAmount - merchantFee
Otherwise:
    splitableAmount = orderAmount
canSplitAmount Remaining Splitable Amount. Remaining amount eligible for split (in cents).
canSplitAmount = orderSplitAmount - settledSplitAmount - pendingRefundCollection
payMerchantId Payer Merchant ID. Returned when payment is made via enterprise account.
errorMessage Error Message
remark Remark submitted by the merchant during order creation.
cardType DEBIT_CARD – Debit Card
CREDIT_CARD – Credit Card
Indicates the card type actually used by the user.
Returned only if the payment channel supports it.
usersSign User Identifier.
Returned if isBackUsersSign was set in the request and the payment succeeded.
Applicable only to WeChat, Alipay, and Webox payments.
finalPaymentType Final Payment Type
BANK_CARD - Bank Card
BALANCE – Balance
Indicates the actual payment type used by the user.
Returned only if enabled via merchant configuration.
payerNameMd5 MD5 hash of the payer's name.
Returned only if supported by the payment channel and enabled via merchant configuration.
bankCardNumberMd5 MD5 hash of the actual bank card number used by the user.
Returned only when the payment type is bank card, the acquiring merchant has enabled this feature, and the payment channel supports it.
bankCardNumber Masked format of the actual bank card number used by the user.
Returned only when the payment type is bank card, the acquiring merchant has enabled this feature, and the payment channel supports it.
bankCode Code of the bank associated with the actual bank card used for the payment.
Returned only when the payment type is bank card, the acquiring merchant has enabled this feature, and the payment channel supports it.
feeAmount The service fee charged by PayEase for this transaction, in cents (1 RMB = 100 cents). Returned after successful transaction.
feeBear Indicates who bears the service fee for the transaction. Returned after successful transaction.
MERCHANT – Borne by the merchant
PARTNER – Borne by the service provider
deliveryStatus Delivery Status
Applicable only when paymentModeAlias = MINIAPPS_WEIXIN_PAY. Can be ignored for all other payment methods.
CANCELED – Delivery canceled (typically after payment failure)
PENDING – Pending delivery confirmation (payment successful and delivery required)
DELIVERED – Delivered successfully (after confirmation of delivery)
NOREQUIRED – Delivery not required (payment successful, delivery not applicable)
When WeChat Mini Program triggers delivery management, refer to the official WeChat documentation: Order Delivery Management Integration Guide
Delivery Feature Overview and Integration Plan
deliveryDateTime Delivery Timestamp
Format:yyyy-mm-dd hh:mm:ss
Returned only if deliveryStatus = DELIVERED.
hmac Signature generated by PayEase. Refer to the decryption and verification guide for signature validation process.

Note: When processing response messages returned by PayEase, merchants should implement forward compatibility for potential future fields. This ensures that the system does not encounter errors or parsing issues due to newly added fields in future responses.

Sample

{ "bankCardNumber": "623058***6188", "bankCardNumberMd5": "d53bb12384640f96af54655115d2f114", "bankCode": "PINGANBANK", "cacheId": "a1076ae5b64567f68d31d45962d781b5", "cardType": "DEBIT_CARD", "clearingOrg": "UNION_PAY", "completeDateTime": "2023-12-29 11:13:01", "finalPaymentType": "BANK_CARD", "merchantId": "89****593", "orderAmount": "100", "feeAmount": "1", "orderCurrency": "CNY", "usersSign": "bc306ae84da567f68d31d4596537885d", "payerNameMd5": "ffe57baabbe47aed7394004c790ef5da", "paymentModeAlias": "SCANCODE-EQRCODE_PAY-WEBOX", "realBankRequestNumber": "122766625976234N", "requestId": "170381***8406", "serialNumber": "a1078584b6cb40f68d31d45962d781b5", "status": "SUCCESS", "totalRefundAmount": "0", "totalRefundCount": "0" }