iOS微信支付那些坑
2016-01-14 11:38
561 查看
最近在集成微信支付,使用过程中遇到的那些坑分享出来,共勉。
微信支付平台下载SDK 集成。 看到这开发文档,心中不免高兴一番,这么少。。。 多简单
接下来 按照文档步骤操作,集成完毕了。
这里要说一下,微信官方的开发文档获取订单和数据交互都交给服务器做了,如果你的应用需要在客户端对微信支付做交互
请点击这里
当然,为了安全,数据交互建议交给服务器操作。
服务器交互完毕最终给客户端返回 开发文档如出一辙的数据。
好了,终于能调起来微信。
如图。。
什么,这是什么鬼,, 微信bug吗,,有些还会遇到 刚刚调起微信 看到一闪而过的空白页就结束了(这里还能看到微信的确定,。, )
好了,, 是时候展现程序员们检测bug的技术了
排查1.如上 声明的 req 对象 属性 需要对应正确的类型值,也就是跟服务器对接 返回的数据类型是否与对象属性要求符合。
排查2.req.timeStamp 时间戳是10位的 不是14位。
排查3.req.package 必须是@"Sign=WXPay"。
排查4.req.nonceStr 必须是第一次签名时候的 conceStr, 这里,你可以跟服务器说一下。
好了 排查完了。。。但是。。 --- 还没有能成功看到支付页面(有些可以了,就不需要往下看了)
最终的一个bug,, 超乎想象。(如果你的应用集成了友盟分享组件 或者 其他分享组件里面包含了 微信分享 分享授权登录的第三方 就得注意了)
排查5.
对了 这个bug 就是这两者注册的顺序
微信支付必须在友盟注册完成之后。
终于,看到最美丽的风景。
转载 记得标明原址。分享是学习最大的力量!
微信支付平台下载SDK 集成。 看到这开发文档,心中不免高兴一番,这么少。。。 多简单
接下来 按照文档步骤操作,集成完毕了。
这里要说一下,微信官方的开发文档获取订单和数据交互都交给服务器做了,如果你的应用需要在客户端对微信支付做交互
请点击这里
当然,为了安全,数据交互建议交给服务器操作。
服务器交互完毕最终给客户端返回 开发文档如出一辙的数据。
NSMutableString *stamp = [dict objectForKey:@"timestamp"]; //调起微信支付 PayReq* req = [[PayReq alloc] init]; req.partnerId = [dict objectForKey:@"partnerid"]; req.prepayId = [dict objectForKey:@"prepayid"]; req.nonceStr = [dict objectForKey:@"noncestr"]; req.timeStamp = [stamp intValue]; req.package = [dict objectForKey:@"package"]; //req.package = @"Sign=WXPay"; req.sign = [dict objectForKey:@"sign"]; [WXApi sendReq:req];
好了,终于能调起来微信。
如图。。
什么,这是什么鬼,, 微信bug吗,,有些还会遇到 刚刚调起微信 看到一闪而过的空白页就结束了(这里还能看到微信的确定,。, )
好了,, 是时候展现程序员们检测bug的技术了
排查1.如上 声明的 req 对象 属性 需要对应正确的类型值,也就是跟服务器对接 返回的数据类型是否与对象属性要求符合。
排查2.req.timeStamp 时间戳是10位的 不是14位。
排查3.req.package 必须是@"Sign=WXPay"。
排查4.req.nonceStr 必须是第一次签名时候的 conceStr, 这里,你可以跟服务器说一下。
好了 排查完了。。。但是。。 --- 还没有能成功看到支付页面(有些可以了,就不需要往下看了)
最终的一个bug,, 超乎想象。(如果你的应用集成了友盟分享组件 或者 其他分享组件里面包含了 微信分享 分享授权登录的第三方 就得注意了)
排查5.
//友盟微信分享授权注册 [UMSocialWechatHandler setWXAppId:WEIXINPayID appSecret:WEIXINSECRET url:UMSocialCallBack]; //微信支付注册 [WXApi registerApp:WEIXINPayID withDescription:WEIXINDescription];
对了 这个bug 就是这两者注册的顺序
微信支付必须在友盟注册完成之后。
终于,看到最美丽的风景。
转载 记得标明原址。分享是学习最大的力量!
相关文章推荐
- wing带你玩转自定义view系列(3)模仿微信下拉眼睛
- wing带你玩转自定义view系列(3)模仿微信下拉眼睛
- 微信支付获取 prepay id 偶尔失败问题【转】
- ios 单独集成qq和微信分享sdk的方法
- 从反编译微信看到的资源文件保护
- 【实际项目】微信相关api调用例子【以分享为例】
- [置顶] java版app微信支付服务端代码【手机app微信支付】
- 关于微信支付
- 微信6.0主界面
- 微信红包接口---你不知道的坑爹官方支付文档
- 5岁微信商业化之路:广告到应用号哪个靠谱?
- 微信客户端抽奖转盘效果
- 微信公众平台之CURL应用access_token
- 微信小店二次开发功能套餐列表
- 与独立、自由说再见!微信是怎样扼杀了它们
- 微信OAuth2.0授权
- C#-MVC开发微信应用(7)--在管理系统中同步微信用户分组信息
- 微信支付:body不是utf8编码
- 一个桌面系统的微信公众号开发
- Zabbix全方位告警接入-电话/微信/短信都支持