# 5.渠道专属配置
## 5.1 EB渠道
* 渠道专属配置:
```xml
1.将allpaysdk/WXModule文件夹下的文件add到项目中
2.Set Always embed swift standard libraries to YES from project build settings
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
3.To simply disable ATS, you can follow this steps by open Info.plist, and add the following lines:
NSAppTransportSecurity
NSAllowsArbitraryLoads
```
* 消费接口专属字段
请求报文
序号 |名称 |长度|类型|参数名称|备注
-----|-----|----|----|------|------
1| 姓名 |32 |文本|trxn_firstname |This is name of the customer who is doing the transaction.
2| 邮箱 |40 |文本|trxn_email_id |this is email id of the customer who is doing transaction.
3|电话 |20 |文本|trxn_phone|Phone number of the customer.
4|优惠券选项 |1 |文本|trxn_is_coupon_enabled| If the value is 0 then customer will not be able to see the coupons. If the value is 1 then customer will be able see the coupons and able to select the coupons
5|客户id |10 |文本|unique_id|This is customer’s unique id.不能超过10位
## 5.2 WX渠道
* 渠道专属配置:
1. 将allpaysdk/EBModule文件夹下的文件add到项目中
2. 项目设置APPID
商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID 如图标红位置所示
![image](/b2c/ios_wx_01.jpg)
3. 导入下面框架和链接库
```objective-c
Security.framework
CoreTelephony.framework
SystemConfiguration.framework
libc++.tbd
libz.tbd
libsqlite3.tbd
```
4. 在“Info.plist”中将要使用的 URL Schemes 列为白名单
```xml
LSApplicationQueriesSchemes
weixin
NSAppTransportSecurity
NSAllowsArbitraryLoads
```
## 5.3 APMP渠道
* 消费接口专属字段
请求报文
| Parameter | Type | Required | Description | Sample |
| --------- | ---------- | -------- | ------------------------------------------------------------ | -------------------------------------- |
| timeout | String(10) | O | The default is 12h. Please contact Alipay Technical Support if you need to use other values. Max value is 15d. This parameter controls the valid time from login to completion. | 5m 10m 15m 30m 1h 2h 3h 5h 10h 12h 1d. |
* 渠道专属配置:
1. 将allpaysdk/AliModule文件夹下的文件add到项目中
2. 在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:
```objective-c
libc++.tbd
libz.tbd
SystemConfiguration.framework
CoreTelephony.framework
QuartzCore.framework
CoreText.framework
CoreGraphics.framework
CFNetwork.framework
CoreMotion. .framework
```
3. 点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”,在“URL Schemes”中输入alipay, , 如图标红位置所示
![image](/b2c/ios_wx_01.jpg)
## 5.3 UP渠道
* 渠道专属配置:
1. 将allpaysdk/UPModule文件夹下的文件add到项目中
2. 导入下面框架和链接库
```objective-c
CFNetwork.framework
SystemConfiguration.framework
libz.tbd
```
3. 在工程info.plist设置中添加一个URL Types回调协议,用于在支付完成后返回商户客户端。请注意URL Schemes需要是唯一的,。 设置的Scheme的值要和支付接口中参数scheme的值相同。
4. 需要在工程对应的plist文件中,添加LSApplicationQueriesSchemes Array并加入uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3五个item
```xml
LSApplicationQueriesSchemes
uppaysdk
uppaywallet
uppayx1
uppayx2
uppayx3
```
5. http请求设置(ats)
在测试环境测试时,需要在工程对应的plist文件中添加NSAppTransportSecurity Dictionary 并同时设置里面NSAllowsArbitraryLoads 属性值为 YES,发生产环境可删除此设置。向Apple发布正式版本时请删除此设置。
## 5.4 Apple Pay渠道
* 渠道专属配置:
1. 将allpaysdk/AppleModule文件夹下的文件add到项目中
2. xcode 打开 apple pay 功能,如下图
![image](/b2c/apple_pay_set.png)
3. 用户 app 判断手机是否支持 Apple Pay 功能,以及是否已加载有可用的支付卡片
```objective-c
//判读方法为:
if([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkChinaUnionPay]] )
{
// app 展示 apple pay 支付图标
}
```