# GoAllPay Integration Specification V5.0.0 [Shanghai GoAllPay Technology Co., Ltd.](https://www.goallpayx.com) * Version:English V5.0.0 * Update Time:2019/04 ## 1.Overview GoAllPay provides customers with unified API access to help them implement fast, secure and centralized access payment channels. ## 2.Transaction process ![image](https://git.allpayx.com/OpenAPI/b2c/raw/master/images/pc_flowsheet.png) ## 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://www.allpayx.com&charSet=UTF-8&detailInfo=W3siZ29vZHNfbmFtZSI6IuiLueaenCIsInF1YW50aXR5IjoiMyJ9LHsiZ29vZHNfbmFtZSI6IuapmOWtkCIsInF1YW50aXR5IjoiNyJ9XQ==&frontURL=https://www.baidu.com&goodsInfo=apple&merID=000000000000015&merReserve=iPhone&orderAmount=0.01&orderCurrency=USD&orderNum=20190104022800&paymentSchema=AP&signType=MD5&transTime=20190104022800&transType=PURC&version=VER0000000052f2c77e3718c47cfb47a89a6fbc9d361 ``` ## 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 This field is a list of common fields, sending, every channel needs some channel channel exclusive field, specific fields please go to the channel's exclusive canal to the fields that view. Consumer interface is divided into jump transformation and parameters return type, default to jump transformation, parameters return type will be explained in chapter 5 channels (exclusive) inside. | 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](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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:[Click Here](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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
![](https://allpayfile-hd2.oss-cn-shanghai.aliyuncs.com/git/b2c/15665470156706.jpg)
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](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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:[Click Here](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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
![](https://allpayfile-hd2.oss-cn-shanghai.aliyuncs.com/git/b2c/15665469966231.jpg)
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](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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:[Click Here](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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
![](https://allpayfile-hd2.oss-cn-shanghai.aliyuncs.com/git/b2c/15665470092257.jpg)
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](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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:[Click Here](https://git.allpayx.com/OpenAPI/common/src/master/paymentSchema.md) | | 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 suitable for international credit card transactions, including VISA, MasterCard, JCB and other card brands. Pre-authorized transactions will not participate in liquidation, and the issuing bank will temporarily freeze user funds. 2.Request message format The fields listed below are common fields, and each channel needs to be sent. Some channels have exclusive fields. For details, please refer to Chapter 5, Channel-Specific Configuration. | 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: "FC" | | 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: "FC" | | 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 international credit card transactions, including VISA, MasterCard, JCB and other card brands. The pre-authorization completion transaction is similar to the consumer transaction. After the transaction is successful, the merchant will be liquidated. (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
![](https://allpayfile-hd2.oss-cn-shanghai.aliyuncs.com/git/b2c/15665464464405.jpg)
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: "FC" | | 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: "FC" | | 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 cancellation interface is suitable for international credit card transactions, including VISA, MasterCard, JCB and other card brands. (1) Interface supplement * This interface supports the cancellation of international credit card transactions, including consumption, pre-authorization, and pre-authorization completion. * 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
![](https://allpayfile-hd2.oss-cn-shanghai.aliyuncs.com/git/b2c/15665464582903.jpg)
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: "FC" | | 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: "FC" | | 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: "FC" | | 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: "FC" | | 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 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: "FC" | | 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: "FC" | | 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: "FC" | | 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: "FC" | | 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 | 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: "FC" | | 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 | 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: "FC" | | 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.Channel exclusive allocation ### 5.1 WX #### 5.1.1 QR code no jump mode This mode returns the URL value of WeChat payment collection for parameter return, ask the merchant to convert it into QR code, generate the front interface of payment, and prompt the user to scan the code to pay. Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | -------- | | tradeFrom | String | M | "QRCODE" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | ------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | code_url | String | O | Characters to generate QR code. When RespCode=00 returns it. | #### 5.1.2 QR code jump mode It's jump mode, open the front-end page provided by GoAllPay, which contains WeChat QR code. Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ------- | | tradeFrom | String | M | "QUICK" | #### 5.1.3 WeChat Official Accounts payment Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ------- | | tradeFrom | String | M | "JSAPI" | #### 5.1.4 WeChat Mini Programs payment Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ---------- | | tradeFrom | String | M | "APPLET" | | openid | String | M | Wechat openid | Response message: | Parameter | Type | Required | Description | | ---------- | ------ | ---- | ------------------------------------------------------ | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | sdk_params | String | O | Required parameter for Mini Program payment(JSON). When RespCode=00 returns it. | Parameter sdk_params is used to call up the WeChat Mini Programs payment. Please refer to the Mini Programs integration specification. #### 5.1.5 APP mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "APP" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | --------------------------------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | tn | String | O | Transaction serial number. Required parameter for Wechat app payment. When RespCode=00 returns it. | After getting tn, call the SDK to pay according to Section 7 of this document. ### 5.2 AP #### 5.2.1 WebSite mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "WEB" | #### 5.2.2 H5 mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ------- | | tradeFrom | String | M | "JSAPI" | #### 5.2.3 APP mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "APP" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | --------------------------------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | tn | String | O | Transaction serial number. Required parameter for Wechat app payment. When RespCode=00 returns it. | After getting tn, call the SDK to pay according to Section 7 of this document. #### 5.2.4 QR code no jump mode This mode returns the URL value of WeChat payment collection for parameter return, ask the merchant to convert it into QR code, generate the front interface of payment, and prompt the user to scan the code to pay. Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | -------- | | tradeFrom | String | M | "QRCODE" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | ------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | code_url | String | O | Characters to generate QR code. When RespCode=00 returns it. | ### 5.3 UP #### 5.3.1 H5 mode, adaptive PC and mobile Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ---- | | tradeFrom | String | M | "H5" | #### 5.3.2 APP mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "APP" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | --------------------------------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | tn | String | O | Transaction serial number. Required parameter for Wechat app payment. When RespCode=00 returns it. | After getting tn, call the SDK to pay according to Section 7 of this document. #### 5.3.3 QR code no jump mode This mode returns the URL value of WeChat payment collection for parameter return, ask the merchant to convert it into QR code, generate the front interface of payment, and prompt the user to scan the code to pay. Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | -------- | | tradeFrom | String | M | "QRCODE" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | ------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | code_url | String | O | Characters to generate QR code. When RespCode=00 returns it. | ```javascript Test cards: Credit card:6250947000000014 mobile:+852 11112222 cvn2: 123 exp date: month 12 year 33 SMS Code on PC: 111111 SMS Code on Mobile: 123456 Debit card:6223164991230014 mobile:13012345678 PIN: 111111 cvn2: 123 exp date: month 12 year 33 SMS Code on PC:111111 SMS Code on Mobile:123456 Credit card:8171999927660000 mobile:+852 11112222 cvn2: 123 exp date: month 12 year 30 SMS Code on PC: 111111 SMS Code on Mobile: 123456 ``` ### 5.4 Apple Pay #### 5.4.1 APP mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "APP" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | --------------------------------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | tn | String | O | Transaction serial number. Required parameter for Wechat app payment. When RespCode=00 returns it. | After getting tn, call the SDK to pay according to Section 7 of this document. ### 5.5 CA #### 5.5.1 APP mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "APP" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | --------------------------------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | tn | String | O | Transaction serial number. Required parameter for CA app payment. When RespCode=00 returns it.| After you get tn,please integrate according to [Android Integration Specification](https://git.allpayx.com/OpenAPI/common/src/master/v5/android/Android_Integration_Specification_EN.md) ### 5.6 MIPAY #### 5.6.1 H5 mode Purchase interface specific fields | Parameter | Type | Required | Description | | ---------- | ------ | ---- | ------------------------------------------------------------ | | tradeFrom | String | M | "H5" | | firstname | String | M | This is name of the customer who is doing the transaction. | | email | String | M | this is email id of the customer who is doing transaction | | phone | String | M | Phone number of the customer | | customerId | String | O | Customer ID, when client register on merchant, merchant distribute it to client. | ```javascript Test environment configuration: Modify the test machine hosts file, add the following two information. 114.80.87.249 account.preview.n.xiaomi.net 114.80.87.249 api.account.preview.n.xiaomi.net Test card: Card number:5123456789012346 Validity period:0520 cvv:123 ``` ### 5.7 EB #### 5.7.1 H5 mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ---------------------------------------------------------- | | tradeFrom | String | M | "H5" | | firstname | String | M | This is name of the customer who is doing the transaction. | | email | String | M | this is email id of the customer who is doing transaction | | phone | String | M | Phone number of the customer | ### 5.8 PF #### 5.8.1 H5 mode Purchase interface specific fields | Parameter | Type | Required | Description | | ----------------- | ------ | ---- | --------- | | tradeFrom | String | M | "H5" | | email | String | M | email | | transport_express | String | M | tracking number | ```javascript Test card: Card Number: 4242424242424242 Expriation Date: 1122 CVC: 111 ``` ### 5.9 APHK #### 5.9.1 H5 mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ------- | | tradeFrom | String | M | "JSAPI" | #### 5.9.2 QR code no jump mode This mode returns the URL value of WeChat payment collection for parameter return, ask the merchant to convert it into QR code, generate the front interface of payment, and prompt the user to scan the code to pay. Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | -------- | | tradeFrom | String | M | "QRCODE" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | ------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | code_url | String | O | Characters to generate QR code. When RespCode=00 returns it. | #### 5.9.3 APP mode Purchase interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ----- | | tradeFrom | String | M | "APP" | Response message: | Parameter | Type | Required | Description | | -------- | ------ | ---- | --------------------------------------------------------- | | RespCode | String | M | 00 stands for success; 01 stands for fail. | | RespMsg | String | M | Response message | | tn | String | O | Transaction serial number. Required parameter for Wechat app payment. When RespCode=00 returns it. | After getting tn, call the SDK to pay according to Section 7 of this document. ### 5.10 FC #### 5.10.1 Purchase/Pre-authorization Purchase/Pre-authorization interface specific fields | Parameter | Type | Required | Description | | --------- | ------ | ---- | ---- | | tradeFrom | String | M | "H5" | #### 5.10.2 Bound card payment There are two modes of card binding (1) The user chooses to add a card on the merchant platform, and then jumps to the card binding page of GoAllPay. The user enters the card number information on this page. If the card binding fails, the merchant will be notified of the failure; if the card binding is successful, "token + customerID + the last four digits of the card number" will be returned to the merchant. Exclusive field | Parameter | Type | Required | Description | | --------- | ------ | ---- | ---- | | tradeFrom | String | M | "H5" | (2) The merchant collects the card number information by himself and sends it to the GoAllPay gateway through the API. Exclusive field | Parameter | Type | Required | Description | | ---------- | ------ | ---- | ----------------- | | tradeFrom | String | M | "API" | | cardno | String | M | Card number | | cvv2 | String | M | cvv2 | | ExpiryDate | String | M | Validity period: Format MM / YY | ```javascript Test card: Card Number: 4761340000000019 Expiry Date: 1217 CVV2: 830 Card Number: 5204730000002555 Expiry Date: 1225 CVV2: 123 ``` ### 5.11 RevPay #### 5.11.1 H5 mode | Parameter | Type | Required | Description | | --------- | ------ | ---- | -------- | | tradeFrom | String | M | "H5" | | bankCode | String | M | Bank Code. Test environment filled in TEST0021, production environment [click here for details](https://git.allpayx.com/OpenAPI/common/src/master/RevPayBankCode.md) | ```javascript Test card: FPX Test Card Payment ID : 3 Bank Code : TEST0021 Bank Name : SBI Bank A User Id : 1234 Password : 1234 ``` ### 5.12 AliPayLocal #### 5.12.1 H5 mode | Parameter | Type | Required | Description | | --------- | ------ | ---- | ------- | | tradeFrom | String | M | "H5" | | sub_brand_code | String | M | "gcash" or "dana" | ### 5.13 PO #### 5.13.1 H5 mode | Parameter | Type | Required | Description | | ----------------- | ------ | ---- | ------------------------------------------------------------ | | tradeFrom | String | M | "H5" | | countrycode | String | M | The 2-letter ISO country code of the country in which the payment instrument is issued/operated (e.g. DE). For details see [payment method specific documentation](https://git.allpayx.com/OpenAPI/common/src/master/countrycode.md). | | accountholdername | String | M | The account holder - minimum of 3 characters, up to 100 charac- ters. | | tag | String | M | Value:directpay, boleto, webpay, trustpay, skrill, singpost, sepaddmodela, safetypay, qiwi, p24, poli, paysafecard, mybank, itau, ideal, hipercard, giropay, eps, enets, dragonpay, bancodobrasil, baloto, aura, payu, bcmc | ##### 5.13.1.1 When tag is paysafecard, you should add the following parameters: | Parameter | Type | Required | Description | | ----------- | ------ | ---- | ------------------------------------------------------------ | | consumerref | String | M | Unique reference identifying the consumer, has to satisfy the regular expression [A-Za-z0-9.%,&/+*$-]{1,20} | ##### 5.13.1.2 When tag is in aura, baloto, bancodobrasil, boleto, hipercard, itau, webpay , you should add the following parameters: | Parameter | Type | Required | Description | | ----------- | ------ | ---- | ------------------------------------------------------------ | | consumerref | String | M | Unique reference identifying the consumer, has to satisfy the regular expression [A-Za-z0-9.%,&/+*$-]{1,20} | | nationalid | String | M | Consumer’s national id (up to 30 characters) | | email | String | M | RFC compliant email address of the account holder | | address | String | M | Consumer's address | | zipcode | String | M | Consumer's zip/postal code | | dob | String | O | Date of birth, format YYYYMMDD | ##### 5.13.1.3 When tag is in dragonpay, enets, singpost , you should add the following parameters: | Parameter | Type | Required | Description | | ----- | ------ | ---- | ------------------------------------------------------ | | email | String | M | RFC compliant email address of the account holder | | phone | String | M | Valid international phone number of the account holder | ##### 5.13.1.4 When tag is in giropay, directpay, you should add the following parameters: | Parameter | Type | Required | Description | | ---- | ------ | ---- | ----------------------------------------------------------- | | bic | String | O | Valid BIC (8 or 11 alphanumeric letters) of consumer’s bank | ##### 5.13.1.5 When tag is in payu, p24, safetypay, you should add the following parameters: | Parameter | Type | Required | Description | | ----- | ------ | ---- | ------------------------------------------------- | | email | String | M | RFC compliant email address of the account holder | ##### 5.13.1.6 When tag is qiwi, you should add the following parameters: | Parameter | Type | Required | Description | | ----------- | ------ | ---- | ------------------------------------------------------------ | | mobilephone | String | M | Valid international Russian mobile phone number identifying the QIWI destination account to pay out to (excluding plus sign or any other international prefixes, including a leading 7 for Russia, 11 digits in total, e.g. 71234567890). | | siteid | String | M | Unique site identifier, forwarded to qiwi. Required for clients serving multiple points of sale. | ##### 5.13.1.7 When tag is skrill, you should add the following parameters: | Parameter | Type | Required | Description | | ------- | ------ | ---- | ------------------------------------------------- | | email | String | O | RFC compliant email address of the account holder | | address | String | O | Consumer's address | | zipcode | String | O | Consumer's zip/postal code | | city | String | O | Consumer’s city | ##### 5.13.1.8 When tag is is sepaddmodela, you should add the following parameters: | Parameter | Type | Required | Description | | ----- | ------ | ---- | ------------------------------------------------- | | email | String | M | RFC compliant email address of the account holder | | iban | String | M | Valid IBAN | ##### 5.13.1.9 When tag is bcmc, you should add the following parameters: | Parameter | Type | Required | Description | | ----- | ------ | ---- | ------------------------------------------------- | | BEPURL | String | O | Trigger URL for mobile payment options in the form BEP://1BC.GIROGATE.DE/BCMC/123456789$ICAE3BUIH5P9U53Y5HKA9CRT (contrived example). | ### 5.14 India_Netbanking #### 5.14.1 H5 mode You should add the following parameters: | Parameter | Type | Required | Description | | --------- | ------ | ---- | ---- | | tradeFrom | String | M | "H5" | | bank_code | String | M | [bank list](https://git.allpayx.com/OpenAPI/common/src/master/India_Netbanking_BankCode.md) | | email | String | M | Must contain valid e-mail of customer| | phone | String | M | Must contain valid phone number of customer | | firstname | String | M | Customer first name | | lastname | String | M | Customer last name | | address | String | M | address | | zip_code | String | M | ZIP code | | city | String | M | City | | country | String | M |Country code in ISO 3166| | state | String | M | State code in ISO 3166-2, required for USA and Canada | | document_id | String | M | Document ID of the consumer.| ## 6.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" | ## 7.APP mode integration specification Android Integration Specification:[Click Here](https://git.allpayx.com/OpenAPI/common/src/master/v5/android/Android_Integration_Specification_EN.md) iOS Integration Specification:[Click Here](https://git.allpayx.com/OpenAPI/common/src/master/v5/ios/iOS_Integration_Specification_EN.md) ## 8.Technical support If you have problems with debugging, please contact us: support@allpayx.com