您的位置:首页 > 移动开发 > 微信开发

微信支付

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
需要知道支付结果 :代理方法不执行!!
原因》
<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>


暂时就这么多了 后续更新中…………
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: