记联调微信支付,调起微信支付之后显示支付验证失败

今天下午和安卓和IOS联调一下支付,一开始一切顺利, 调订单, 调统一支付, 结果到了调起微信打开支付的时候显示支付失败, 显示 ( 支付验证签名失败 ) 返回错误信息显示 -2 ,按照常理应该显示的是 -1

然后我一脸懵逼, 不是刚在官网测试了签名显示通过了吗? 验证签名地址: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=20_1

然后重新回顾了下了文档的流程, 检查了下参数值, 参数大小写, 签名拼接逻辑, 签名加密方法, 等并无异常, 但是微信调起还是显示签名失败,

于是重头开始筛查了一遍,

1. 统一下单接口可以使用并且正常返回参数,说明签名加密规则和签名解密规则正确,

2. 然后检查调起微信参数大小写,也没问题,

3. 检查参数类型和文档区别, 发现提供的时间和类型长度不一致, 怀疑是这里的问题

 经过一番测试, 发现这里的时间是 年月日时 代码如下:

$data['timestamp'] = date("YmdH");

App测试之后调起成功 ! 支付小插曲解决!

总结 :

  没有仔细查看文档,没有注意小细节问题,

  遇到问题尝试解决的时候应该去论坛上查一下同类问题, 解决速度会快很多, 微信支付论坛 https://developers.weixin.qq.com/community/develop/mixflow

  参考博文 https://developers.weixin.qq.com/community/develop/doc/000c8aeaa34098dc7408e86d05b000

诸君共勉之 !

原文地址:https://www.cnblogs.com/http-500/p/13555288.html