在项目中,我们经常要用到微信支付,今天就来简单介绍一下微信支付环境的搭建,先看一下微信支付官方文档吧!
1、首先要申请开通微信支付,获取到AppKey和AppSecret,并将微信的lib库导入,如果之前导入过shareSDK的话,就不要重复导入了,里面已经包含了wechat的库。
2、下载官方demo,将下面几个类导入到工程中。
![](https://i-blog.csdnimg.cn/blog_migrate/635318477a1780fe1f5dec1b9afa87a2.webp?x-image-process=image/format,png)
图1
3.在appDelegate.m中,注册微信应用
[WXApi registerApp:@"wxXXXXXXXXXXX"];
并且添加微信的回调,里面发送支付的结果通知
![](https://i-blog.csdnimg.cn/blog_migrate/e0728d4231cae0442e33e43ac3d3f1ac.webp?x-image-process=image/format,png)
图2
4.在payRequestHandle.h中,将AppKey和商户号替换为自己的项目的。在payRequestHandle.mm中使用- (NSMutableDictionary *)sendPay_demo:(NSString *)price;这个方法。参数price是从支付VC中传过来的。(注意:微信支付的单位是分,这点一定要牢记!!!)。
5.在微信支付VC中,接收通知,并且判断手机是否安装微信。
![](https://i-blog.csdnimg.cn/blog_migrate/be7b54a71a6d35f4c30399b1013e82a6.webp?x-image-process=image/format,png)
图3
然后在微信支付按钮的事件中,添加以下代码。
![](https://i-blog.csdnimg.cn/blog_migrate/1f6a7e224dbc7ee89e2f9d7d98d88b12.webp?x-image-process=image/format,png)
图4
如果配置到这边的话,你会发现,并不能调起微信,你还要添加
![](https://i-blog.csdnimg.cn/blog_migrate/ad2315900d0e271be1cd1891e3e705ab.webp?x-image-process=image/format,png)
图5
iOS 9.0以上的系统如果要正常调起微信,还需要添加白名单,
![](https://i-blog.csdnimg.cn/blog_migrate/ecafede04a28790e121b1b46cf2bb823.webp?x-image-process=image/format,png)
图6为微信的白名单
如果项目中设计到第三方分享、支付宝支付的话,还需要在appDelegate.m中判断回调。如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/873d8b005c982e6e56cfe3eed78a68db.webp?x-image-process=image/format,png)
图7微信、支付宝、ShareSDK判断回调