微信支付
1:去微信开放平台注册应用https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=2c0fee9c43e1eb8f9febcc7cb73abf598e2d4011php
建立移动应用并成功以后会收到腾讯发来的邮件,api
经过邮件你能得到重要的参数:
(1):AppID
(2):微信支付商户号
(4):前往商户平台完成入驻
(4):API秘钥(本身设置便可,注意必定要32位字母加数字的组合)记得保存好秘钥,之后要使用服务器
支付所须要的能够写成宏以供调用微信
2:完成入驻以后,下载微信官方SDK和官方demo
https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1并发
(1):导入项目app
onlyPhone指的是只能真机运行,否则会报错微信支付
(2):导入生成签名的文件(在官方demo中得到)ui
(3):运行以后会报错
解决办法:
1:添加 FrameWork 文件到工程在工程中修改 Other Linker Flags 后,须要修改编译步骤的连接库设置,避免连接阶段因为库的设置错误致使程序崩溃。方法:程序 Target->Buid Phases->Link Binary With Libraries 下添加如下 Framework 至工程中。须要添加的 Frameworks为 : QuartzCore.framework 、 ImageIO.framework 、SystemConfiguration.framework 、 Security.framework 、CoreTelephony.framework 、 CoreText.framework 、 UIKit.framework 、Foundation.framework 和 CoreGraphics.framework
。
2:在工程中引入静态库以后,须要在编译时添加 –objC 编译选项,避免静态库中类加载 不全形成程序崩溃。方法:程序 Target->Buid Settings->Linking 下 Other Linker Flags 项添加-ObjC。
3:写入ARC、MRC混编代码3d
4:运行以后若是没有错的话,开始正式写支付
(1):引入微信支付头文件并在项目的info中设置回调ID代理
(2):在程序启动完成的时候注册微信支付
(3):在支付页面发放中发起支付
上面调用了demo中的生成签名的类,还有下单的方法以下:
4:应用跳转到微信支付完毕,返回App,咱们经过在App Delegate中的设置代理回调并通知支付页面支付成功
遵照代理
设置回调代理并发送通知
在支付页面注册通知并处理支付后的操做
注册通知
终于解决啦。。。欢迎大家查看!