微信支付
1:去微信开放平台注册应用https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=2c0fee9c43e1eb8f9febcc7cb73abf598e2d4011

创建移动应用并成功之后会收到腾讯发来的邮件,

通过邮件你能获得重要的参数:
(1):AppID
(2):微信支付商户号
(4):前往商户平台完成入驻
(4):API秘钥(自己设置即可,注意一定要32位字母加数字的组合)记得保存好秘钥,以后要使用

支付所需要的可以写成宏以供调用

2:完成入驻之后,下载微信官方SDK和官方demo
https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1

(1):导入项目

 

onlyPhone指的是只能真机运行,不然会报错

(2):导入生成签名的文件(在官方demo中获得)

(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混编代码

4:运行之后如果没有错的话,开始正式写支付
(1):引入微信支付头文件并在项目的info中设置回调ID

(2):在程序启动完成的时候注册微信支付

(3):在支付页面发放中发起支付

  • 微信支付、签名头文件(如果服务器端不做的情况下)
  • 支付方法

上面调用了demo中的生成签名的类,还有下单的方法如下:

  • 一次签名

  • 成订单的方法

4:应用跳转到微信支付完毕,返回App,我们通过在App Delegate中的设置代理回调并通知支付页面支付成功

  • 遵守代理

  • 设置回调代理并发送通知

  • 在代理方法中发送通知并传递微信支付返回的数据

  • 在支付页面注册通知并处理支付后的操作

  • 注册通知

  • 实现通知方法

 

终于解决啦。。。欢迎你们查看!

 

posted on 2015-09-21 11:33  贾富阳  阅读(303)  评论(0编辑  收藏  举报