php服务器 微信支付 验签失败,微信支付服务商签名验证无误,但是统一下单后服务器返回【签名错误】...

微信支付服务商签名验证无误,但是统一下单后服务器返回,

同样的代码,采用普通商户模式,一切正常,采用服务商受理模式就签名错误,很是无奈。

普通商务模式,统一下单提交数据如下,可以正常支付:

wx4a7********3f

1********001

WEB

mi068g76xh8sqjiwq9pn5fhgx0xc02gu

9A1A3EE2FDB8A654BEE511DFB51632CD

flyjee

161018T1637310011323101119

CNY

1

1.84.114.244

http://********.com/payment/wxpay/notify

NATIVE

T163731001

服务商受理模式,统一下单提交数据如下,无法正常支付,服务器返回签名失败:

wx4**********d3f

1**********02

14**********02

WEB

syxwhyaimb9jdmwu9p567g8rafgfhxy9

45348143E73EFD6B5531ADEEB385E1A8

flyjee

161018T207610011419101219

CNY

1

1.84.114.244

http://**********.com/payment/wxpay/notify

NATIVE

T20761001

签名验证结果如下:

cdd1ff379c900b166af86bac04fb6d5f.png

以上可见,签名本身算法都是没有问题的。如果mch_id,sub_mch_id,appid等出现错误,也会在微信服务器验证签名之前首先验证,并报错返回的。

经过两天折磨,百般尝试,度娘谷歌,都无果。今天进行参数及业务对比发现,系统参数不会有错了,业务参数也不应该有错,开始怀疑Key的问题,之前一直用的是普通商户对应微信服务号的key,一直认为和升级成服务商后对应的应该是一个。

开始检查,服务商平台--账户中心--API安全,在这里找到了key设置的地方。如下图,根本就没有说当前的key是什么,也没有说要设置,也没有任何接口说要使用这里的key,整个就是一个坑。

点击“设置密钥”,进入后,将密钥设置的和原来的密钥一样。

94e66572cbe8f241a7a5dde725e4ef2e.png

测试,通过了!!居然通过了!!!

这就是巨大的坑啊,微信接口太不靠谱了。

至此问题解决了,希望对大家有帮助

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值