iOS开发之微信支付的坑:

项目刚上架,也有些时间,纪录一下开发过程中所遇到的坑;稍后一系列的坑,都会遵循先做问题说明,再上代码。


iOS App集成第三方,有两种方式,1,是集成起对应的sdk; 2,则是url scheme启动第三方应用;支付宝支付我用第一种方式纪录描述,微信用第二种方式纪录描述;


坑1,微信支付:

1,微信支付是按照分计的;


2,微信支付,支付金额为0时,是不能打开对微信app的;


3,网络不好时,微信偶尔会抽风,报一个
Error Domain=weixin_pay Code=-2的错误;

4,确认安装微信;

+(BOOL)isWeixinInstalled{

    return [self canOpen:@"weixin://"];

}

依据返回值进行相关的操作,为YES 进行下一步的操作,否则提示玩家安装,需要注意的是:

iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。

  受此影响,当你的应用在iOS 9中需要使用微信SDK的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码:

  LSApplicationQueriesSchemes

  weixin

  wechat

  NSAppTransportSecurity

  NSAllowsArbitraryLoads

  完成后需使用Xcode 7编译。

  请注意:未升级到微信客户端6.2.5及以上版本的用户,在iOS 9下使用到微信相关功能时,仍可能无法成功。


6:partnerid 和 mchid是一个东西,可是官方文档上却显示不是一个东西,好坑好坑!所以在二次签名的时候:

[signParams setObject: mchid        forKey:@"partnerid"];

      这样就好;

7:  打开微信支付,openURL的参数需要你自己组装,一般这一串数据是由服务器返回(因为私钥放在本地确实太安全),也可以放在本地,那就需要自己组装URL:

@"weixin://app/%@/pay/?....&signType=SHA1"


以上就是微信支付遇到的一些坑:
若有什么疑问可以Q我,QQ418835335,验证信息:iOS开发


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值