微信支付困扰我几天了.
出错点
目前遇到的问题是, 在 JS 发起支付请求后返回 "商户签名错误".
使用的 JS 代码
我在两个地方看到有不同的示例代码
第一个地方是微信 JSSDK 的线上文档, 按照里面的要求放上示例代码后根本无法发起请求.
第二个地方: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7
我就是使用第二个地方的 JS 示例代码后出错. 可以发起请求, 但是提示 "商户签名错误", 支付中断.
关于我使用的签名
我看到微信中有两个签名, 一个是微信支付中说的 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3
我利用上面那个方法成功完成 "统一下单". 发送 XML 请求并得到 XML 返回.
我在 JS 里面填写的就是统一下单时的签名.
如果不是这个签名, 那我要拼接什么参数用什么算法得到这个 paySign?
微信中的签名
我看到的签名有三种:
1. signature
JS-SDK 使用权限签名
尝试生成过, 但没验证对错.
SHA1 算法.
可以找到要拼接的字符串.
2.sign
统一下单的签名
已经成功生成.
MD5 算法.
可以找到要拼接的字符串.
3. paySign JS
提交支付所用的签名
不知道这个是什么.