This commit is contained in:
2023-03-04 16:29:55 +08:00
commit 397ba75479
1007 changed files with 109050 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
package com.jsowell.wxpay.response;
import lombok.Data;
/**
* 微信支付通知参数
*/
@Data
public class WechatPayNotifyParameter {
/**
* 通知ID 通知的唯一ID
*/
private String id;
/**
* 通知创建时间 格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE
*/
private String create_time;
/**
* 通知数据类型 支付成功通知为encrypt-resource
*/
private String resource_type;
/**
* 通知类型 支付成功通知的类型为TRANSACTION.SUCCESS
*/
private String event_type;
/**
* 回调摘要 回调摘要 示例值:支付成功
*/
private String summary;
/**
* 通知数据 通知资源数据json格式
*/
private Resource resource;
@Data
public static class Resource {
/**
* 原始类型 原始回调类型为transaction
*/
private String original_type;
/**
* 加密算法类型 对开启结果数据进行加密的加密算法目前只支持AEAD_AES_256_GCM
*/
private String algorithm;
/**
* 数据密文 Base64编码后的开启/停用结果数据密文
*/
private String ciphertext;
/**
* 附加数据
*/
private String associated_data;
/**
* 随机串 加密使用的随机串
*/
private String nonce;
}
}

View File

@@ -0,0 +1,112 @@
package com.jsowell.wxpay.response;
import lombok.Data;
@Data
public class WechatPayNotifyResource {
/**
* 商户号
*/
private String mchid;
/**
* 应用ID
*/
private String appid;
/**
* 商户订单号 商户系统内部订单号只能是数字、大小写字母_-*且在同一个商户号下唯一。
*/
private String out_trade_no;
/**
* 微信支付订单号 微信支付系统生成的订单号。
*/
private String transaction_id;
/**
* 交易类型
* JSAPI公众号支付
* NATIVE扫码支付
* APPAPP支付
* MICROPAY付款码支付
* MWEBH5支付
* FACEPAY刷脸支付
*/
private String trade_type;
/**
* 交易状态,枚举值:
* SUCCESS支付成功
* REFUND转入退款
* NOTPAY未支付
* CLOSED已关闭
* REVOKED已撤销付款码支付
* USERPAYING用户支付中付款码支付
* PAYERROR支付失败(其他原因,如银行返回失败)
*/
private String trade_state;
/**
* 交易状态描述
*/
private String trade_state_desc;
/**
* 付款银行 银行类型,采用字符串类型的银行标识。
* https://pay.weixin.qq.com/wiki/doc/apiv3/terms_definition/chapter1_1_3.shtml#part-6
*/
private String bank_type;
/**
* 附加数据
*/
private String attach;
/**
* 支付完成时间 支付完成时间遵循rfc3339标准格式格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE
*/
private String success_time;
/**
* 支付者信息
*/
private Payer payer;
/**
* 订单金额
*/
private Amount amount;
@Data
public static class Payer {
/**
* 用户标识 用户在直连商户appid下的唯一标识。
*/
private String openid;
}
@Data
public static class Amount {
/**
* 总金额 订单总金额,单位为分。
*/
private String total;
/**
* 用户支付金额 用户支付金额,单位为分。
*/
private String payer_total;
/**
* 货币类型 CNY人民币境内商户号仅支持人民币。
*/
private String currency;
/**
* 用户支付币种
*/
private String payer_currency;
}
}

View File

@@ -0,0 +1,83 @@
package com.jsowell.wxpay.response;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 微信退款通知参数
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class WechatPayRefundNotifyResource {
/**
* 直连商户号
*/
private String mchid;
/**
* 商户订单号
*/
private String out_trade_no;
/**
* 微信支付订单号
*/
private String transaction_id;
/**
* 商户退款单号
*/
private String out_refund_no;
/**
* 微信支付退款单号
*/
private String refund_id;
/**
* 退款状态
*/
private String refund_status;
/**
* 退款成功时间
*/
private String success_time;
/**
* 退款入账账户
*/
private String user_received_account;
/**
* 金额信息
*/
private Amount amount;
@Data
public static class Amount {
/**
* 订单金额
*/
private int total;
/**
* 退款金额
*/
private int refund;
/**
* 用户支付金额
*/
private int payer_total;
/**
* 用户退款金额
*/
private int payer_refund;
}
}

View File

@@ -0,0 +1,59 @@
package com.jsowell.wxpay.response;
import lombok.Data;
@Data
public class WechatPayRefundRequest {
/**
* 微信支付订单号
*/
private String transaction_id;
/**
* 商户订单号
*/
private String out_trade_no;
/**
* 商户退款单号
*/
private String out_refund_no;
/**
* 退款原因
*/
private String reason;
/**
* 退款结果回调url
*/
private String notify_url;
/**
* 退款资金来源
*/
private String funds_account;
/**
* 金额信息
*/
private Amount amount;
@Data
public static class Amount {
/**
* 退款金额
*/
private int refund;
/**
* 原订单金额
*/
private int total;
/**
* 退款币种
*/
private String currency = "CNY";
}
}

View File

@@ -0,0 +1,161 @@
package com.jsowell.wxpay.response;
import lombok.Data;
import java.util.List;
@Data
public class WechatPayRefundResponse {
/**
* 微信支付退款单号
*/
private String refund_id;
/**
* 商户退款单号
*/
private String out_refund_no;
/**
* 微信支付订单号
*/
private String transaction_id;
/**
* 商户订单号
*/
private String out_trade_no;
/**
* 退款渠道
* 枚举值:
* ORIGINAL原路退款
* BALANCE退回到余额
* OTHER_BALANCE原账户异常退到其他余额账户
* OTHER_BANKCARD原银行卡异常退到其他银行卡
*/
private String channel;
/**
* 退款入账账户
* 取当前退款单的退款入账方,有以下几种情况:
* 1退回银行卡{银行名称}{卡类型}{卡尾号}
* 2退回支付用户零钱:支付用户零钱
* 3退还商户:商户基本账户商户结算银行账户
* 4退回支付用户零钱通:支付用户零钱通
*/
private String user_received_account;
/**
* 退款成功时间
*/
private String success_time;
/**
* 退款创建时间
*/
private String create_time;
/**
* 退款状态
* 退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台-交易中心,手动处理此笔退款。
* 枚举值:
* SUCCESS退款成功
* CLOSED退款关闭
* PROCESSING退款处理中
* ABNORMAL退款异常
*/
private String status;
/**
* 资金账户
* 退款所使用资金对应的资金账户类型
* 枚举值:
* UNSETTLED : 未结算资金
* AVAILABLE : 可用余额
* UNAVAILABLE : 不可用余额
* OPERATION : 运营户
* BASIC : 基本账户(含可用余额和不可用余额)
*/
private String funds_account;
/**
* 金额详细信息
*/
private Amount amount;
@Data
public static class Amount {
/**
* 订单金额
*/
private int total;
/**
* 退款金额
*/
private int refund;
/**
* 退款出资账户及金额
*/
private List<From> from;
/**
* 用户支付金额
*/
private int payer_total;
/**
* 用户退款金额
*/
private int payer_refund;
/**
* 应结退款金额
*/
private int settlement_refund;
/**
* 应结订单金额
*/
private int settlement_total;
/**
* 优惠退款金额
*/
private int discount_refund;
/**
* 退款币种
*/
private String currency;
/**
* 手续费退款金额
*/
private int refund_fee;
}
/**
* 退款出资的账户类型及金额信息
*/
@Data
public static class From {
/**
* 出资账户类型
* 下面枚举值多选一。
* 枚举值:
* AVAILABLE : 可用余额
* UNAVAILABLE : 不可用余额
*/
private String account;
/**
* 出资金额
*/
private int amount;
}
}