iOS--微信支付实现
微信支付:去微信开发者平台看一两遍流程,熟悉一下,文档很关键,流程懂了,跟后台配合起来问题才会迎刃而解!!!
配上流程图:
1.首先配置微信支付的环境,根据微信开放者平台开发文档进行下载需要的SDK,也可以cocoapods集成
因为项目中先集成了友盟分享的SDK,在尝试手动集成微信支付的SDK的时候报错如下:
说在我封装的支付文件内部找不到PayReq,改了好久也无法解决,然后我直接去cocoapods集成,也报错,报了如下的错误,微信的.a文件冲突:
于是乎,我直接删除了友盟的SDK,cocoapods微信的支付SDK
pod 'WechatOpenSDK'
对于在项目中集成友盟和微信支付SDK的伙伴们,我的解决方案是,集成友盟SDK的时候集成的是精简版本,这里并不影响集成微信支付SDK,这里友盟集成文档里有说明,一下是集成文档和方法:
2.设置UrlType Schemes,https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5#
添加依赖库:
3.封装支付的代码,唤起微信移动端,这个步骤需要跟后台配合,具体的业务逻辑代码自行处理,我把自己的贴出来,供参考,我们处理的是给后台订单号,然后后台处理微信需要的数据加密,之后返回给我加密过后的参数,携带着加密过后的参数,发起支付请求:
[WXApi sendReq:req]
4.在Applegate里面处理支付结果,遵循代理WXApiDelegate,注册微信AppID:
[WXApi registerApp:WXAppId];
处理返回结果:
具体业务逻辑具体对待,整体逻辑梳理通才是关键,时间仓促,不足之处还有很多,小弟会再继再励!!!