收藏
回答

微信支付总是报“调用支付JSAPI缺少参数:total_fee",求帮助!

公众号集成微信支付,统一下单 API 调用成功,并返回了 prepay_id ,而在通过 WeixinJSBridge.invoke('getBrandWCPayRequest' 接口来发起支付时总是报:“调用支付JSAPI缺少参数:total_fee",网上搜的各种可能性都检查过,都应该不是这些原因。真的快搞不下去了。求帮助!是基于沙箱模式来进行的联调,统一下单前所得到的 key 是由 generateSignature 接口取得的。


以下是发起统一下单时,提交给接口的数据:

每次不重复的订单号:20190303114531XXXX

<?xml version="1.0" encoding="UTF-8"?>

<xml>

<nonce_str>Vy9ad7wup2bYSV6a9jJPePNx0DvcTM28</nonce_str>

<openid>obS755qKXXXXXXX</openid>

<sign>DEBA37FDD5A828D996399495C34D0A63</sign>

<fee_type>CNY</fee_type>

<body>Test-JSAPI</body>

https://XXXXX/wxNotify.jsp

<mch_id>152XXXXXX</mch_id>

<spbill_create_ip>120.78.XXX.XXX</spbill_create_ip>

<out_trade_no>20190303114531XXXX</out_trade_no>

<device_info>WEB</device_info>

<total_fee>101</total_fee>

<appid>wxf8ef34148XXXXXX</appid>

<trade_type>JSAPI</trade_type>

<sign_type>MD5</sign_type>

</xml>


以下是统一下单后,接口返回的数据:

<xml>

  <trade_type><![CDATA[JSAPI]]></trade_type>

  <prepay_id><![CDATA[wx20190303114XXXXXX]]></prepay_id>

  <nonce_str><![CDATA[Vy9ad7wup2bYSV6a9jJPePNx0DvcTM28]]></nonce_str>

  <return_code><![CDATA[SUCCESS]]></return_code>

  <err_code_des><![CDATA[ok]]></err_code_des>

  <sign><![CDATA[8998B37CBF2AAF2ECBF4E9XXXXXXX]]></sign>

  <mch_id><![CDATA[152XXXXXXXX]]></mch_id>

  <return_msg><![CDATA[OK]]></return_msg>

  <appid><![CDATA[wxf8ef341XXXXXX]]></appid>

  <device_info><![CDATA[WEB]]></device_info>

  <result_code><![CDATA[SUCCESS]]></result_code>

  <err_code><![CDATA[SUCCESS]]></err_code>

</xml>


以下是调 WeixinJSBridge.invoke('getBrandWCPayRequest' 接口前做签名生成的数据。

appId  :    wxf8ef341XXXXXX

timeStamp  :    1551584732

nonceStr  :    dk1YLp8ji3bd816tPITXhYfNs4X9oTYT

package  :    prepay_id=wx201903031145XXXXXX

signType  :    MD5

paySign  :    C3658A64F04963523B64BE00ABC0440A

prepay_id  :    wx201903031145XXXXXX


注:签名应该是通过了,麻烦大家帮我分析一下是什么原因?

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

1 个回答

  • 大均🇩
    大均🇩
    2019-03-07

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

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

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

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


    2019-03-07
    有用 1
    回复
登录 后发表内容