收藏
回答

调用支付JSAPI缺少参数:total_fee

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.requestPayment 微信安卓客户端 8.0.40 3.0.1

https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html

微信调起支付参数

"timeStamp": "1694065217",
"nonceStr": "A2ehnDIOpXZvPFfwunvqfDQIDz1FrD7G",
"package": "prepay_id=wx07134017250054b2c68f8eea1d2f930000",
"signType": "MD5",
"paySign": "104E4749F38B811A26B2A1A11646B795"

返回结果:【调用支付JSAPI缺少参数:total_fee】 如下图

我在下单的时候参数如下:

下单返回【prepay_Id】之后调起支付出现上述问题 这种情况下如何排查问题

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

3 个回答

  • Memory
    Memory
    2023-09-07

    请根据以下几点排查问题:

    1)package参数格式错误,package参数格式应该是这样: package:"prepay_id=wx201410272009395522657a690389285100"

    2)package参数没有获取,返回null。

    3)请检查预支付会话标识prepay_id是否已失效

    4)请求的appid与下单接口的appid是否一致

    5)微信支付金额为“分”,不能有小数点

    6)预支付ID为空(1、金额为空 2、订单编号重复 3、订单编号为空)


    2023-09-07
    有用 1
    回复 4
    • Smiling
      Smiling
      2023-09-07
      由上面请求参数可以排除1) 2)
      4)可以确认是一致的
      5)当前的单都是1分 没有小数点
      6)预支付id也是有的 


      关于 3)如何确定是否已经失效?
      2023-09-07
      回复
    • Memory
      Memory
      2023-09-07回复Smiling
      你最好是在小程序上开启调试模式看一下你的参数,一般预支付ID失效的概率不大,除非你每次都用同一个预支付id,一个预支付ID有效期2个小时
      2023-09-07
      回复
    • Smiling
      Smiling
      2023-09-07回复Memory
      app支付没有问题 就是小程序支付的时候会有问题 也就是在签名的时候不同
      2023-09-07
      回复
    • Memory
      Memory
      2023-09-07回复Smiling
      这个和app支付调起不一样的,要看你小程序打印的日志来判断
      2023-09-07
      回复
  • Smiling
    Smiling
    2023-09-07

    问题已经解决


    后面排查出来的问题为:

    后端返回给前端的时间戳timeStamp起初为int 前端用toString转为了字符串

    后面后端将时间戳返回为string 前端依然用toString转 导致了 【调用支付JSAPI缺少参数:total_fee


    解决方案:

    前端直接接收后端传过来的时间戳用即可 不用toString转 问题解决

    2023-09-07
    有用
    回复
  • Jaakko_李明科
    Jaakko_李明科
    2023-09-07

    版本问题,total_fee是V2版本里面的参数,你发的文档是V3的接口文档

    把下单请求地址改为V3的地址

    2023-09-07
    有用
    回复 3
    • Smiling
      Smiling
      2023-09-07
      把下单接口调整为V3版本?  可是我app  ios端 android端都可以正常支付 他们下单接口时一样的 唯一不同的就是发起支付时候 签名不一样
      2023-09-07
      回复
    • Jaakko_李明科
      Jaakko_李明科
      2023-09-07回复Smiling
      https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1
      这个是v2的统一下单接口文档  你如果用的是v2的话 就确认一下请求参数有没有 total_fee
      2023-09-07
      回复
    • Smiling
      Smiling
      2023-09-07回复Jaakko_李明科
      可以确定 有total_fee  值为1
      2023-09-07
      回复
登录 后发表内容