微信支付
2016-01-30 18:31
316 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。
昨天晚上加班搞项目 微信支付:遇见了前所未有的坑,因为是接受别人的项目 代码写的惨不忍睹 看了两周大概业务逻辑能看懂了,接受之后遇到的最大的问题 就是添加微信支付了,调试了一晚上:终于成功支付了:
因为是订单信息是直接从服务器上面获取的 相对来说还是比较容易一点的
直接进入正题:
坑1;在订单生成的时候
//调起微信支付
PayReq *pR = [[PayReq alloc]init];
pR.openID = dict[@"appid"];
pR.partnerId = dict[@"partnerid"];
pR.prepayId = dict[@"prepayid"];
pR.nonceStr = dict[@"noncestr"];
pR.package = dict[@"package"];
pR.timeStamp = stamp.intValue;
NSLog(@"%d",stamp.intValue);
pR.sign = dict[@"sign"];
[WXApi sendReq:pR]
这几个参数一定不能少:而且预支付后台已经做过了 至于什么二次签名之类的肯呢个没有遇到。
坑2:原先项目中有微信分享功能,如果直接调用接口的话是
[WXApi sendReq:pR]这个方法的返回值一直是no 查了好多资料 原因就是他那个库的问题 ,下载最新的.a文件替换掉就行了,
坑3:这个是替换完之后加一个动态库就行了:libsqlite3.0.tbd
坑4:
-(void) onResp:(BaseResp*)resp
需要知道支付结果 :代理方法不执行!!
原因》
但是建议还是使用这个代理回调:
暂时就这么多了 后续更新中…………
昨天晚上加班搞项目 微信支付:遇见了前所未有的坑,因为是接受别人的项目 代码写的惨不忍睹 看了两周大概业务逻辑能看懂了,接受之后遇到的最大的问题 就是添加微信支付了,调试了一晚上:终于成功支付了:
因为是订单信息是直接从服务器上面获取的 相对来说还是比较容易一点的
直接进入正题:
坑1;在订单生成的时候
//调起微信支付
PayReq *pR = [[PayReq alloc]init];
pR.openID = dict[@"appid"];
pR.partnerId = dict[@"partnerid"];
pR.prepayId = dict[@"prepayid"];
pR.nonceStr = dict[@"noncestr"];
pR.package = dict[@"package"];
pR.timeStamp = stamp.intValue;
NSLog(@"%d",stamp.intValue);
pR.sign = dict[@"sign"];
[WXApi sendReq:pR]
这几个参数一定不能少:而且预支付后台已经做过了 至于什么二次签名之类的肯呢个没有遇到。
坑2:原先项目中有微信分享功能,如果直接调用接口的话是
[WXApi sendReq:pR]这个方法的返回值一直是no 查了好多资料 原因就是他那个库的问题 ,下载最新的.a文件替换掉就行了,
坑3:这个是替换完之后加一个动态库就行了:libsqlite3.0.tbd
坑4:
-(void) onResp:(BaseResp*)resp
需要知道支付结果 :代理方法不执行!!
原因》
<code class="objectivec">– (<span class="hljs-built_in" style="color: rgb(102, 0, 102);">BOOL</span>)application:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">UIApplication</span> *)application handleOpenURL:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">NSURL</span> *)url;</code>
<code class="objectivec">这个代理方法已经不用了:</code>
<code class="objectivec">被这个代理方法取代了:</code><pre class="hljs objectivec" name="code" style="white-space: pre-wrap; word-wrap: break-word; padding: 0.5em; background-color: rgb(255, 255, 255);"><code class="objectivec">– (<span class="hljs-built_in" style="color: rgb(102, 0, 102);">BOOL</span>)application:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">UIApplication</span> *)application openURL:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">NSURL</span> *)url sourceApplication:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">NSString</span> *)sourceApplication annotation:(<span class="hljs-keyword" style="color: rgb(0, 0, 136);">id</span>)annotation </code>
但是建议还是使用这个代理回调:
<code class="objectivec">- (<span class="hljs-built_in" style="color: rgb(102, 0, 102);">BOOL</span>)application:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">UIApplication</span> *)app openURL:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">NSURL</span> *)url options:(<span class="hljs-built_in" style="color: rgb(102, 0, 102);">NSDictionary</span><<span class="hljs-built_in" style="color: rgb(102, 0, 102);">NSString</span>*, <span class="hljs-keyword" style="color: rgb(0, 0, 136);">id</span>> *)options </code>
暂时就这么多了 后续更新中…………
相关文章推荐
- 微信自定义分享获取签名
- Android 仿QQ和微信发送表情 聊天框架
- 简单的方法实现仿微信底部的Tab选项卡界面
- SAE+Servlet+JSP实现微信公众平台OAuth2.0网页授权的使用
- 仿微信滑动Tab框架
- 微信开放平台公众号第三方平台开发 教程一 平台介绍
- QQ 微信抢红包
- 微信公众平台获取网页授权(测试号)
- 微信 网页授权获取用户基本信息(OAuth 2.0)
- token验证失败
- 微信抢红包神器-安卓专享。再也不会错过红包了
- 编译60个小程序之makefile
- CSDN上遇到的骗子
- Canvas模仿微信红包照片
- 微信支付 跳转只有一个确定按钮的坑
- 博客已经整体迁移到微信公众号:citrixeric,欢迎关注
- 微信公众账号的赚钱和推广方式
- 从微信观看游戏制作观
- 夺命雷公狗---微信开发18----删除自定义菜单
- 夺命雷公狗---微信开发17----自定义菜单的事件推送,响应菜单的CLICK