iOS微信支付那些坑

最近在集成微信支付,使用过程中遇到的那些坑分享出来,共勉。

微信支付平台下载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 就是这两者注册的顺序

微信支付必须在友盟注册完成之后。



终于,看到最美丽的风景。

转载 记得标明原址。分享是学习最大的力量!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS微信支付宝封装是指在iOS平台上对微信支付支付支付功能进行封装和集成,方便开发者在自己的应用中集成使用这两种支付方式。 首先,对于微信支付的封装,开发者可以使用微信官方提供的iOS SDK进行集成。该SDK包含了微信支付的各种功能和接口,如创建支付订单、发起支付请求、支付结果回调等。开发者只需按照微信提供的文档进行相应的调用和配置,即可实现在自己的应用中使用微信支付功能。 其次,对于支付支付的封装,同样可以使用支付宝官方提供的iOS SDK进行集成。该SDK包含了支付支付的相关功能和接口,如创建支付订单、发起支付请求、支付结果回调等。开发者只需按照支付宝提供的文档进行相应的调用和配置,即可实现在自己的应用中使用支付支付功能。 通过对iOS微信支付宝的封装,开发者可以在自己的应用中方便地集成和使用微信支付支付支付功能,提供给用户更多的支付方式选择,方便用户进行支付操作。同时,封装的过程也可以提高开发效率和代码的复用性,减少开发者的开发工作量。 需要注意的是,为了保证支付过程的安全性和可靠性,开发者在集成和使用支付功能时应按照相关的规范和指引进行操作,确保支付过程的顺利完成和支付信息的安全保密。同时,开发者还需要了解和掌握各种支付方式的使用规则和注意事项,方便根据实际需求进行相应的配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值