微信支付SDK在iOS上拉起失败怎么办?

程序员志青 阅读 21

我在用uni-app集成微信支付SDK,安卓能正常唤起支付页面,但iOS一直卡在“正在打开微信”然后就自动返回了,啥错误提示都没有。

已经确认universal link配置正确,也加了LSApplicationQueriesSchemes,调用的是uni.requestPayment这个API。真机测试iPhone 13,iOS 16.4,微信版本8.0.40。

这是我的支付参数结构:

{
  provider: 'wxpay',
  orderInfo: {
    appId: 'wx1234567890',
    timeStamp: '1680000000',
    nonceStr: 'abcdefg123456',
    package: 'prepay_id=wx1234567890abcdef',
    signType: 'RSA',
    paySign: 'ABCDEF1234567890abcdef'
  }
}
我来解答 赞 5 收藏
二维码
手机扫码查看
1 条解答
若惜酱~
iOS上uni.requestPayment的参数结构和Android不一样,别把参数嵌套在orderInfo里,直接扁平化试试:

uni.requestPayment({
provider: 'wxpay',
timeStamp: '1680000000',
nonceStr: 'abcdefg123456',
package: 'prepay_id=wx1234567890abcdef',
signType: 'MD5',
paySign: 'ABCDEF1234567890abcdef',
success: function(res) {
console.log('支付成功', res);
},
fail: function(err) {
console.log('支付失败', err);
}
})


另外把signType改成MD5,iOS微信SDK对RSA支持不太稳定。还有确认下manifest.json里微信支付模块的iOS平台配置,appId要和你在微信开放平台注册的一致。
点赞
2026-03-18 14:03