温锦文欧普厨电及净水器总代理 发表于 2025-3-23 02:03:34

在 QQ 小步伐中利用 qq.requestWxPayment 唤起微信支付(iOS 设备问题)

在 QQ 小步伐中利用 qq.requestWxPayment 唤起微信支付(iOS 设备)

配景

按照官方文档写在 安卓 打开是没有问题的。可以正常支付。IOS会报错。走的是fail 。
由于如今小步伐无法唤出浏览器等其他应用。只能开接口本领。web-view方案直接否定。。
QQ文档
属性类型默认值必填说明urlstring是微信支付跳转链接,利用 服务端-同一下单哀求 获取refererstring是商户申请 H5 支付时提交的授权域名(例如 http://q.qq.com ),参考 微信H5支付文档、 申请规则说明successfunction否接口调用乐成的回调函数failfunction否接口调用失败的回调函数completefunction否接口调用竣事的回调函数(调用乐成、失败都会实行) qq.requestWxPayment({
url: "",
referer: "",
success(res) { },
fail(res) { }
})

解决方案

在 iOS 设备上,qq.requestWxPayment 需要正确通报 referer 和 Referer 参数,以确保微信支付可以大概辨认哀求来源并正常唤起。
在 QQ 小步伐中,利用 qq.requestWxPayment 接口唤起微信支付时,发现 Android 设备可以正常唤起,但 iOS 设备无法唤起。颠末调试,发现关键在于正确通报 referer 和 Referer 参数。
关键点


[*] referer 和 Referer 参数:

[*]这两个参数的作用是告诉微信支付哀求的来源(即 QQ 小步伐的域名或 URL)。
[*]在 iOS 设备上,微信支付需要验证哀求的来源,因此必须正确通报这两个参数。
[*]注意:referer 和 Referer 都需要通报,可能是由于微信支付在差别环境下对参数的巨细写敏感。
QQ文档是没有大写的Referer的,多传这个参数便可解决问题。。。

[*] url 参数:

[*]url 是微信支付的 H5 链接,通常由后端生成。
[*]redirect_url 是支付完成后跳转的 URL,通常是小步伐的某个页面。

[*] 回调函数:

[*]success:支付乐成后的逻辑。
[*]fail:支付失败后的逻辑。
[*]complete:支付完成后的逻辑(无论乐成或失败)。

官方例子改成

qq.requestWxPayment({
url: "",
referer: "",
Referer: "",
success(res) { },
fail(res) { }
})

代码示例

以下是一个完整的代码示例,展示了如何在 QQ 小步伐中利用 qq.requestWxPayment 唤起微信支付,并处理支付结果。
qq.requestWxPayment({
url: `${h5_url}`,
referer: HTTP_REQUEST_URL, // 来源域名
Referer: HTTP_REQUEST_URL, // 来源域名(大小写敏感)
success: () => {
},
fail: (err) => {
    // 支付失败后的逻辑
    console.log('调起支付失败的原因', err);
},
complete: (res) => {
    // 支付完成后的逻辑(无论成功或失败)
}
});
参数说明



[*]h5_url:微信支付的 H5 链接,由后端生成。
[*]HTTP_REQUEST_URL:QQ 小步伐的域名或 URL。
注意事项


[*] referer 和 Referer 参数:

[*]确保它们的值与微信支付配置中的来源域名一致。
[*]确保它们的巨细写正确。

[*] url 参数:

[*]确保 url 是有效的微信支付 H5 链接。
[*]确保 redirect_url 是有效的 URL,并且已正确编码。

[*] 调试与排查:

[*]在 fail 和 complete 回调中打印日记,查抄是否有错误信息。
[*]假如问题无法解决,可以接洽微信支付的技术支持团队,提供详细的日记和复现步调。

总结

通过正确通报 referer 和 Referer 参数,可以在 iOS 设备上乐成唤起微信支付。本文提供了完整的代码示例和注意事项,资助开辟者快速实现 QQ 小步伐中的微信支付功能。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 在 QQ 小步伐中利用 qq.requestWxPayment 唤起微信支付(iOS 设备问题)