商家小票和点金计划都已经在配置中打开,链接和签名文档也都已经配置好了,调试工具中生成的页面能直接展示出来,正式环境支付完成跳转到点金计划页面,提示无法获取订单信息。请问怎么处理?大概是什么原因?
【左图】支付结果 【右图】调试结果
代码如下 ,浏览器是可以正常访问
支付详情
window.onload = function(){
// 通知
function postMessage(params){
parent.postMessage(JSON.stringify(params), 'https://payapp.weixin.qq.com')
}
// 跳转
function jumpUrl(url){
var params = {
action: 'jumpOut',
jumpOutUrl: window.location.origin + url
}
postMessage(params)
}
document.querySelector('.btn').addEventListener('click', function(){
document.querySelector('.btn-wrap').classList.add('loading');
setTimeout(function(){
try {
var xhr = new XMLHttpRequest()
xhr.open('post', '/api/pay/getTransactionInfo')
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.send(window.location.search.replace('?',''))
xhr.onreadystatechange = function() {
if(xhr.readyState === 4) {
if(xhr.status === 200){
var data = JSON.parse(xhr.responseText)
if(data.data){
var from = data.data.from
jumpUrl('跳转地址');
}
}
}
}
} catch (error) {
document.querySelector('.btn-wrap').classList.remove('loading');
}
},1500)
})
// 基本设置
function baseSetting(){
var params = {
action: 'onIframeReady',
displayStyle: 'SHOW_CUSTOM_PAGE'
}
postMessage(params)
}
baseSetting()
}
支付成功
订单已支付成功,请点击立即查看
立即查看
</html>
点金计划商家小票部分不显示,提示“无法获取订单信息”页面可以按以下几个步骤检查:
1、已打开特约商户的商家小票及点金计划开关
2、商家小票页面需调用父页面“onIframeReady事件”的jsapi,具体请查看商家小票开发指引
3、从加载商家小票到调用JSAPI之间的用时不可超过3s
4、调试时,扫描二维码的微信号和支付该笔测试订单的微信号需为同一个
5、商家小票页面可正常访问
6、检查商家小票请求的Response Headers中X-Frame-Options是否允许payapp.weixin.qq.com访问
7、如果是使用VUE,onIframeReady不能放在created里执行
8、如果上述方法都不行,请先编写一个最简单的demo页面,看看demo页面是否成功
9、商家URL是否有进行重定向,是否重定向到http的链接
重点检查第三点