收藏
回答

【虚拟支付】-15006 PAY_SIG_INVALID ?

【小程序AppID】wx30cf9b7061881425

【Offer ID】1450482474

【商品ID】test_product_001

【后台价格】0.01元(道具已发布到正式环境,等待超过10分钟)


【问题描述】

1. 使用 wx.requestVirtualPayment 调起支付

2. 所有签名计算正确,但一直返回 -15006 PAY_SIG_INVALID

3. 已按字母顺序排列字段,签名自验通过


【请求参数】

{

  "attach": "{\"openid\":\"oP9kx3XkbMfdrTkiw0NZbfNSQPi8\",\"shareOpenid\":\"\",\"test\":true}",

  "buyQuantity": 1,

  "currencyType": "CNY",

  "env": 0,

  "goodsPrice": 1,

  "offerId": "1450482474",

  "outTradeNo": "TEST_1773321440060_6hnvrg",

  "productId": "test_product_001"

}


【生成的签名】

paySig: 6f12f78a72a358ad3854173b75aa6af6ab8c23ba90c7600721eb109a0a8384b7

signature: 82d1ad1b681bc80c7083c6937f5ca58584fab647316d2015868606ea6ed7049c


【错误信息】

errCode: -15006, errMsg: "requestVirtualPayment:fail PAY_SIG_INVALID"


【已尝试的排查】

1. 商品已发布到正式环境,等待超过10分钟

2. 字段按字母顺序排列

3. 签名全部小写

4. 新建了 test_product_001 商品,价格1分



【怀疑的问题点】

1. 价格单位问题:后台填的是0.01元,代码传 goodsPrice:1(1分),这个单位是否正确?

2. 商品是否真的生效了?

3. 米大师后台是否有其他隐藏配置?


【求助】

1. 请官方帮忙验证签名是否正确

2. 确认价格单位应该是“元”还是“分”

3. 能否帮忙查一下这个订单的详细错误日志?


谢谢!

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

4 个回答

  • 神经蛙
    神经蛙
    03-13

    计算签名的代码发出来看看,不然没法判断问题在哪里

    03-13
    有用 1
    回复
  • 蔡瑞彬
    蔡瑞彬
    03-16

    找到问题了吗?

    03-16
    有用
    回复
  • Memory (私信不回复)
    Memory (私信不回复)
    03-13

    报错就说明你计算签名有问题,特别需要注意的是沙箱和正式环境 key 并不通用

    03-13
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    03-12
    有用
    • showms
      showms
      03-13
      后台单位都是元,代码里单位是分
      03-13
      回复
登录 后发表内容