收藏
回答

订单中购买了两个商品,一个商品使用了单品券,然后进行售后退款使用了优惠券的商品怎么进行部分退款?

提交 参数

<xml>
   <out_trade_no>dev_PN00000000000000000000095</out_trade_no>
  <out_refund_no>RN00000000000000000000027</out_refund_no>
  <total_fee>2000</total_fee>
  <refund_fee>1000</refund_fee>
<xml>

再根据V3文档修改后的 xml请求参数

<xml>
  <appid></appid>
  <mch_id></mch_id>
  <nonce_str></nonce_str>
  <sign></sign>
  <out_trade_no>dev_PN00000000000000000000095</out_trade_no>
  <out_refund_no>RN00000000000000000000027</out_refund_no>
  <total_fee>2000</total_fee>
  <refund_fee>1000</refund_fee>
  <op_user_id></op_user_id>
  <notify_url></notify_url>
  <detail><![CDATA["goods_detail":[{"goods_name":"拉钉","price":10.0,"goods_id":1680779067254693888,"refund_amount":10.0,"refund_quantity":1}]]]></detail>
</xml>


微信响应参数

【响应数据】:
<xml><return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[不识别的参数detail]]></return_msg>
</xml>


java使用的maven

<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-pay</artifactId>
<version>4.5.3.B</version>


最后一次编辑于  2023-08-03
回答关注问题邀请回答
收藏

2 个回答

  • Memory
    Memory
    2023-08-03

    你调的哪个接口退款的?

    2023-08-03
    有用 1
    回复 5
    • 沐千熏
      沐千熏
      2023-08-03
      WxPayService wxPayService = this.getWxPayService(wxAppid);// 令牌
      WxPayRefundRequest wxPayRefundRequest = this.setRequest(vo);// 退款参数
      wxPayService.refund(wxPayRefundRequest);// 调用退款接口
      用的是maven包中的退款方法
      2023-08-03
      回复
    • 沐千熏
      沐千熏
      2023-08-04
      Jar包中 refund() 方法调用的 退款接口
      https://api.mch.weixin.qq.com/xdc/apiv2sandbox/secapi/pay/refund
      2023-08-04
      回复
    • Memory
      Memory
      2023-08-04回复沐千熏
      你调沙箱?
      2023-08-04
      回复
    • 沐千熏
      沐千熏
      2023-08-04回复Memory
      还接口了,用了v3的退款接口然后传退款商品。现在可以部分退款了
      2023-08-04
      回复
    • 沐千熏
      沐千熏
      2023-08-10
      我用微信maven包中的wxPayService.parseOrderNotifyV3Result方法来进行解析传来的参数,一直在包null但是看源码看他报错的地方是360 但是360又是一个方法结束“}”号
      2023-08-10
      回复
  • 沐千熏
    沐千熏
    2023-08-03

    进行部分退款

    2023-08-03
    有用
    回复
登录 后发表内容