微信支付的那些坑

昨天晚上加班搞项目 微信支付:遇见了前所未有的坑,因为是接受别人的项目 代码写的惨不忍睹 看了两周大概业务逻辑能看懂了,接受之后遇到的最大的问题 就是添加微信支付了,调试了一晚上:终于成功支付了:

因为是订单信息是直接从服务器上面获取的  相对来说还是比较容易一点的

直接进入正题:

坑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

  需要知道支付结果 :代理方法不执行!!
原因》
– (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
这个代理方法已经不用了:
被这个代理方法取代了:
– (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 

 但是建议还是使用这个代理回调:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options 

暂时就这么多了 后续更新中…………


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值