收藏
回答

出现退款的问题说订单金额或退款金额与之前请求不一致?

出现退款的问题说订单金额或退款金额与之前请求不一致,请核实后再试,
不知道哪里出错了环节,
我弄了2分钱的票     一张门票

退款代码
//订单金额
int orderPrice = jyUserOrderInfoById.getOrderPrice().intValue();
refundRequest.setTotalFee(orderPrice);
//退款金额
refundRequest.setRefundFee(byId.getRefundAmount().intValue());

下单代码
//integer类型的分
orderRequest.setTotalFee(order.getOrderPrice().intValue());



微信下单请求参数
【请求地址】:************/pay/unifiedorder
2021/5/6 下午1:43:23 【请求数据】:
【请求数据】:<xml>
2021/5/6 下午3:20:55   <appid>***d649a4bd5</appid>
2021/5/6 下午3:20:55   <mch_id>****34000</mch_id>
2021/5/6 下午3:20:55   <nonce_str>***1620285655008</nonce_str>
2021/5/6 下午3:20:55   <sign>***C16DA8FEBE826D49397</sign>
2021/5/6 下午3:20:55   <body>**门票下单</body>
2021/5/6 下午3:20:55   <out_trade_no>YWnS4pqP3783mweICBoYg8MF9ZUOR0ew</out_trade_no>
2021/5/6 下午3:20:55   <total_fee>2</total_fee>
2021/5/6 下午3:20:55   <spbill_create_ip>**210.202</spbill_create_ip>
2021/5/6 下午3:20:55   <notify_url>***/user/order/notifyOrder</notify_url>
2021/5/6 下午3:20:55   <trade_type>JSAPI</trade_type>
2021/5/6 下午3:20:55   <openid>*****AGRMvuMMUZI</openid>
微信退款请求参数

【请求地址】:https://api.mch.weixin.qq.com/secapi/pay/refund
2021/5/6 下午3:23:30 【请求数据】:<xml>
2021/5/6 下午3:23:30   <appid>****82dd649a4bd5</appid>
2021/5/6 下午3:23:30   <mch_id>***34000</mch_id>
2021/5/6 下午3:23:30   <nonce_str>****LX4KfCkyFMgtFrbZs6W</nonce_str>
2021/5/6 下午3:23:30   <sign>****BCD1B2F3F55CA4A0</sign>
2021/5/6 下午3:23:30   <out_trade_no>YWnS4pqP3783mweICBoYg8MF9ZUOR0ew</out_trade_no>
2021/5/6 下午3:23:30   <out_refund_no>123554</out_refund_no>
2021/5/6 下午3:23:30   <total_fee>2</total_fee>
2021/5/6 下午3:23:30   <refund_fee>2</refund_fee>
2021/5/6 下午3:23:30   <op_user_id>1603834000</op_user_id>
2021/5/6 下午3:23:30   <notify_url>*****/user/refund/notifyRefund</notify_url>


报错是 订单金额或退款金额与之前请求替换,请核实后再试
但是我看了没有错误啊
在stage环境是可以退款的,到了 oline环境就报这样的问题
最后一次编辑于  2021-05-06
回答关注问题邀请回答
收藏

2 个回答

  • Memory
    Memory
    2021-05-06

    1、out_refund_no是否重复使用了?

    2、total_fee是否与订单金额一致?

    2021-05-06
    有用 1
    回复 17
    • iTorry
      iTorry
      2021-05-06
      out_refund_no没有重复使用了,他是数据库自增的, total-fee 和订单一致的 ,不过我整数用的long接受然后转int 不知道是否丢失经度, 只是退款金额是退一部分
      2021-05-06
      回复
    • Memory
      Memory
      2021-05-06回复iTorry
      那应该是精度的问题了
      2021-05-06
      回复
    • iTorry
      iTorry
      2021-05-06回复Memory
      测试环境是可以的,线上就出问题 ,之前也没问题,但是数据库里面存的都是分 转int会有精度问题吗?
      2021-05-06
      回复
    • Memory
      Memory
      2021-05-06回复iTorry
      你打印实际请求参数出来不就可以了?
      2021-05-06
      回复
    • iTorry
      iTorry
      2021-05-06回复Memory
      打印了,上面上面详情就是这个参数 没有没有发现问题金额是一样的
      2021-05-06
      回复
    查看更多(12)
  • 李强-摩登宝贝&APE
    李强-摩登宝贝&APE
    10-27

    有一个很容易被忽略的坑,元转为分的过程中,用php直接*100,有可能结果是差一分钱的,会导致退不了,这个问题折腾了半天才找到原因

    10-27
    有用
    回复
登录 后发表内容