收藏
回答

微信小程序虚拟支付 requestVirtualPayment接口一直返回15005用户态签名错误?

requestVirtualPayment 接口返回 15005用户态签名错误。

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

6 个回答

  • 小程序技术专员-kun
    小程序技术专员-kun
    2023-11-14

    可以参考文档中的python脚本逐步验证下签名结果:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html#_2-4-%E7%AD%BE%E5%90%8D%E8%AF%A6%E8%A7%A3

    2023-11-14
    有用
    回复
  • Aqua
    Aqua
    03-18

    亲测:signData不要在前端使用JSON.stringify自己转,让后端转成JSON传回来直接用,因为后端算法生成signature依赖于signData,可能两边的数据不一致导致15005

    03-18
    有用 1
    回复 1
    • Aqua
      Aqua
      03-18
      根据我这边的情况,本地模拟器调试时还是报错,但是上到环境上测试发现运行正常
      03-18
      回复
  • 虎皮蛋糕
    虎皮蛋糕
    01-18

    session_key 必须获取最新的,不然一直神坑

    01-18
    有用 1
    回复
  • 。
    04-08
    注意$signData 内的字段类型(buyQuantity 必须int ) 前后端一定要一致。
    
    04-08
    有用
    回复
  • 海绵宝宝的派大星
    海绵宝宝的派大星
    2023-12-12

    你好 您解决了吗 我一直卡这个报错

    2023-12-12
    有用
    回复
  • 一笑皆春
    一笑皆春
    2023-11-08

    如果之前从未接过1.0的接口, 直接全部使用2.0参数去调充值接口,和服务端API

    https://docs.qq.com/doc/DVUN0QWJja0J5c2x4


    如果之前已经完成了1.0的接入,保持不变,不需要切换接口(底层自动对接2.0)

    不要使用1.0接口接入2.0的参数


    2023-11-08
    有用
    回复 4
    • Wzlll
      Wzlll
      2023-11-08
      只充值代币 需要发布道具吗
      2023-11-08
      回复
    • 海绵宝宝的派大星
      海绵宝宝的派大星
      2023-12-12回复Wzlll
      您好 您解决了吗 我也是一直15005卡着
      2023-12-12
      回复
    • 海绵宝宝的派大星
      海绵宝宝的派大星
      2023-12-14回复Wzlll
      您好 您这边可以调用虚拟支付了吗 我的签名和官方pytone算出来的签名完全一致都报错用户态签名错误
      2023-12-14
      回复
    • 桂子
      桂子
      08-18回复海绵宝宝的派大星
      问题出在 json_encode($signData)这里,官方例子:
      {"openid": "xxx", "user_ip": "127.0.0.1", "env": 0},你用数组,然后json_encode ,就变成 {"openid":"xxx","user_ip":"127.0.0.1","env":0}, 仔细对比会发现,官方多了几个空格,然后这边把json_encode之后的内容,做了一步处理,就ok了,如下:$json_sign_data_php = json_encode($sign_data);
              $json_sign_data_php = str_replace('":', '": ', $json_sign_data_php);
              $json_sign_data_php = str_replace('",', '", ', $json_sign_data_php);
      08-18
      回复
登录 后发表内容