收藏
回答

PHP 如何对微信支付v3的 wx.requestPayment进行签名?

图中是后台PHP对小程序支付的参数进行签名(Rsa是微信支付PHP-SDK-wechatpay中的工具类),小程序端使用wx.requestPayment调起支付,提示“支付验证签名失败”。

同样的待签名数据,使用微信官方文档中的命令行生成的签名(如下图),然后使用wx.requestPayment调起支付,就能成功支付。

所以失败原因就在签名这里有问题,不知道具体该用什么方法签名,还望官方及大神解惑,十分感谢!

回答关注问题邀请回答
收藏

2 个回答

  • iMyth
    iMyth
    06-19

    补充小程序端代码图,其中 payParams 就是后台下单后返回的,包含:timeStamp、nonceStr、package、signType、paySign:

    06-19
    有用
    回复
  • Memory (私信不回复)
    Memory (私信不回复)
    06-19

    06-19
    有用
    回复 1
    • iMyth
      iMyth
      06-19
      谢谢,已解决,找到原因了。是PHP中对单引号与双引号框起来的字符串解析不完全相等的原因。我将我的代码改为如下图中就OK了(之前是'\n'改为"\n")。
      06-19
      回复
登录 后发表内容