amqvje
阿牛哥818
采纳率100%
2015-05-01 03:39 阅读 16.3k

微信支付[签名错误]-微信,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条回答 默认 最新

  • 已采纳
    hawkcraw hawkcraw 2015-05-11 06:14

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

    点赞 评论 复制链接分享
  • baidu_35194956 baidu_35194956 2016-06-02 01:57

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

    点赞 5 评论 复制链接分享
  • xinglei150 xinglei150 2015-09-16 07:57

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

    点赞 2 评论 复制链接分享
  • zhaofeng365 zhaofeng365 2015-09-28 13:30

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

    点赞 评论 复制链接分享
  • zhaofeng365 zhaofeng365 2015-09-28 13:30

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

    点赞 评论 复制链接分享

相关推荐