2019-08-30
2020-06-02 本文已影响0人
xh_0129
商户对接文档(支付SDK)iOS端接入文档
SDK接入
1,将TLIMPaySDK文件夹拖入工程
如果引入的库和本地库有冲突,将TLIMPaySDK/ThirdLibrary文件夹中三方库删除重新编译即可
2,将bitcode关掉
修改路径:target —> Built Seeting —>搜索 bitcode —>将Yes置为No
3,Build Phases中添加必须的库
CoreTelephony.framework
libz.tdb
libresolv.tbd
4,plist中添加白名单:跳转到支付宝和微信
LSApplicationQueriesSchemes
weixin
alipay
alipays
alipayqr
5,添加权限:相机和相册权限
Privacy - Photo Library Usage Description 应用需要此权限访问您的相册
Privacy - Camera Usage Description 应用需要此权限访问您的相机
Privacy - Photo Library Additions Usage Description 应用需要此权限访问您的相册
6,ATS设置
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
SDK应用
1,调用:SDK提供2种方式供调用:显示充值面板和不显示充值面板
首先引入文件
#import <TLIMPaySDK/TLIMPaySDK.h>
在viewDidLoad中调用startWithLog方选择是否开启log
/**
@param log 是否开启log
*/
[[TLIMPay sharedInstance] startWithLog:YES];
显示充值面板,选择后进入聊天界面
/**
@param channelUserId 接入渠道用户ID
@param channelCode 接入渠道号
@param mobile 手机号 nullable
@param nickName 昵称 nullable
@param pushNavigationController 所属的UINavigationController来管理
@param completed 回调
*/
[[TLIMPay sharedInstance]openChatWithChannelUserId:@"xxxx" channelCode:@"xxxxxx" mobile:nil nickName:nil pushNavigation:self.navigationController completed:^(TLIMPayStatus state) {
NSLog(@"state == %d",state);
}];
不显示充值面板,直接进入聊天界面
/**
@param channelUserId 接入渠道用户ID
@param channelCode 接入渠道号
@param payAmount 充值金额 nullable
@param payWay 充值方式 支持云闪付(UnionPay)、微信(WechatPay)、支付宝(Alipay)、银行卡(BankTransferPay)等 nullable
@param mobile 手机号 nullable
@param nickName 昵称 nullable
@param pushNavigationController 所属的UINavigationController来管理
@param completed 回调
*/
[[TLIMPay sharedInstance]openChatWithChannelUserId:@"xxxx" channelCode:@"xxxxxx" payAmount:nil payWay:nil mobile:nil nickName:nil pushNavigation:self.navigationController completed:^(TLIMPayStatus state) {
NSLog(@"state == %d",state);
}];
常见问题
1,出现Semantic Issue,Parse Issue,Modules Issue等冲突
这是因为iOS工程里添加C文件造成的编译错误,将TLIMPaySDK/ThirdLibrary/amr/wavreader.c 文件,把type值 Default-C Source修改成 Objective-C Source即可