AllPay_Integration_Specification_EN.md 42 KB

GoAllPay Integration Specification V5.0.0

Shanghai GoAllPay Technology Co., Ltd.

  • Version:English V5.0.0
  • Update Time:2020/06

1.Overview

GoAllPay provides customers with unified API access to help them implement fast, secure and centralized access payment channels.

2.Transaction process

image

3.Description of verifying the signature

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

4.Common interface

Common interface includes notification, asynchronous notification of transactions, transaction inquiry, refund, refund inquiry interface.

4.1 General API access address

Interface Name Test URL Production URL
Purchase https://testapi.allpayx.com/api/unifiedorder https://api.allpayx.com/api/unifiedorder
Inquiry https://testapi.allpayx.com/api/orderquery https://api.allpayx.com/api/orderquery
Refund https://testapi.allpayx.com/api/refund https://api.allpayx.com/api/refund
Refund inquiry https://testapi.allpayx.com/api/refundquery https://api.allpayx.com/api/refundquery
Pre-authorization https://testapi.allpayx.com/api/unifiedorder https://api.allpayx.com/api/unifiedorder
Pre-authorization completed https://testapi.allpayx.com/api/pauc https://api.allpayx.com/api/pauc
Cancellation https://testapi.allpayx.com/api/canc https://api.allpayx.com/api/canc
Manual refund application https://testapi.allpayx.com/api/refdreq https://api.allpayx.com/api/refdreq
Card binding https://testapi.allpayx.com/api/bindCard https://api.allpayx.com/api/bindCard
Card unbundling https://testapi.allpayx.com/api/unBindCard https://api.allpayx.com/api/unBindCard
Card payment https://testapi.allpayx.com/api/bindPay https://api.allpayx.com/api/bindPay

4.2 Purchase 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

4.3 Inqiury interface

1.Interface specification

This interface provides the function of inqiury transaction for access merchants.

(1) Interface supplement

  • After the merchant initiates the consumer transaction, the status of the consumer transaction can be queried through the interface.

(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

4.4 Refund interface

1.Interface specification

This interface provides access to merchants with a refund of transactions.

(1) Interface supplement

  • The interface is initiated after the consumer transaction is successful, and the original order number is required to be specified.
  • International credit card transactions cannot be refunded on the same day, can be revoked, and can only be refunded every other day.
  • Under normal circumstances, the refund amount of the merchant on the day shall not be greater than the successful transaction amount on the day.

(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

4.5 Refund Inqiury interface

1.Interface specification

This interface provides the function of refund inqiury transaction for access merchants.

(1) Interface supplement

  • This interface is used by the merchant to check the processing status of the refund transaction after the refund is initiated.

(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

4.6 Pre-authorization interface

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

4.7 Pre-authorization completion interface

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

  • The interface is initiated after the pre-authorization transaction is successful, and the original pre-authorization order number is required to be specified, and the time is separated by no more than 30 days.
  • The pre-authorization completion transaction amount cannot be greater than the pre-authorized transaction amount.
  • Pre-authorized transactions that only support one successful pre-authorization completion transaction.

(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

4.8 Cancellation interface

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

  • This interface supports external card consumption, pre-authorization, and pre-authorization to complete transactions, UnionPay pre-authorization transactions, and Alipay Filipino wallet consumer transaction cancellation.
  • When withdrawing consumption, you can only support the cancellation of the day's trading (note: after 23:00 Beijing time, it is considered the next day). For non-day trading, it can be processed through the refund interface.

(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

4.9 Manual refund application interface

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

4.10 Card binding interface

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

4.11 Card unbundling interface

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

4.12 Card payment interface

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

5.RespCode

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"

6.APP mode integration specification

Android Integration Specification:Click Here

iOS Integration Specification:Click Here

7.Technical support

If you have problems with debugging, please contact us: support@allpayx.com