主页 > 知识库 > 微信支付--签名错误问题的解决方法

微信支付--签名错误问题的解决方法

热门标签:北京外呼系统咨询电话 高德地图标注公司位置需要钱吗 襄阳外呼增值业务线路解决方案 地图标注资源分享注册 庆阳外呼系统定制开发 怎么去掉地图标注文字 海南人工外呼系统哪家好 合肥阿里办理400电话号 廊坊地图标注申请入口

最近在做微信支付,调用微信的统一下单支付接口http://mch.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1时,老是返回“签名错误”,偶尔可以成功,不知道是怎么回事。我在日志中打印出生成的字符串和签名,然后用相同的数据在微信支付提供的在线支付调试工具生成签名,发现生成的签名结果一样!生成的最终xml也一样,但接口就是返回

xml>return_code>![CDATA[FAIL]]>/return_code>
 return_msg>![CDATA[签名错误]]>/return_msg>
 /xml>

POST给微信的xml内容:

xml>
appid>![CDATA[wxe587fed28211bccb]]>/appid>
body>![CDATA[Demo]]>/body>
device_info>![CDATA[WEB]]>/device_info>
fee_type>![CDATA[CNY]]>/fee_type>
mch_id>![CDATA[1265056801]]>/mch_id>
nonce_str>![CDATA[ejnshgum39igp6qwpvzwb5jbwk8yigqz]]>/nonce_str>
notify_url>![CDATA[http://testpay.le1.com.cn/wechat/notify.htm]]>/notify_url>
openid>![CDATA[opZb3wsfU6RUZGxgFZ6OXVbdVxcU]]>/openid>
out_trade_no>![CDATA[1002_09745565EpuxTunUCD0AA72E]]>/out_trade_no>
product_id>![CDATA[QWE789C1523QWE78]]>/product_id>
sign>![CDATA[BF4BB39FFAFC4DF470C5A3F7784678BD]]>/sign>
spbill_create_ip>![CDATA[172.16.12.171]]>/spbill_create_ip>
total_fee>![CDATA[1]]>/total_fee>
trade_type>![CDATA[NATIVE]]>/trade_type>
/xml>

首先 , 看到返回msg显示签名错误 , 第一反应官网提供的路径去生成了一下签名做比较 , 结果发现签名算法是没错的.

     https://pay.weixin.qq.com/wiki/tools/signverify/

找了各种方法 , 百度谷歌搜索了一下午 , 发现很多同行都遇到了一样的问题 , 得到了以下解决方法

  1、确认公众号的appSecret和商户号的API密钥没有搞混。

  2、重置商户API密钥。(本人亲测是这样解决了问题,tx真是个坑,我严重鄙视。)

  3、确认公众号授权的域名和目录是正确的。

  4、参数body含有中文字符,改换英文签名成功,那么就转换字符编码试试。

    $dat = iconv('UTF-8','ISO8859-1',array2xml($package));

然而 , 并没有解决问题 , 先吐槽一下微信支付这个巨坑 , 不是说它的api水平有多烂,但你至少说明白一点啊,每次看微信api都头痛。比阿里差的不是一个数量级的。调阿里api都是,优雅、简单、舒服,效率高。调微信api的感觉是,愤怒、头痛、恶心,想打人。

后续问题解决后会在该随笔追加解决方案 .

追加: 问题已解决 , 重置了三次商户密钥.(....................)

在解决过程中又发现了一个较大的坑 , 在二维码支付模式中 , 本来的设计是生成二维码之后展示到页面上让用户去长按识别来支付 , 但是今天发现微信关闭了这个功能 , 只能是用另外一台手机去扫码支付 .

由于用户体验及其不好 , 后改用公众号支付模式 .

总结

以上所述是小编给大家介绍的微信支付--签名错误问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

您可能感兴趣的文章:
  • C# 微信支付 wx.chooseWXPay 签名错误的解决方法
  • 使用weixin-java-tools完成微信授权登录、微信支付的示例
  • php对微信支付回调处理的方法
  • JS实现仿微信支付弹窗功能
  • php实现微信支付之企业付款
  • Android微信支付获取二次签名Sign的方法

标签:绵阳 镇江 平顶山 鹤岗 哈密 株洲 商丘 台州

巨人网络通讯声明:本文标题《微信支付--签名错误问题的解决方法》,本文关键词  微信,支付,签名,错误,问,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《微信支付--签名错误问题的解决方法》相关的同类信息!
  • 本页收集关于微信支付--签名错误问题的解决方法的相关信息资讯供网民参考!
  • 推荐文章