ios调起微信小程序支付SDK失败
场景
从外部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。
解决方式
希望本文可以帮到你。