others|【问题排查与解决】ios调起微信小程序支付失败


ios调起微信小程序支付SDK失败

  • 场景
  • 排查方向(1. 支付规范导致2. 参数缺少导致3. sdk版本问题)
    • 微信小程序支付规范
      • 解决方式
    • 调起微信小程序参数问题(需要传入当前小程序的appId)
      • 解决方式
    • SDK版本问题
      • 解决方式

场景 从外部APP跳转进入微信小程序中完成支付操作。安卓可以正常调起支付sdk,ios却不可以。
排查方向(1. 支付规范导致2. 参数缺少导致3. sdk版本问题) 微信小程序支付规范 【others|【问题排查与解决】ios调起微信小程序支付失败】微信小程序支付规范
others|【问题排查与解决】ios调起微信小程序支付失败
文章图片

解决方式
云端在生成预支付订单时,不要出现,费用、支付、付费、续费、转账等与费用相关的字眼。
参考链接
调起微信小程序参数问题(需要传入当前小程序的appId) 小程序拉取支付文档地址
others|【问题排查与解决】ios调起微信小程序支付失败
文章图片

公司前端小伙伴本身也是这样拉起支付的,安卓是可以正常拉起的,但ios就是不行,云端生成预支付订单的参数中也没有这些字眼(费用、支付、付费、续费、转账)
解决方式
最后排查了好久发现还需要再传入当前小程序的appId
实际调起微信小程序支付需要的参数
"wcPayData":{ "appId":"wx0xxxxxxxxxxxxxxx", "timeStamp":"123456789", "package":"prepay_id=wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0000", "paySign":"xxxx", "signType":"xxx", "nonceStr":"xxxxxxxxxxx" },

加入appId参数之后,ios可以正常拉起密码框完成支付,而官方文档中并没有该参数,具体什么原因并不得知。
SDK版本问题 微信的SDK分两种,一种包含支付的SDK,另一中是不包含支付的SDK。
解决方式
sdk问题解决方式参考
希望本文可以帮到你。

    推荐阅读