微信支付模式差异导致页面跳转问题及解决方案

2024-10-04
来源:网络整理

上一篇文章提到了微信授权和微信支付。本以为付款就可以了,没想到这周测试却出现了一个重要且紧急的问题。

上线后,用户成功点击微信支付完成按钮后,页面直接关闭。我们的支付是由后端发起的,并没有根据回调地址跳转。已经在测试线上测试过,没有任何问题。到了官网上就是这样。而且我们公司在另一个域名有同样的代码也没有问题。经过调查,我将这套代码的环境与另一组代码进行了对比,发现微信支付模型是不同的。一种使用直连模式,一种有问题的使用服务商模式。

通过微信社区,我们发现微信已经升级为支付后跳转到指定页面()。要实现页面跳转,需要激活点金计划。

具体实现(开发文档:开发文档底部有产品文档,只需按照步骤即可完成):

前端具体实现:

1.页面部分:需要单独的页面(即所谓的商户收据)。这个页面会以回调的形式嵌入。支付后的回调链接中会有一个参数。使用此参数可以获取详细信息。 Page 主要调用以下两个方法。注意:还必须引入文档中提到的js,否则会受到惩罚。

//初始化展示小票,请求完数据后,调用这个方法, var initData = { action: 'onIframeReady', displayStyle: 'SHOW_CUSTOM_PAGE', //height:600px,不知道为什么没有生效 } var initPostData = JSON.stringify(initData) // parent.postMessage(initPostData, 'https://payapp.weixin.qq.com') parent.postMessage(initPostData, '*') //跳转外联 let mchData = { action: 'jumpOut', jumpOutUrl: entryUrl //跳转的页面 }; var postData = JSON.stringify(mchData) // parent.postMessage(postData, 'https://payapp.weixin.qq.com') 之前用这个地址,但是无法显示小票,又迫于后台无法将这个网址添加到ng中,所以就试了下边这个方法,果然可以。 parent.postMessage(postData, '*')

2、微信支付支付方案已激活。

登录微信支付服务商平台,服务商功能→点金计划,先添加收货链接,然后根据后台提供的实际订单信息在商户收货调试工具中进行调试。如果能正常显示,就说明没有问题。问题(测试扫码的微信ID必须与支付的微信ID一致,否则无法正常显示)

微信扫码支付步骤_使用微信扫码支付具体步骤_微信扫码支付怎么扫码

如果调试页面能够正常显示,则可以激活点金计划。打开点金计划和商户小票,然后一定要在更多中配置商户小票的链接地址,否则微信将使用官方小票模板。

3、注意。

一路上按照文档进行开发和配置,但还是有很多陷阱需要特别注意:

1.在Vue项目中,这两种方法不能应用于声明周期。看了很久才发现,原来是一个深坑。

2..(,'#39;)一直报域名不允许访问的错误。我们的后端无法将域名放入ng中,所以我们使用了这种方法。 (,'*'),有效。

3. 票务页面空白,无任何显示。建议打开查看HTML的font-size是否为0。部分苹果手机显示白屏。这也是长期以来的一个问题。

如果这些都没有问题的话,你可以查看官方链接(我在社区找到的--||)。反正一步一步来,很多文档都没有。你需要去社区去挖掘。

%25E7%2582%25B9%25E9%2587%2591%25E8%25AE%25A1%25E5%2588%2592

分享