## Channel exclusive allocation
### 1 WX
#### 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. |
#### 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" |
#### 1.3 WeChat Official Accounts payment
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M | "JSAPI" |
#### 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 WeChat Mini Programs integration specification.
#### 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 APP document.
### 2 AP
#### 2.1 WebSite mode
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M | "WEB" |
#### 2.2 H5 mode
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M | "JSAPI" |
#### 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 APP document.
#### 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. |
#### 2.5 Alipay Mini Programs payment
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ---------- |
| tradeFrom | String | M | "APPLET" |
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 Alipay Mini Programs payment. Please refer to the Alipay Mini Programs integration specification.
### 3 UP
#### 3.1 H5 mode, adaptive PC and mobile
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M | "H5" |
#### 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 APP document.
#### 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. |
#### 3.4 Express Pay
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M | "PAN-PRESENT" |
| cardno | String | M | UnionPay card number |
| cvv | String | M | cvv2 |
| expired | String | M | Expiry Date YYMM |
```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
```
### 4 Apple Pay
#### 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 APP document.
### 5 CA
#### 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](/v5/android/Android_Integration_Specification_EN.md)
### 6 MIPAY
#### 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
```
### 7 EB
#### 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 |
### 8 PF
#### 8.1 H5 mode
Purchase interface specific fields
| Parameter | Type | Required | Description |
| ----------------- | ------ | ---- | --------- |
| tradeFrom | String | M | "H5" |
| email | String | M | email |
| showShipAddr | String | M | "1": Display the bill filling form
"0": Do not display the bill filling form |
| shipAddr | String | O | This field does not need to be uploaded when showShipAddr is 1, and needs to be uploaded when showShipAddr is 0.
Base64_encode(json_encode(str)). Example:
{"first_name":"","last_name":"","street":"address_line1","house_number":"address_line2","address_city":"new york","address_state":"new york","country_id":"us","address_zip":"10022","phone_num":"13512345678","email_address":"dd@126.com"} |
| shipping | String | M | Recipient address:Base64_encode(json_encode(str)). Example:
{"first_name":"dsgerg","last_name":"eererger","phone":"13460259928","line1":"address_line1","line2":"address_line2","city":"new york","state":"new york","country_code":"us","postal_code":"10022"} |
```javascript
Test card:
Card Number: 4242424242424242
Expriation Date: 1122
CVC: 111
```
### 9 APHK
#### 9.1 H5 mode
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M | "JSAPI" |
#### 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. |
#### 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 APP document.
### 10 FC
#### 10.1 H5 mode
Purchase interface specific fields
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M | "H5" |
```javascript
Test card:
Card Number: 4761340000000019
Expiry Date: 1217
CVV2: 830
Card Number: 5204730000002555
Expiry Date: 1225
CVV2: 123
```
### 11 RevPay
#### 11.1 H5 mode
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M | "H5" |
| Payment_ID | String | M | Axiata Boost: 11
Grab Pay: 17
Touch ’n Go: 28
Maybank QR: 12 |
### 12 AliPayLocal
#### 12.1 H5 mode
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M | "H5" |
| sub_brand_code | String | M | "gcash" or "dana" |
### 13 PO
#### 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](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, santander, pagofacil, rapipago, konbini, payeasy |
##### 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} |
##### 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 |
##### 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 |
##### 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 |
##### 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 |
##### 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. |
##### 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 |
##### 13.1.8 When tag 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 |
##### 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). |
##### 13.1.10 When tag is in santander, pagofacil, rapipago, you should add the following parameters:
| Parameter | Type | Required | Description |
| ----- | ------ | ---- | ------------------------------------------------- |
| nationalid | String | M | Consumer’s national id (up to 30 characters) |
| consumerref | String | O | Unique reference identifying the consumer, has to satisfy the following regular expression: [A-Za-z0-9.%,&/+*$-]{1,20} |
| email | String | M | RFC compliant email address of the account holder |
##### 13.1.11 When tag is in konbini, payeasy, you should add the following parameters:
| Parameter | Type | Required | Description |
| ----- | ------ | ---- | ------------------------------------------------- |
| phone | String | M | Consumer phone number without hyphens, country code or other characters (single-byte alphanumeric; must be between 10-11 digits) |
| email | String | M | RFC compliant email address of the account holder|
| iteminfo | String | M | Information about the item(s) being purchased, displayed on the payment page (up to 22 characters) |
### 14 India_Netbanking
#### 14.1 H5 mode
You should add the following parameters:
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M | "H5" |
| bank_code | String | M | [bank list](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.|
### 15 PAYPAL
#### 15.1 H5 mode
You should add the following parameters:
| Parameter | Type | Required | Description |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M | "H5" |