微信h5支付referer的问题

本人在开发的时候,当时第一次碰到微信h5支付,根据后端返回的mweb_url直接使用lcoation.href进行跳转,(注意,此时是开发环境下,即localhost:8080下),然后微信支付后台验证之后,返回的了“商家存在未配置参数,请联系商家解决”;

然后我也是第一次碰到这个情况,我以为是后端的参数没有配置,直接找后端沟通,然后后端让我在头里面加上referer这个参数,我想我前端用的是location.href跳转的,怎么在头里面加上referer这个参数呢?

于是就在网上荡了3个小时,任是没有找到适合我的解决方案,都是一些我看不懂的代码,比如在webview中配置referer。但是也知道了为什么会报“商家存在未配置参数,请联系商家解决”这个问题了,是因为你在开发环境下的来源(referer)是localhost:8080;而公司在微信支付那边申请的h5支付域名没有这个。因为微信支付后台就会给出这样的返回。

然后第二天我还是没有解决这个问题,但是那天合作方又需要我的h5链接地址,于是就麻烦同事帮忙在测试环境上部署了一版;这个时候我觉得应该就可以正常的支付了,为什么呢?

因为 此时测试环境下的来源referer是一个二级域名,而公司在微信支付那边申请的是支付域名是一级域名,这个时候,微信支付后台认为这来源是一致的;这个时候就会在浏览器调用deep_link链接去唤醒微信支付。

总结:就是referer其实不需要进行配置,在测试环境上就能后正常使用;但是有一个缺点就是每次代码做了修改,都需要进行测试环境的发布,比较麻烦。因为为了方便还是需要在开发的时候把referer的问题给解决了,才好。希望后期有时间在做处理吧!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值