iOS支付宝使用总结
后台签名,前端只负责调起客户端进行支付
前端签名演示,不建议这么做
错误情况总结
调用客户端,防止app被kill
一、在后台进行签名, 前端只负责调起客户端进行支付
(1)导入需要的SDK
如果在签名后台进行,前端只负责调起客户端进行支付,只需要导入下面两个文件即可。
AlipaySDK.bundle
AlipaySDK.framework
(2)在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:
其中,需要注意的是:
如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;
如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib。
当然,使用Xcode7.0之前版本的开发者应该没有了吧……..
(3)添加允许网络请求字段和白名单。(具体看下面)
(4)在需要调起客户端的地方,引入支付宝头文件
(5)加签字符串从后台获取,前端只进行调起客户端操作,这里参数什么都没写,根据需要传给后台,开始代码
注意:
appScheme参数可以随便写,但是要和Info -> URL Type -> URL Scheme保持一致,否则支付完成后,找不到app,如图:
(6)配置支付宝客户端返回url处理方法。
在AppDelegate.m文件中,增加引用代码,如果跳转支付宝客户端支付,app会被系统kill掉,支付完成后,不会继续支付完成后的操作,此时,要在AppDelegate里面做些操作;这样,在调用支付宝客户端支付的时候,app不会被kill掉
(7)可能出现的问题
二、在前端进行签名,调起支付宝(不建议)
在前端进行签名,调起支付宝,但是不建议这么做。查看官方文档
(1)导入相关SDK和加签文件
AlipaySDK.bundle
AlipaySDK.framework
导入加签文件
libcrypto
libssl.a
openssl文件夹
Util文件
Order.h和Order.m
(2)在Build Phases->Link Binary With Libraries导入相关依赖库;如图
(3)可能出现错误情况:
(4)ios9之后需要再添加Info里面添加网络请求字段,(白名单字段最好也添加,QQ分享,微信分享需要添加白名单字段),如图:
网络请求:
(5)在前端进行加签,调起客户端,这样不安全,不建议这么做
注意:
appScheme参数可以随便写,但是要和Info -> URL Type -> URL Scheme保持一致,否则支付完成后,找不到app,如图:
(6)配置支付宝客户端返回url处理方法。
在AppDelegate.m文件中,增加引用代码,如果跳转支付宝客户端支付,app会被系统kill掉,支付完成后,不会继续支付完成后的操作,此时,要在AppDelegate里面做些操作;这样,在调用支付宝客户端支付的时候,app不会被kill掉
上图为2017年最新的视频教程资料,搜索235再填上214最后输入9755加我好友私聊我上传视频教程,有什么不懂的也可以来私聊问我。
不定时更新中。
如果你能明白这些视频资料的好差,那么你也算是入行了,底层和中高层就是这一步之差。