1.注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数.
2. 下载微信支付sdk
3. 客户端请求订单,后台与微信后台交互,返回给客户端支付参数
4. 调用微信客户端,由微信客户端和微信服务器打交道、、
5. 客户端和服务端都会收到支付结果、、(前台消息不可靠,我们需要去后台验证,如果后台没有收到支付通知,后台去微信服务器验证然后将结果返回给客户端)
支付流程图(大家看一下支付流程).
那么我们现在就开始写微信支付的demo了.
开发步骤
1:去微信开放平台注册应用
http://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=2c0fee9c43e1eb8f9febcc7cb73abf598e2d4011
创建移动应用并成功之后会收到腾讯发来的邮件
通过邮件我们能获得重要的参数:
(1):AppID
(2):微信支付商户号
(4):前往商户平台完成入驻
(4):API秘钥(自己设置即可,注意一定要32位字母加数字的组合)记得保存好秘钥,以后要使用
有了这些参数后,我们就可以开发自己的项目了.
接下来, 我们就新建一个微信工程吧.
创建好工程以后呢, 我们去微信平台下载sdk
链接:http://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5#
下载好以后呢, 我们就开始集成SDK了
把左边的SDK拉到工程里面哦.
大家会看到文件夹里面有集成SDK的步骤.
第一步: 在info.plist添加如下代码
大家都很熟悉啦
第二步:
添加需要的框架和依赖库 (ps: 官方文档没让添加libc++.tbd, 这点也是工程报错的时候发现的...)
剩下的事情, 我们只需要按照官方文档来做就行了, 亲们.
我们还回到上个页面.
微信:APPID:wx920fde9f97d60569
我们可以先使用这个APPID (ps: 这是同事的前公司的应用ID)
1、、项目设置APPID
商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID
在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID
这个我们按照文档做一下就可以了.
2、、注册APPID
商户APP工程中引入微信lib库和头文件,调用API前,需要先向微信注册您的APPID,代码如下:
[WXApi registerApp:@"wxd930ea5d5a258f4f];
3、、调起支付
商户服务器生成支付订单,先调用【统一下单API】生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付
以下是调起微信支付的关键代码:
现在我们只需要在控制器上添加一个button, 名字改成微信支付就可以了
button事件:
4、、支付结果回调
按照微信SDKSample,在类实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错
误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果
注意
一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准
这是最后一步了, 我们在支付页面支付完成以后呢要知道支付结果, 怎么做呢?
首先, 在AppDelegate.m里面实现该方法
接下来我们需要遵守下协议
最后一步, 就、、支付结果出来以后回调一个函数了
这样, 我们就完成了微信支付iOS客户端的代码, 歪哥谢谢大家的关注哦!
ps: 大家工作中写完以后要在真机上测试.