Skip to content

Commit af4bea0

Browse files
Copilotbinarywang
andcommitted
feat: 添加小程序微信虚拟支付退款通知事件(xpay_refund_notify)相关字段
Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com>
1 parent dec3134 commit af4bea0

File tree

3 files changed

+154
-0
lines changed

3 files changed

+154
-0
lines changed

weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMessage.java

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.binarywang.wx.miniapp.bean;
22

3+
import cn.binarywang.wx.miniapp.bean.xpay.WxMaXPayTeamInfo;
34
import cn.binarywang.wx.miniapp.config.WxMaConfig;
45
import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
56
import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
@@ -313,6 +314,110 @@ public class WxMaMessage implements Serializable {
313314
@XStreamAlias("settlement_time")
314315
private Long settlementTime;
315316

317+
// xpay_refund_notify 退款推送字段
318+
319+
/**
320+
* 微信退款单号.
321+
* xpay_refund_notify
322+
*/
323+
@SerializedName("WxRefundId")
324+
@XStreamAlias("WxRefundId")
325+
@XStreamConverter(value = XStreamCDataConverter.class)
326+
private String wxRefundId;
327+
328+
/**
329+
* 商户退款单号.
330+
* xpay_refund_notify
331+
*/
332+
@SerializedName("MchRefundId")
333+
@XStreamAlias("MchRefundId")
334+
@XStreamConverter(value = XStreamCDataConverter.class)
335+
private String mchRefundId;
336+
337+
/**
338+
* 退款单对应支付单的微信单号.
339+
* xpay_refund_notify
340+
*/
341+
@SerializedName("WxOrderId")
342+
@XStreamAlias("WxOrderId")
343+
@XStreamConverter(value = XStreamCDataConverter.class)
344+
private String wxOrderId;
345+
346+
/**
347+
* 退款单对应支付单的商户单号.
348+
* xpay_refund_notify
349+
*/
350+
@SerializedName("MchOrderId")
351+
@XStreamAlias("MchOrderId")
352+
@XStreamConverter(value = XStreamCDataConverter.class)
353+
private String mchOrderId;
354+
355+
/**
356+
* 退款金额,单位分.
357+
* xpay_refund_notify
358+
*/
359+
@SerializedName("RefundFee")
360+
@XStreamAlias("RefundFee")
361+
private Integer refundFee;
362+
363+
/**
364+
* 退款结果,0为成功,非0为失败.
365+
* xpay_refund_notify
366+
*/
367+
@SerializedName("RetCode")
368+
@XStreamAlias("RetCode")
369+
private Integer retCode;
370+
371+
/**
372+
* 退款结果详情,失败时为退款失败的原因.
373+
* xpay_refund_notify
374+
*/
375+
@SerializedName("RetMsg")
376+
@XStreamAlias("RetMsg")
377+
@XStreamConverter(value = XStreamCDataConverter.class)
378+
private String retMsg;
379+
380+
/**
381+
* 开始退款时间,秒级时间戳.
382+
* xpay_refund_notify
383+
*/
384+
@SerializedName("RefundStartTimestamp")
385+
@XStreamAlias("RefundStartTimestamp")
386+
private Long refundStartTimestamp;
387+
388+
/**
389+
* 结束退款时间,秒级时间戳.
390+
* xpay_refund_notify
391+
*/
392+
@SerializedName("RefundSuccTimestamp")
393+
@XStreamAlias("RefundSuccTimestamp")
394+
private Long refundSuccTimestamp;
395+
396+
/**
397+
* 退款单的微信支付单号.
398+
* xpay_refund_notify
399+
*/
400+
@SerializedName("WxpayRefundTransactionId")
401+
@XStreamAlias("WxpayRefundTransactionId")
402+
@XStreamConverter(value = XStreamCDataConverter.class)
403+
private String wxpayRefundTransactionId;
404+
405+
/**
406+
* 重试次数,从0开始,重试间隔为2 4 8 16...最多15次.
407+
* xpay_refund_notify
408+
*/
409+
@SerializedName("RetryTimes")
410+
@XStreamAlias("RetryTimes")
411+
private Integer retryTimes;
412+
413+
/**
414+
* 拼团信息.
415+
* xpay_goods_deliver_notify, xpay_refund_notify
416+
*/
417+
@SerializedName("TeamInfo")
418+
@XStreamAlias("TeamInfo")
419+
private WxMaXPayTeamInfo teamInfo;
420+
316421
/**
317422
* 不要直接使用这个字段,
318423
* 这个字段只是为了适配 SubscribeMsgPopupEvent SubscribeMsgChangeEvent SubscribeMsgSentEvent
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package cn.binarywang.wx.miniapp.bean.xpay;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import com.thoughtworks.xstream.annotations.XStreamAlias;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.io.Serializable;
9+
10+
/**
11+
* 虚拟支付拼团信息.
12+
* 用于 xpay_goods_deliver_notify、xpay_refund_notify 等推送事件
13+
*/
14+
@Data
15+
@NoArgsConstructor
16+
@XStreamAlias("TeamInfo")
17+
public class WxMaXPayTeamInfo implements Serializable {
18+
private static final long serialVersionUID = 1L;
19+
20+
/**
21+
* 活动id.
22+
*/
23+
@SerializedName("ActivityId")
24+
@XStreamAlias("ActivityId")
25+
private String activityId;
26+
27+
/**
28+
* 团id.
29+
*/
30+
@SerializedName("TeamId")
31+
@XStreamAlias("TeamId")
32+
private String teamId;
33+
34+
/**
35+
* 团类型.
36+
* 1-支付全部,拼成退款
37+
*/
38+
@SerializedName("TeamType")
39+
@XStreamAlias("TeamType")
40+
private Integer teamType;
41+
42+
/**
43+
* 0-创团 1-参团.
44+
*/
45+
@SerializedName("TeamAction")
46+
@XStreamAlias("TeamAction")
47+
private Integer teamAction;
48+
}

weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ public static final class XPayOrderStatus {
263263
public static final class XPayNotifyEvent {
264264
public static String COIN_PAY = "xpay_coin_pay_notify";
265265
public static String GOODS_DELIVER = "xpay_goods_deliver_notify";
266+
public static String REFUND = "xpay_refund_notify";
266267

267268
}
268269
@UtilityClass

0 commit comments

Comments
 (0)