package com.ruoyi.system.wxPay.resp; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; /** * @author xiaochen * @ClassName FacilV3PayNotifyRespBody * @Description */ @Builder @NoArgsConstructor @AllArgsConstructor @Data public class NotifyV3PayDecodeRespBody implements Serializable { // 合单--开始 private String combine_appid; private String combine_mchid; private String combine_out_trade_no; private List sub_orders; // 合单--结束 /** * 服务商应用ID */ private String sp_appid; /** * 服务商户号 */ private String sp_mchid; /** * 商户号 */ private String mchid; /** * 子商户应用ID */ private String sub_appid; /** * 子商户号 */ private String sub_mchid; /** * 商户订单号 */ private String out_trade_no; /** * 交易状态描述 */ private String trade_state_desc; /** * 交易类型,枚举值: * JSAPI:公众号支付 * NATIVE:扫码支付 * APP:APP支付 * MICROPAY:付款码支付 * MWEB:H5支付 * FACEPAY:刷脸支付 */ private String trade_type; /** * 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用 */ private String attach; /** * 微信支付订单号 */ private String transaction_id; /** * 交易状态,枚举值: * SUCCESS:支付成功 * REFUND:转入退款 * NOTPAY:未支付 * CLOSED:已关闭 * REVOKED:已撤销(付款码支付) * USERPAYING:用户支付中(付款码支付) * PAYERROR:支付失败(其他原因,如银行返回失败) */ private String trade_state; /** * 银行类型,采用字符串类型的银行标识。银行标识请参考《银行类型对照表》 * https://pay.weixin.qq.com/wiki/doc/apiv3_partner/terms_definition/chapter1_1_3.shtml#part-6 */ private String bank_type; /** * 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE, * YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒, * TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。 * 例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。 * 示例值:2018-06-08T10:34:56+08:00 */ private String success_time; /** * 支付者信息 */ private Payer payer; /** * 支付者 */ private Payer combine_payer_info; /** * 订单金额信息 */ private Amount amount; /** * 场景信息 */ private SceneInfo scene_info; /** * 优惠功能,享受优惠时返回该字段 */ private List promotion_detail; @Builder @NoArgsConstructor @AllArgsConstructor @Data public static class Amount implements Serializable{ /** * 用户支付金额 */ private int payer_total; /** * 总金额 */ private int total; /** * 标价金额 */ private int total_amount; /** * 现金支付金额 */ private int payer_amount; private String currency; private String payer_currency; } @Builder @NoArgsConstructor @AllArgsConstructor @Data public static class GoodsDetail implements Serializable{ private String goods_id; private int quantity; private int unit_price; private int discount_amount; private String goods_remark; } @Builder @NoArgsConstructor @AllArgsConstructor @Data public static class Payer implements Serializable{ private String openid; private String sp_openid; private String sub_openid; } @Builder @NoArgsConstructor @AllArgsConstructor @Data public static class PromotionDetail implements Serializable{ private String coupon_id; private String name; private String scope; private String type; private int amount; private String stock_id; private int wechatpay_contribute; private int merchant_contribute; private int other_contribute; private String currency; private List goods_detail; } @Builder @NoArgsConstructor @AllArgsConstructor @Data public static class SceneInfo implements Serializable{ /** * 商户端设备号 */ private String device_id; } @Builder @NoArgsConstructor @AllArgsConstructor @Data public static class SubOrders implements Serializable{ private String mchid; private String trade_type; private String trade_state; private String trade_state_desc; private String bank_type; private String attach; private String success_time; private String transaction_id; private String out_trade_no; private String sub_mchid; private Amount amount; /** * 优惠功能,享受优惠时返回该字段 */ private List promotion_detail; } }