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

  • Post author:
  • Post category:小程序




场景

从外部APP跳转进入微信小程序中完成支付操作。安卓可以正常调起支付sdk,ios却不可以。



排查方向(1. 支付规范导致2. 参数缺少导致3. sdk版本问题)



微信小程序支付规范


微信小程序支付规范


在这里插入图片描述



解决方式

云端在生成预支付订单时,不要出现,费用、支付、付费、续费、转账等与费用相关的字眼。


参考链接



调起微信小程序参数问题(需要传入当前小程序的appId)


小程序拉取支付文档地址


在这里插入图片描述

公司前端小伙伴本身也是这样拉起支付的,安卓是可以正常拉起的,但ios就是不行,云端生成预支付订单的参数中也没有这些字眼(

费用、支付、付费、续费、转账



解决方式

最后排查了好久发现还需要再传入当前小程序的appId

实际调起微信小程序支付需要的参数

 "wcPayData":{
 			"appId":"wx0xxxxxxxxxxxxxxx",
            "timeStamp":"123456789",
            "package":"prepay_id=wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0000",
            "paySign":"xxxx",
            "signType":"xxx",
            "nonceStr":"xxxxxxxxxxx"
        },

加入appId参数之后,ios可以正常拉起密码框完成支付,而官方文档中并没有该参数,具体什么原因并不得知。



SDK版本问题

微信的SDK分两种,一种包含支付的SDK,另一中是不包含支付的SDK。



解决方式


sdk问题解决方式参考

希望本文可以帮到你。



版权声明:本文为YiQieFuCong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。