小程序发布之后内嵌的H5页面WeixinJSBridge.invoke无法唤起支付,不过在使用微信开发工具模拟手机测试的时候却可以唤起支付,请问是为什么?
代码如下:
WeixinJSBridge.invoke(
"getBrandWCPayRequest",
{
appId: res1.data.appId, //公众号ID,由商户传入
timeStamp: res1.data.timeStamp, //时间戳,自1970年以来的秒数
nonceStr: res1.data.nonceStr, //随机串
package: res1.data.packageValue,
signType: res1.data.signType, //微信签名方式:
paySign: res1.data.paySign, //微信签名
},
function (res) {
console.log("res1:", res);
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
// 支付成功,变为已支付状态
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
// 支付成功后,跳转至结算界面
uni.navigateTo({
url: `./paysuccess?price=${orderPrice}`,
});
} else {
this.$refs.uToast.show({
title: "用户已取消支付",
type: "default",
});
// console.log('支付失败');
}
}
);
小程序内只能使用小程序支付,不支持H5支付。
是的,不支持。虽然webview是内嵌的微信浏览器,但是小程序里面的是不支持jssdk,官方来说正常是不行。除非是不正常的做法。