Shanghai GoAllPay Technology Co., Ltd.
GoAllPay provides customers with unified API access to help them implement fast, secure and centralized access payment channels.
1.For a POST request message sent to the GoAllPay system, in which all incoming parameters (except signature parameters) according to the field name of ASCII smallest sequence (dictionary), using the format of the URL key/value pair (key1 = value1 & key2 = value2... ) spliced into a string String1.
2.At the end of String1, the signature Key (assigned at GoAllPay upon access) agreed by both parties is spliced directly (no need to connect with "&"), resulting in a stringSignTemp string, and an encryption on stringSignTemp to get the value of signature.
3.Sample signature string: acqID=99020344&backURL=https://testapi.allpayx.com/test&charSet=UTF-8&detailInfo=W3siZ29vZHNfbmFtZSI6IuiLueaenCIsInF1YW50aXR5IjoiMyJ9LHsiZ29vZHNfbmFtZSI6IuapmOWtkCIsInF1YW50aXR5IjoiNyJ9XQ==&frontURL=http://114.80.87.249/cashier/estore/j&goodsInfo=pingguo&merID=600039259442068&merReserve=er&orderAmount=1&orderCurrency=CNY&orderNum=20200601140953&paymentSchema=UP&signType=MD5&tradeFrom=H5&transTime=20200601140953&transType=PURC&version=VER000000005fzxego5kgo248dsv9566fo8wz98f8bqk
Common interface includes notification, asynchronous notification of transactions, transaction inquiry, refund, refund inquiry interface.
1.Interface specification
This interface provides the function of purchase transaction for access merchants.
2.Request message format
It consists of general fields and channel-specific fields. All upload fields must be signed. The consumption interface is divided into a jump type and a parameter return type. The default is a jump type, and the parameter return type will be described in the channel-specific field.
Channel exclusive fields: click to view
General fields:
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PURC" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", US dollar filling in "USD" |
frontURL | String(400) | M | When the payment is complete, jump to the address |
backURL | String(400) | M | Payment results are asynchronously notified to this address |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID:Click Here |
goodsInfo | String(60) | M | Commodity information, displayed on the payment page |
detailInfo | String(400) | M | Product details format: [{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}], which requires base-64 encoding of this field before signing and sending. |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
merReserve | String(1024) | O | Merchant reserved content, can pass any content, such as purchase information, account number, etc., but do not pass special symbols, such as commas. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Jump transformation Purchase interface response message
The merchant needs to provide an HTTP/HTTPS protocol interface that is included in the parameters passed to the SDK, the backURL. After the payment is complete, the GoAllPay server will call the backURL as a POST, informing the payment result (JSON). When merchant receive the notification, the merchant is required to response String "OK".
If we didn't receive "OK" from merchant,GoAllPay will resend the response message to merchant.Time interval is[15, 15, 30, 180, 1800, 3600, 7200, 14400, 14400], the unit is second.
Parameters as follows:
parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PURC" |
orderNum | String(60) | M | Order number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transID | String(32) | M | The unique transaction id generated by the gateway. |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time. |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
merReserve | String(1024) | O | Merchant reserved content, can pass any content, such as purchase information, account number, etc., but do not pass special symbols, such as commas. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
This interface provides the function of inqiury transaction for access merchants.
(1) Interface supplement
(2) Interface transaction process
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "INQY" |
orderNum | String(60) | M | Original payment order number |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID:Click Here |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "INQY" |
orderNum | String(60) | M | Original payment order number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
signType | String(3) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
This interface provides access to merchants with a refund of transactions.
(1) Interface supplement
(2) Interface transaction process
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "REFD" |
orderNum | String(60) | M | Refund order number: it is defined by the merchant, and the refund order number under the same merchant number cannot be repeated |
origOrderNum | String(60) | M | Original trade order number |
returnAmount | String(12) | M | Refund amount: if 100 yuan, it is 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
paymentSchema | String(10) | M | Channel ID:Click Here |
acqID | String(11) | M | "99020344" |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(3) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "REFD" |
orderNum | String(60) | M | Refund order number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
This interface provides the function of refund inqiury transaction for access merchants.
(1) Interface supplement
(2) Interface transaction process
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "RFQY" |
orderNum | String(60) | M | Refund order number |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID:Click Here |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "RFQY" |
orderNum | String(60) | M | Refund order number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
The pre-authorization interface is applicable to foreign card (including VISA, MasterCard, JCB and other card brands) and UnionPay card transactions. Pre-authorized transactions will not participate in liquidation, and the issuing bank will temporarily freeze user funds.
2.Request message format
It consists of general fields and channel-specific fields. All upload fields must be signed.
Channel exclusive fields: click to view
General fields:
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PAUT" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", US dollar filling in "USD" |
frontURL | String(400) | M | When the payment is complete, jump to the address |
backURL | String(400) | M | Payment results are asynchronously notified to this address |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID: Click Here |
goodsInfo | String(60) | M | Commodity information, displayed on the payment page |
detailInfo | String(400) | M | Product details format: [{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}], which requires base-64 encoding of this field before signing and sending. |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
merReserve | String(1024) | O | Merchant reserved content, can pass any content, such as purchase information, account number, etc., but do not pass special symbols, such as commas. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message
The merchant needs to provide an HTTP/HTTPS protocol interface that is included in the parameters passed to the SDK, the backURL. After the payment is complete, the GoAllPay server will call the backURL as a POST, informing the payment result (JSON). When merchant receive the notification, the merchant is required to response String "OK".
If we didn't receive "OK" from merchant,GoAllPay will resend the response message to merchant.Time interval is[15, 15, 30, 180, 1800, 3600, 7200, 14400, 14400], the unit is second.
Parameters as follows:
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PAUT" |
orderNum | String(60) | M | Order number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", US dollar filling in "USD" |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transID | String(32) | M | The unique transaction id generated by the gateway. |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time. |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
merReserve | String(1024) | O | Merchant reserved content, can pass any content, such as purchase information, account number, etc., but do not pass special symbols, such as commas. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
The pre-authorization completion interface is applicable to foreign card (including VISA, MasterCard, JCB and other card brands) and UnionPay card transactions. The pre-authorized transaction is similar to the consumer transaction. After the transaction is successful, the merchant will be cleared of funds.
(1) Interface supplement
(2) Interface transaction process
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PAUC" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
origOrderNum | String(60) | M | Pre-authorized order number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", US dollar filling in "USD" |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID: Click Here |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PAUC" |
orderNum | String(60) | M | Order number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
The revocation interface is applicable to foreign cards (including VISA, MasterCard, JCB and other card brands), UnionPay cards and Alipay Philippines wallet.
(1) Interface supplement
(2) Interface transaction process
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "VOID" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
origOrderNum | String(60) | M | Original transaction order number: The order number to be revoked, which can be consumption, pre-authorization, pre-authorization completed orderNum |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID: Click Here |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "VOID" |
orderNum | String(60) | M | Order number of cancellation |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
To refund the transaction before 90 days, the merchant can't process the online refund interface, but need to call the interface to initiate the refund application. After the application is successful, our business staff will handle it manually. The processing period is about 3 to 5 working days. The refund application transaction will be successfully refunded after manual processing, and the transaction will be liquidated.
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "REFDREQ" |
orderNum | String(60) | M | Refund order number: it is defined by the merchant, and the refund order number under the same merchant number cannot be repeated |
origOrderNum | String(60) | M | Original trade order number |
returnAmount | String(12) | M | Refund amount: if 100 yuan, it is 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
paymentSchema | String(10) | M | Channel ID: Click Here |
acqID | String(11) | M | "99020344" |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(3) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "REFDREQ" |
orderNum | String(60) | M | Refund order number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 means the application has been accepted |
RespMsg | String(20) | M | Response message |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
Provide users with card binding function, suitable for foreign card transactions.
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
transType | String(10) | M | "BIND" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
customerId | String(60) | M | User ID: It is defined by the merchant, and it cannot be repeated under the same merchant number. |
frontURL | String(400) | M | Binding result front-end jump address |
backURL | String(400) | M | After binding successfully, it will be notified to this address asynchronously |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
paymentSchema | String(10) | M | Channel ID: Click Here |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
transType | String(10) | M | "BIND" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
token | String(32) | O | Returned when the response code is 00 |
customerId | String(60) | O | User ID: It is defined by the merchant, and it cannot be repeated under the same merchant number. |
cardNoTail | String(4) | O | The last four digits of the card number, return when the channel is FC |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
Unbound card
2.Request message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
transType | String(10) | M | "UNBIND" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
customerId | String(60) | M | User ID: It is defined by the merchant, and it cannot be repeated under the same merchant number. |
token | String(32) | M | The token returned after the card is successfully bound |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
paymentSchema | String(10) | M | Channel ID: Click Here |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
transType | String(10) | M | "UNBIND" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
transID | String(32) | M | The unique transaction id generated by the gateway. |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
customerId | String(60) | O | User ID: It is defined by the merchant, and it cannot be repeated under the same merchant number. |
cardNoTail | String(4) | O | The last four digits of the card number, return when the channel is FC |
token | String(32) | O | token |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
1.Interface specification
Card-tied consumer payment, debits the user based on the token returned when the card was tied.
2.Request message format
It consists of general fields and channel-specific fields. All upload fields must be signed.
Channel exclusive fields: click to view
General fields:
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PURC" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
backURL | String(400) | M | Payment results are asynchronously notified to this address |
customerId | String(60) | M | User ID: It is defined by the merchant, and it cannot be repeated under the same merchant number. |
token | String(32) | M | The token returned after the card is successfully bound |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID: Click Here |
detailInfo | String(400) | M | Product details format: [{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}], which requires base-64 encoding of this field before signing and sending. |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
merReserve | String(1024) | O | Merchant reserved content, can pass any content, such as purchase information, account number, etc., but do not pass special symbols, such as commas. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
3.Response message format
The merchant needs to provide an HTTP/HTTPS protocol interface that is included in the parameters passed to the SDK, the backURL. After the payment is complete, the GoAllPay server will call the backURL as a POST, informing the payment result (JSON). When merchant receive the notification, the merchant is required to response String "OK".
If we didn't receive "OK" from merchant,GoAllPay will resend the response message to merchant.Time interval is[15, 15, 30, 180, 1800, 3600, 7200, 14400, 14400], the unit is second.
Parameters as follows:
Parameter | Type | Required | Description |
---|---|---|---|
version | String(12) | M | "VER000000005" |
charSet | String(6) | M | "UTF-8" |
transType | String(4) | M | "PURC" |
orderNum | String(60) | M | Order number: it is defined by the merchant itself, and the order number must not be repeated for the same merchant number |
orderAmount | String(12) | M | Order amount: if 100 yuan, it will be 100 or 100.00 |
orderCurrency | String(3) | M | Currency of the order: ISO standard, such as RMB filling in "CNY", us dollar filling in "USD" |
merID | String(15) | M | Merchant ID, assigned by GoAllPay |
acqID | String(11) | M | "99020344" |
paymentSchema | String(10) | M | Channel ID |
RespCode | String(2) | M | 00 stands for success; 01 stands for fail. See Chapter 6 Response Codes in this document for details. |
RespMsg | String(20) | M | Response message |
transID | String(32) | M | The unique transaction id generated by the gateway. |
GWTime | String(14) | M | yyyyMMddHHmmss this should be a GWtime, currently is local transaction time |
transTime | String(14) | M | Transaction time, format :" yyyyMMddHHmmss" |
merReserve | String(1024) | O | Merchant reserved content, can pass any content, such as purchase information, account number, etc., but do not pass special symbols, such as commas. |
signType | String(10) | M | "MD5" or "SHA256" |
signature | String(32) | M | MD5 or SHA256 signature |
RespCode | Description |
---|---|
00 | Success |
01 | Fail |
04 | Processing |
61 | Exceed the limit |
U1 | Merchant ID is not exsit |
U2 | Signature is not correct |
U3 | Message is tampered |
U4 | Missing parameter |
U5 | Invalid parameter |
U6 | Repeat order number |
U7 | Order is not exist |
U8 | Parameter is null |
U9 | System error |
P1 | Channel is not setted |
P2 | Currency is not setted |
P3 | Balance is not enough |
P4 | Function is not supported |
P5 | Channel returns "Error" |
Android Integration Specification:Click Here
iOS Integration Specification:Click Here
If you have problems with debugging, please contact us: support@allpayx.com