收藏
回答

微信支付V3版本服务商模式,后台下单已完成,前台无法调起 JsApi 支付,总是“支付验证签名失败”

后台已完成下单,获取到预支付交易会话标识 prepay_id,然后需要将参数加密返回给前端调起 JsApi 进行支付,这个步骤总是提示失败,签名原始字符串和参数结果、加密方式如下图,是不是加密方式不对呢,

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

3 个回答

  • 老张
    老张
    2020-10-01

    prepay_id获得了居然还能卡住吗?没有二次签名吗?

    https://developers.weixin.qq.com/community/develop/article/doc/000e2ab8704d507adbeac3aa151813


    2020-10-01
    有用
    回复 4
    • 龙
      2020-10-01
      现在问题是预处理数据是签名之后传给前端调起JSAPI还是加密之后传给前端
      2020-10-01
      回复
    • 老张
      老张
      2020-10-01回复
      二次签名(你说的加密)之后传给前端。
      2020-10-01
      回复
    • 龙
      2020-10-03
      V3版本的接口是不是需要申请开通什么权限呢?
      2020-10-03
      回复
    • 老张
      老张
      2020-10-04回复
      prepay_id拿到了,支付就算是成功了。如果有权限限制你也拿不到prepay_id。
      2020-10-04
      回复
  • 北望沣渭
    北望沣渭
    发表于移动端
    2020-10-01
    上行数据是用商户私钥签名;下行数据是用平台证书验签;建议你composer install wechatpay-guzzle-middleware 里面有完整解决方案
    2020-10-01
    有用
    回复 2
    • 龙
      2020-10-01
      现在问题是预处理数据是签名之后传给前端调起JSAPI还是加密之后传给前端
      2020-10-01
      回复
    • 龙
      2020-10-03
      V3版本的接口是不是需要申请开通什么权限呢?
      2020-10-03
      回复
  • 龙
    2020-10-01

    如果使用商户私钥签名的方式应该使用子商户的私钥还是服务商的私钥?两个都试了也不行

    2020-10-01
    有用
    回复 15
    • 老张
      老张
      2020-10-01
      prepay_id已经获得了,说明签名代码没问题,二次签名用的是同一个key。
      2020-10-01
      1
      回复
    • 龙
      2020-10-03回复老张
      当前情况简单介绍一下,目前是服务商模式,签名使用的服务商商户号的私钥签名,预处理下单成功之后,使用商户的公众号app_id和服务商商户号私钥以及其它参数签名之后传给前端,还是唤起jsapi支付失败。换用服务商公众号appid和服务商商户号私钥也不行,是不是应该使用商户的商户号进行操作?
      2020-10-03
      回复
    • 老张
      老张
      2020-10-03回复
      二次签名的appid和key都要和一次签名一样。此时不需要用到商户号。
      2020-10-03
      1
      回复
    • 龙
      2020-10-03回复
      使用商户商户号私钥下单肯定是不行。现在也不知道是啥原因了
      2020-10-03
      回复
    • 龙
      2020-10-03回复老张
      现在都是一样的,但是就是唤起失败,搞不明白了。二次签名的appid用的是商户公众号的appid,私钥跟下单的时候一样用的服务商商户号的私钥
      2020-10-03
      回复
    查看更多(10)
登录 后发表内容
问题标签