ios调起微信小程序支付SDK失败
- 场景
- 排查方向(1. 支付规范导致2. 参数缺少导致3. sdk版本问题)
-
- 微信小程序支付规范
-
- 解决方式
- 调起微信小程序参数问题(需要传入当前小程序的appId)
-
- 解决方式
- SDK版本问题
-
- 解决方式
场景 从外部APP跳转进入微信小程序中完成支付操作。安卓可以正常调起支付sdk,ios却不可以。
排查方向(1. 支付规范导致2. 参数缺少导致3. sdk版本问题) 微信小程序支付规范 【others|【问题排查与解决】ios调起微信小程序支付失败】微信小程序支付规范
文章图片
解决方式
云端在生成预支付订单时,不要出现,费用、支付、付费、续费、转账等与费用相关的字眼。
参考链接
调起微信小程序参数问题(需要传入当前小程序的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问题解决方式参考
希望本文可以帮到你。
推荐阅读
- Android开发|Flutter 小技巧之 ListView 和 PageView 的各种花式嵌套
- Flutter|Flutter使用小技巧三(持续更新)
- Android开发|Flutter 小技巧之 MediaQuery 和 build 优化你不知道的秘密
- 微信小程序|微信小程序项目实例——图片处理小工具(自制低配版美图秀秀)
- 历史上的今天|【历史上的今天】6 月 19 日(iPhone 3GS 上市;帕斯卡诞生;《反恐精英》开始测试)
- IOS常见问题|iphone屏幕参数iphone3GS~Iphone6 plus
- 侵掠如火|Block与函数指针有什么区别
- ios|ios 应用特殊节日页面整体变灰
- 网络|iOS 15.5 被曝“偷跑”流量(苹果(建议恢复出厂设置))