ipv4&ipv6导致微信H5支付问题

问题背景:

微信APP支付需要与包名、签名绑定,因此客户端使用微信H5支付,可以避开大量马甲包支付问题

 

使用微信H5支付偶尔会出去以下问题:

ipv4&ipv6导致微信H5支付问题_第1张图片

 

意思是说在支付过程中,用户的ip有变动,从而导致支付失败!!

 

为了测试这个问题开始采坑:

1、模拟支付过程ip变动

2、故意提交错误ip给微信

结果:支付失败,出现上图

 

奇怪的问题出现了:

1、使用同一个网络,调起支付。在支付过程中ip应该不会变化的,但为何出现了上图失败的情况????

2、联想到有关ip问题,ipv4&ipv6。

结果:原来服务端不支持ipv6,但微信拿到的ip是ipv6,从而导致ip不一致。

 

解决方案:

方法1:禁用客户端的ipv6

方法2:服务端支持ipv6

 

后续发现:提交随意ip地址,发现支付成功!! 猜想微信修改了这个网络校验

 

延伸问题:微信登录授权时长是否和ipv6有关??

你可能感兴趣的:(微信支付,ipv4&ipv6)