From 81bb1f35630a29b826820caa6b59549bcfc9063e Mon Sep 17 00:00:00 2001 From: liming Date: Wed, 31 Aug 2022 15:54:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E9=80=80=E6=AC=BE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/api/WxMaShopPayService.java | 12 ++++++ .../api/impl/WxMaShopPayServiceImpl.java | 11 +++++- .../WxMaShopPayOrderRefundRequest.java | 37 +++++++++++++++++++ .../miniapp/constant/WxMaApiUrlConstants.java | 1 + 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/request/WxMaShopPayOrderRefundRequest.java diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java index ad58b7f17..b14ea11ab 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java @@ -1,6 +1,8 @@ package cn.binarywang.wx.miniapp.api; import cn.binarywang.wx.miniapp.bean.shop.request.WxMaShopPayCreateOrderRequest; +import cn.binarywang.wx.miniapp.bean.shop.request.WxMaShopPayOrderRefundRequest; +import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayCreateOrderResponse; import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayGetOrderResponse; import me.chanjar.weixin.common.error.WxErrorException; @@ -31,4 +33,14 @@ public interface WxMaShopPayService { * @throws WxErrorException */ WxMaShopPayGetOrderResponse getOrder(String trade_no) throws WxErrorException; + + /** + * 订单退款 + * 文档地址:文档地址 + * + * @param request + * @return + * @throws WxErrorException + */ + WxMaShopBaseResponse refundOrder(WxMaShopPayOrderRefundRequest request) throws WxErrorException; } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java index e756890b0..1c227541c 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java @@ -3,6 +3,8 @@ package cn.binarywang.wx.miniapp.api.impl; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.api.WxMaShopPayService; import cn.binarywang.wx.miniapp.bean.shop.request.WxMaShopPayCreateOrderRequest; +import cn.binarywang.wx.miniapp.bean.shop.request.WxMaShopPayOrderRefundRequest; +import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayCreateOrderResponse; import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayGetOrderResponse; import lombok.RequiredArgsConstructor; @@ -10,8 +12,7 @@ import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.util.json.WxGsonBuilder; -import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Shop.Pay.CREATE_ORDER; -import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Shop.Pay.GET_ORDER; +import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Shop.Pay.*; /** * 小程序支付管理订单相关接口 @@ -34,4 +35,10 @@ public class WxMaShopPayServiceImpl implements WxMaShopPayService { String response = this.wxMaService.post(GET_ORDER, tradeNo); return WxGsonBuilder.create().fromJson(response, WxMaShopPayGetOrderResponse.class); } + + @Override + public WxMaShopBaseResponse refundOrder(WxMaShopPayOrderRefundRequest request) throws WxErrorException { + String response = this.wxMaService.post(REFUND_ORDER, request); + return WxGsonBuilder.create().fromJson(response, WxMaShopBaseResponse.class); + } } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/request/WxMaShopPayOrderRefundRequest.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/request/WxMaShopPayOrderRefundRequest.java new file mode 100644 index 000000000..012cb310d --- /dev/null +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/request/WxMaShopPayOrderRefundRequest.java @@ -0,0 +1,37 @@ +package cn.binarywang.wx.miniapp.bean.shop.request; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author liming1019 + * created on 2022/8/31 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxMaShopPayOrderRefundRequest implements Serializable { + private static final long serialVersionUID = -5850024411710741165L; + + @SerializedName("openid") + private String openid; + @SerializedName("mchid") + private String mchid; + @SerializedName("trade_no") + private String tradeNo; + @SerializedName("transaction_id") + private String transactionId; + @SerializedName("refund_no") + private String refundNo; + @SerializedName("total_amount") + private int totalAmount; + @SerializedName("refund_amount") + private int refundAmount; +} + diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java index b3d8c20bb..debfc300e 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java @@ -542,6 +542,7 @@ public class WxMaApiUrlConstants { interface Pay { String CREATE_ORDER = "https://api.weixin.qq.com/shop/pay/createorder"; String GET_ORDER = "https://api.weixin.qq.com/shop/pay/getorder"; + String REFUND_ORDER = "https://api.weixin.qq.com/shop/pay/refundorder"; } }