微信支付困扰我几天了.
目前遇到的问题是, 在 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?
我看到的签名有三种:
JS-SDK 使用权限签名
尝试生成过, 但没验证对错.
SHA1 算法.
可以找到要拼接的字符串.
统一下单的签名
已经成功生成.
MD5 算法.
可以找到要拼接的字符串.
提交支付所用的签名
不知道这个是什么.
1
b821025551b 2015-07-09 11:17:18 +08:00
最后一步发起请求的字段用这个:timestamp,签名时用这个:timeStamp 试试。
|
2
iugo OP 目前找到了 paysign 这东西怎么拼接: $pay_sign = "appId=$appid&nonceStr=$nonce_str&package=prepay_id=$prepay_id&signType=MD5&timeStamp=$timestamp";
新的错误诞生了, 提示 调用支付JSAPI缺少参数: sign |