小程序
小游戏
企业微信
微信支付
扫描小程序码分享
报错system:access_denied,是签名配置不对吗,还是哪里的配置有问题,在微信客户端的浏览器中打开的
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
不支持内嵌webview,你好请问是小程序内直接拉起确认页面的吗https://pay.weixin.qq.com/doc/v3/merchant/4012716430
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这报错是没有权限
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
不支持内嵌webview,你好请问是小程序内直接拉起确认页面的吗https://pay.weixin.qq.com/doc/v3/merchant/4012716430
这报错是没有权限
requestMerchantTransfer
debug: WX_DEBUG,
appId,
timestamp: signData.timestamp,
nonceStr: signData.noncestr,
signature: signData.signature,
jsApiList: ['requestMerchantTransfer']
})
window.wx.ready(() => {
clearTimeout(timeout)
if (settled) return
console.log('[微信转账] 8. wx.ready 已触发,开始 checkJsApi')
const checkApiTimeout = setTimeout(() => {
if (settled) return
settled = true
console.error('[微信转账] checkJsApi 5 秒内未回调,当前非微信内置浏览器时会出现此情况')
reject(new Error('未检测到微信环境,请用手机微信打开此页面再试'))
}, 5000)
const doneReject = (err) => {
clearTimeout(checkApiTimeout)
once(reject)(err)
}
window.wx.checkJsApi({
jsApiList: ['requestMerchantTransfer'],
success(res) {
const supported = res.checkResult && res.checkResult.requestMerchantTransfer
console.log('[微信转账] 9. checkJsApi success', { checkResult: res.checkResult, requestMerchantTransfer: supported })
if (supported) {
clearTimeout(checkApiTimeout)
if (typeof window.WeixinJSBridge === 'undefined') {
console.error('[微信转账] WeixinJSBridge 不存在,当前环境非微信内置浏览器')
doneReject(new Error('请在微信内打开此页面完成转账'))
return
}
console.log('[微信转账] 10. 调起 WeixinJSBridge.requestMerchantTransfer')
// window.WeixinJSBridge.invoke(
// 'requestMerchantTransfer',
// {
// mchId,
// appId,
// package: packageInfo
// },
// (wxRes) => {
// console.log('[微信转账] 11. requestMerchantTransfer 回调', wxRes)
// if (wxRes && wxRes.err_msg === 'requestMerchantTransfer:ok') {
// once(resolve)()
// } else {
// once(reject)(new Error((wxRes && wxRes.err_msg) || '转账调起失败'))
// }
// }
// )
wx.invoke('requestMerchantTransfer', {
mchId: mchId,
appId: appId,
package: packageInfo
}, function(res) {
console.log('[微信转账] requestMerchantTransfer 回调', res);
if (res.err_msg === 'requestMerchantTransfer:ok') {
// 成功调起确认页面
resolve();
} else {
// 调起失败:res.err_msg 可能是 'fail' 或 'cancel'
reject(new Error(res.err_msg || '转账调起失败'));
}
});
} else {
console.warn('[微信转账] requestMerchantTransfer 不可用(仅支持微信内置浏览器)')
doneReject(new Error('当前微信版本过低或未在微信内打开,请用手机微信打开此页面'))
}
},
fail: (err) => {
console.error('[微信转账] checkJsApi fail', err)
doneReject(err || new Error('checkJsApi 失败'))
}
})
})
window.wx.error((err) => {
clearTimeout(timeout)
console.error('[微信转账] wx.error 触发(config 失败)', err)
once(reject)(err || new Error('wx.config 失败'))
})
})
}