## 渠道专属配置

### 1 WX渠道

#### 1.1 二维码无跳转模式

 该模式返回生成二维码的字符串,商户需要自己生成二维码。

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "QRCODE" |

应答报文:

| 参数     | 类型   | 属性 | 描述                            |
| -------- | ------ | ---- | ------------------------------- |
| RespCode | String | M    | 应答码 00-成功                  |
| RespMsg  | String | M    | 应答消息        |
| code_url | String | O    | 二维码字符串。应答码为00返回该字段 |

#### 1.2 二维码跳转模式

该模式会为商户跳转到GoAllPay生成好的二维码页面,无需商户自己生成。

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述    |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M    | "QUICK" |

#### 1.3 公众号支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述    |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M    | "JSAPI" |

#### 1.4 小程序支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述       |
| --------- | ------ | ---- | ---------- |
| tradeFrom | String | M    | "APPLET"   |
| openid    | String | M    | 微信openid |

应答报文:

| 参数       | 类型   | 属性 | 描述                                                   |
| ---------- | ------ | ---- | ------------------------------------------------------ |
| RespCode   | String | M    | 应答码 00-成功                                         |
| RespMsg    | String | M    | 应答消息                                               |
| sdk_params | String | O    | 小程序支付所需参数(JSON字符串)。应答码为00返回该字段 |

将上述返回数据放入微信小程序支付接口,即可调起支付,具体方法,参考微信官方小程序API。

#### 1.5 APP支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "APP" |

应答报文:

| 参数     | 类型   | 属性 | 描述                                                      |
| -------- | ------ | ---- | --------------------------------------------------------- |
| RespCode | String | M    | 应答码 00-成功                                            |
| RespMsg  | String | M    | 应答消息                                                  |
| tn       | String | O    | 交易流水号,RespCode为“00”时返回,作为调起 sdk 支付的参数 |

获取到tn后,根据APP对接文档调用SDK进行支付。

### 2 AP渠道

#### 2.1 WebSite支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "WEB" |

#### 2.2 H5支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述    |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M    | "JSAPI" |

#### 2.3 APP支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "APP" |

应答报文:

| 参数     | 类型   | 属性 | 描述                                                      |
| -------- | ------ | ---- | --------------------------------------------------------- |
| RespCode | String | M    | 应答码 00-成功                                            |
| RespMsg  | String | M    | 应答消息                                                  |
| tn       | String | O    | 交易流水号,RespCode为“00”时返回,作为调起 sdk 支付的参数 |

获取到tn后,根据APP对接文档调用SDK进行支付。

#### 2.4 二维码无跳转模式

 该模式返回生成二维码的字符串,商户需要自己生成二维码。

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "QRCODE" |

应答报文:

| 参数     | 类型   | 属性 | 描述                               |
| -------- | ------ | ---- | ---------------------------------- |
| RespCode | String | M    | 应答码 00-成功                     |
| RespMsg  | String | M    | 应答消息                           |
| code_url | String | O    | 二维码字符串。应答码为00返回该字段 |

#### 2.5 小程序支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "APPLET" |

应答报文:

| 参数       | 类型   | 属性 | 描述                                     |
| ---------- | ------ | ---- | ---------------------------------------- |
| RespCode   | String | M    | 应答码 00-成功                           |
| RespMsg    | String | M    | 应答消息                                 |
| sdk_params | String | O    | 小程序支付所需参数。应答码为00返回该字段 |

将上述返回数据放入支付宝小程序支付接口,即可调起支付,具体方法,参考支付宝官方小程序API。

### 3 UP渠道

#### 3.1 H5支付,自适应PC和移动端

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述 |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M    | "H5" |

#### 3.2 APP支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "APP" |

应答报文:

| 参数     | 类型   | 属性 | 描述                                                      |
| -------- | ------ | ---- | ------------------------------------------------------- |
| RespCode | String | M    | 应答码 00-成功                                           |
| RespMsg  | String | M    | 应答消息                                                 |
| tn       | String | O    | 交易流水号,RespCode为“00”时返回,作为调起 sdk 支付的参数 |

获取到tn后,根据APP对接文档调用SDK进行支付。

#### 3.3 二维码无跳转模式

 该模式返回生成二维码的字符串,商户需要自己生成二维码。

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "QRCODE" |

应答报文:

| 参数     | 类型   | 属性 | 描述                               |
| -------- | ------ | ---- | ---------------------------------- |
| RespCode | String | M    | 应答码 00-成功                     |
| RespMsg  | String | M    | 应答消息                           |
| code_url | String | O    | 二维码字符串。应答码为00返回该字段 |

#### 3.4 Express Pay

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "PAN-PRESENT" |
| cardno | String | M    | 卡号 |
| cvv | String | M    | cvv2 |
| expired | String | M    | 有效期 YYMM |

```javascript
测试卡:

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支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "APP" |

应答报文:

| 参数     | 类型   | 属性 | 描述                                                      |
| -------- | ------ | ---- | ------------------------------------------------------- |
| RespCode | String | M    | 应答码 00-成功                                            |
| RespMsg  | String | M    | 应答消息                                                  |
| tn       | String | O    | 交易流水号,RespCode为“00”时返回,作为调起 sdk 支付的参数 |

获取到tn后,根据APP对接文档调用SDK进行支付。

### 5 CA渠道

#### 5.1 APP支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "APP" |

应答报文:

| 参数     | 类型   | 属性 | 描述                                                      |
| -------- | ------ | ---- | --------------------------------------------------------- |
| RespCode | String | M    | 应答码 00-成功                                            |
| RespMsg  | String | M    | 应答消息                                                  |
| tn       | String | O    | 交易流水号,RespCode为“00”时返回,作为调起 sdk 支付的参数 |

 获取到tn后,根据[Android对接文档](/v5/android/Android_Integration_Specification_CH.md)调用SDK进行支付

### 6 MIPAY渠道

#### 6.1 H5支付

 消费接口专属字段

| 参数       | 类型   | 属性 | 描述                                                         |
| ---------- | ------ | ---- | ------------------------------------------------------------ |
| 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
测试环境配置:

修改测试机器hosts,添加如下两条信息
114.80.87.249 account.preview.n.xiaomi.net
114.80.87.249 api.account.preview.n.xiaomi.net

测试卡:

卡号:5123456789012346
有效期:0520
cvv:123
```

### 7 EB渠道

#### 7.1 H5支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述                                                       |
| --------- | ------ | ---- | ---------------------------------------------------------- |
| 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支付

 消费接口专属字段

| 参数         | 类型   | 属性 | 描述                                                         |
| ------------ | ------ | ---- | ------------------------------------------------------------ |
| tradeFrom    | String | M    | "H5"                                                         |
| showShipAddr | String | M    | "1":显示账单填写表单<br>"0":不显示账单填写表单               |
| shipAddr     | String | O    | showShipAddr为1时不用传该字段,为0时需上传。<br>Base64_encode(json_encode(str) ) 举例{"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"} |
| email        | String | M    | 用户email                                                    |
| shipping     | String | M    | 收件地址:Base64_encode(json_encode(str))举例<br/>{"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
测试卡:

Card Number: 4242424242424242
Expriation Date: 1122
CVC: 111
```

### 9 APHK渠道

#### 9.1 H5支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述    |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M    | "JSAPI" |

#### 9.2 二维码无跳转模式

 该模式返回生成二维码的字符串,商户需要自己生成二维码。

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "QRCODE" |

应答报文:

| 参数     | 类型   | 属性 | 描述                               |
| -------- | ------ | ---- | ---------------------------------- |
| RespCode | String | M    | 应答码 00-成功                     |
| RespMsg  | String | M    | 应答消息                           |
| code_url | String | O    | 二维码字符串。应答码为00返回该字段 |

#### 9.3 APP支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述  |
| --------- | ------ | ---- | ----- |
| tradeFrom | String | M    | "APP" |

应答报文:

| 参数     | 类型   | 属性 | 描述                                                      |
| -------- | ------ | ---- | --------------------------------------------------------- |
| RespCode | String | M    | 应答码 00-成功                                            |
| RespMsg  | String | M    | 应答消息                                                  |
| tn       | String | O    | 交易流水号,RespCode为“00”时返回,作为调起 sdk 支付的参数 |

获取到tn后,根据APP对接文档调用SDK进行支付。

### 10 FC渠道

#### 10.1 H5支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述 |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M    | "H5" |

```javascript
测试卡:

卡号: 4761340000000019
有效期: 1217
CVV2: 830

卡号: 5204730000002555
有效期: 1225
CVV2: 123
```

 苏宁渠道消费接口还需增加以下专属字段:
 
 账单信息

| 参数      | 类型   | 属性 | 描述 |
| --------- | ------ | ---- | ---- |
| billCountry | String | O    | 账单国家/地区,2位国家码,如:US |
| billState | String | O    | 账单州/省/邦,2位编码,如:CA |
| billCity | String | O    | 账单城市 |
| billStreet | String | O    | 账单地址 |
| billEmail | String | O    | 账单邮箱 |
| billPostalCode | String | O    | 账单邮编 |

 物流信息

| 参数      | 类型   | 属性 | 描述 |
| --------- | ------ | ---- | ---- |
| logisticsCountry | String | O    | 物流国家/地区,2位国家码,如:US |
| logisticsState | String | O    | 物流州/省/邦,2位编码,如:CA |
| logisticsCity | String | O    | 物流城市 |
| logisticsStreet | String | O    | 物流地址 |
| logisticsPostalCode | String | O    | 物流邮编 |
| logisticsEmail | String | O    | 物流邮箱 |
```javascript
测试卡:

卡号: 5309289710447190
有效期: 0825
CVV2: 900
```

### 11 RevPay渠道

#### 11.1 H5支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述     |
| --------- | ------ | ---- | -------- |
| tradeFrom | String | M    | "H5"     |
| Payment_ID  | String | M | Axiata Boost: 11<br>Grab Pay: 17<br>Touch ’n Go: 28<br>Maybank QR: 12 |

### 12 AliPayLocal渠道

#### 12.1 H5支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述    |
| --------- | ------ | ---- | ------- |
| tradeFrom | String | M    | "H5" |
| sub_brand_code | String | M | "gcash","dana"选其中一个上送 |

### 13 PO渠道

#### 13.1 H5支付

 消费接口专属字段

| 参数              | 类型   | 属性 | 描述                                                         |
| ----------------- | ------ | ---- | ------------------------------------------------------------ |
| 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    | 取值如下: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 当 tag 为 paysafecard 时,还需另外增加下面字段

| 参数        | 类型   | 属性 | 描述                                                         |
| ----------- | ------ | ---- | ------------------------------------------------------------ |
| consumerref | String | M    | Unique reference identifying the consumer, has to satisfy the regular expression [A-Za-z0-9.%,&/+*$-]{1,20} |

##### 13.1.2 当 tag 为 aura, baloto, bancodobrasil, boleto, hipercard, itau, webpay 时,还需另外增加下面字段

| 参数        | 类型   | 属性 | 描述                                                         |
| ----------- | ------ | ---- | ------------------------------------------------------------ |
| 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 当 tag 为 dragonpay, enets, singpost 时,还需另外增加下面字段

| 参数  | 类型   | 属性 | 描述                                                   |
| ----- | ------ | ---- | ------------------------------------------------------ |
| 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 当 tag 为 giropay, directpay 时,还需另外增加下面字段

| 参数 | 类型   | 属性 | 描述                                                        |
| ---- | ------ | ---- | ----------------------------------------------------------- |
| bic  | String | O    | Valid BIC (8 or 11 alphanumeric letters) of consumer’s bank |

##### 13.1.5 当 tag 为 payu, p24, safetypay 时,还需另外增加下面字段

| 参数  | 类型   | 属性 | 描述                                              |
| ----- | ------ | ---- | ------------------------------------------------- |
| email | String | M    | RFC compliant email address of the account holder |

##### 13.1.6 当 tag 为 qiwi 时,还需另外增加下面字段

| 参数        | 类型   | 属性 | 描述                                                         |
| ----------- | ------ | ---- | ------------------------------------------------------------ |
| 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 当 tag 为 skrill 时,还需另外增加下面字段

| 参数    | 类型   | 属性 | 描述                                              |
| ------- | ------ | ---- | ------------------------------------------------- |
| 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 当 tag 为 sepaddmodela 时,还需另外增加下面字段

| 参数  | 类型   | 属性 | 描述                                              |
| ----- | ------ | ---- | ------------------------------------------------- |
| email | String | M    | RFC compliant email address of the account holder |
| iban  | String | M    | Valid IBAN                                        |

##### 13.1.9 当 tag 为 bcmc 时,还需另外增加下面字段

| 参数  | 类型   | 属性 | 描述                                              |
| ----- | ------ | ---- | ------------------------------------------------- |
| BEPURL | String | O    | Trigger URL for mobile payment options in the form BEP://1BC.GIROGATE.DE/BCMC/123456789$ICAE3BUIH5P9U53Y5HKA9CRT (contrived example). |

##### 13.1.10 当 tag 为 santander, pagofacil, rapipago 时,还需另外增加下面字段

| 参数  | 类型   | 属性 | 描述                                              |
| ----- | ------ | ---- | ------------------------------------------------- |
| 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 当 tag 为 konbini, payeasy 时,还需另外增加下面字段

| 参数  | 类型   | 属性 | 描述                                              |
| ----- | ------ | ---- | ------------------------------------------------- |
| 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支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述 |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M    | "H5" |
| bank_code | String | M    |[见列表](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支付

 消费接口专属字段

| 参数      | 类型   | 属性 | 描述 |
| --------- | ------ | ---- | ---- |
| tradeFrom | String | M    | "H5" |