收藏
回答

订单金额或退款金额与之前请求不一致?

付款请求返回数据

<xml>
  <bank_type><![CDATA[CMB_CREDIT]]></bank_type>
  <cash_fee><![CDATA[21600]]></cash_fee>
  <fee_type><![CDATA[CNY]]></fee_type>
  <is_subscribe><![CDATA[N]]></is_subscribe>
  <nonce_str><![CDATA[1636383470063]]></nonce_str>
  <openid><![CDATA[o26H65TE20pjKhqOWBzl7IniMf7s]]></openid>
  <out_trade_no><![CDATA[00199775225750]]></out_trade_no>
  <result_code><![CDATA[SUCCESS]]></result_code>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <time_end><![CDATA[20211108225754]]></time_end>
  <total_fee>21600</total_fee>
  <trade_type><![CDATA[JSAPI]]></trade_type>
  <transaction_id><![CDATA[4200001122202111084500859809]]></transaction_id>
</xml>



退款请求数据

<xml>
  <nonce_str>1636383861343</nonce_str>
  <out_trade_no>00199775225750</out_trade_no>
  <out_refund_no>64</out_refund_no>
  <total_fee>21600</total_fee>
  <refund_fee>21600</refund_fee>
  <op_user_id>1604995214</op_user_id>
  <refund_desc>用户取消订单</refund_desc>
</xml>


退款返回数据

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[OK]]></return_msg>
  <nonce_str><![CDATA[Y05d6Vpn3taD2kOU]]></nonce_str>
  <result_code><![CDATA[FAIL]]></result_code>
  <err_code><![CDATA[INVALID_REQUEST]]></err_code>
  <err_code_des><![CDATA[订单金额或退款金额与之前请求不一致,请核实后再试]]></err_code_des>
</xml>

从请求的数据上面来看,我是真的发现不了问题。
其他的退款都没有问题,有没有微信运营的帮忙解答一下,到底是哪里又问题。
回答关注问题邀请回答
收藏

2 个回答

  • (= ̄ ρ ̄=) ..zzZZ
    (= ̄ ρ ̄=) ..zzZZ
    2021-11-10

    因为测试环境,预发布环境,产品环境使用的都是一个商户账号,所以商户退款单号重复了。目前解决方案是 refundId + "_" + orderId

    2021-11-10
    有用
    回复
  • 北望沣渭
    北望沣渭
    2021-11-10

    可能和你的 out_refund_no = 64 有关,这个退款单号长度太小了,很容易重复,重复的时候就乱七八糟一堆问题出来了

    2021-11-10
    有用
    回复 2
    • (= ̄ ρ ̄=) ..zzZZ
      (= ̄ ρ ̄=) ..zzZZ
      2021-11-10
      卧槽,有道理。我试试,感谢大佬
      2021-11-10
      回复
    • (= ̄ ρ ̄=) ..zzZZ
      (= ̄ ρ ̄=) ..zzZZ
      2021-11-10
      的确是这个问题,之前的关注点在订单号上面。
      2021-11-10
      回复
登录 后发表内容