微信支付[签名错误]-微信,PHP,XMLPOST,

问个问题:[关于微信支付]
背景:现有一认证微信服务号,需要在自定义菜单跳转的网页中实现商城支付功能.商城使用PHP,MYSQL,实现
现在在做微信支付功能遇到问题.

1.目前在做微信公众号支付>>统一下单API.
[统一下单APIlink:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1].
需要接上API,并获取SUCCESS状态下的数据[主要是想获取>预支付交易会话标识 (prepay_id) ]
2.现在问题:在向API发送POST请求后,得到的结果是FAILT.
问题提示:[返回的原数据]
<![CDATA[FAIL]]>
<![CDATA[签名错误]]>

3.我做过的事情:
a.使用"在线签名验证工具"验证自己生成的签名,我生成的签名与该工具得出的结果是一样的.
["在线签名验证工具"url:http://mch.weixin.qq.com/wiki/tools/signverify/]
b.我是POST XML字符串过去的.与"在线签名验证工具"中提出的结果是一样的.

4.纠结的地方:微信公众平台后台设置,签名,POST URL,sign,甚至是XML数据,我都检查过了,但API返回结果竟然还是 签名错误 .
我唯一想到的问题可能就是,"在线签名验证工具"不靠谱.但我找不到其它的方式来验证我的签名是否正确.

有哪位网友做过微信公众号支付的朋友帮忙查看一下吗?纠结了好久了.

5个回答

签名最好用官方提供的例子,一个小地方错误,都会导致签名错误

u011396401
佛根 官方的代码如果一直提示,你可以尝试一下把商户的KEY重新设置一下,我就是这样的,什么都没问题,重新设置了一下KEY就好了
接近 4 年之前 回复
hxw782590875
hxw782590875 我的微信公众号在点击支付是,总是弹出:签名错误,怎么解决?可以帮帮我吗?
接近 4 年之前 回复
amqvje
阿牛哥818 已经解决,问题不是签名的方法,而是混淆了商户KEY 与 APP SECRECT 的概念。签名使用的是商户号中的密钥。
大约 5 年之前 回复
amqvje
阿牛哥818 已经解决,问题不是签名的方法,而是混淆了商户KEY 与 APP SECRECT 的概念。签名使用的是商户号中的密钥。
大约 5 年之前 回复

问题在于你的XML格式不对,微信狗日的在不显眼的地方写了一句xml转义,特么的在线校验出来的最终请求体xml格式又没有转义,但是传给他的xml格式应该要这样:
<![CDATA[你的appid]]>;也就是说参数值要用<![CDATA[]]>装起来

weixin_41817525
weixin_41817525 请问传的所有值都要转义吗
接近 2 年之前 回复
REN_APPLE_
REN_APPLE_ 你说的 太对了 感谢大神的答案 问题终于解决了
接近 4 年之前 回复

我也遇到同样的问题,终于搞定了,参与签名的参数要和最后提交的xml参与保持一致,希望能帮到大家,这个问题也困扰我多时

qq_34954986
一级PHP码农 签名是安招ascll码表排过序的,最后提交xml中参数顺序也要安照ascll码表排序吗?
大约 3 年之前 回复
yd992594492
EdgeDi 什么意思
3 年多之前 回复
qq_32851971
夏季的海风 帮到我了,这个参数里有个价格,我之前单位原因沒一致
接近 4 年之前 回复
hxw782590875
hxw782590875 你是怎么解决的可以帮帮我吗,我电话是18934711289
接近 4 年之前 回复

头大。微信统一支付这块签名总是错误。不知道什么原因,烦啊

头大。微信统一支付这块签名总是错误。不知道什么原因,烦啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问