🆕 #2627【微信支付】增加V3分账动账通知解析方法

This commit is contained in:
Wyman
2022-04-29 09:48:22 +08:00
committed by GitHub
parent 40f10de24b
commit 42c57b6de9
5 changed files with 382 additions and 0 deletions

View File

@@ -0,0 +1,142 @@
package com.github.binarywang.wxpay.bean.profitsharingV3;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
*
* 微信V3接口
* 通用通知实体
*
* @author yuanbo
* @create 2022-04-26-21:33 PM
*/
@Data
@NoArgsConstructor
public class ProfitSharingNotifyData implements Serializable{
private static final long serialVersionUID = 4242383310854692441L;
/**
* <pre>
* 字段名通知ID
* 是否必填:是
* 描述通知的唯一ID
* </pre>
*/
@SerializedName("id")
private String id;
/**
* <pre>
* 字段名:通知创建时间
* 是否必填:是
* 描述通知创建的时间Rfc3339标准
* </pre>
*/
@SerializedName("create_time")
private String createTime;
/**
* <pre>
* 字段名:通知数据类型
* 是否必填:是
* 描述:通知的资源数据类型
* </pre>
*/
@SerializedName("resource_type")
private String resourceType;
/**
* <pre>
* 字段名:通知类型
* 是否必填:是
* 描述:通知的类型
* </pre>
*/
@SerializedName("event_type")
private String eventType;
/**
* <pre>
* 字段名:通知数据
* 是否必填:是
* 描述:通知资源数据
* </pre>
*/
@SerializedName("resource")
private Resource resource;
/**
* <pre>
* 字段名:通知简要说明
* 是否必填:是
* 描述:通知简要说明
* </pre>
*/
@SerializedName("summary")
private String summary;
@Data
@NoArgsConstructor
public static class Resource implements Serializable {
private static final long serialVersionUID = 8530711804335261449L;
/**
* <pre>
* 字段名:加密算法类型
* 是否必填:是
* 描述对分账结果数据进行加密的加密算法目前只支持AEAD_AES_256_GCM
* </pre>
*/
@SerializedName("algorithm")
private String algorithm;
/**
* <pre>
* 字段名:加密前的对象类型
* 是否必填:是
* 描述加密前的对象类型分账动账通知的类型为profitsharing
* </pre>
*/
@SerializedName("original_type")
private String originalType;
/**
* <pre>
* 字段名:数据密文
* 是否必填:是
* 描述Base64编码后的分账结果数据密文
* </pre>
*/
@SerializedName("ciphertext")
private String cipherText;
/**
* <pre>
* 字段名:随机串
* 是否必填:是
* 描述:加密使用的随机串
* </pre>
*/
@SerializedName("nonce")
private String nonce;
/**
* <pre>
* 字段名:附加数据
* 是否必填:否
* 描述:附加数据
* </pre>
*/
@SerializedName("associated_data")
private String associatedData;
}
}

View File

@@ -0,0 +1,130 @@
package com.github.binarywang.wxpay.bean.profitsharingV3;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
*
* 微信V3接口
* 分账动账通知解密后数据实体
*
* @author yuanbo
* @create 2022-04-26-21:08 PM
*/
@Data
@NoArgsConstructor
public class ProfitSharingNotifyResult implements Serializable {
private static final long serialVersionUID = -2875006651351414624L;
/**
* <pre>
* 字段名:直连商户号
* 是否必填:是
* 描述:直连模式分账发起和出资商户
* </pre>
*/
@SerializedName("mchid")
private String mchId;
/**
* <pre>
* 字段名:微信订单号
* 是否必填:是
* 描述:微信支付订单号
* </pre>
*/
@SerializedName("transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:微信分账/回退单号
* 是否必填:是
* 描述:微信分账/回退单号
* </pre>
*/
@SerializedName("order_id")
private String orderId;
/**
* <pre>
* 字段名:商户分账/回退单号
* 是否必填:是
* 描述:分账方系统内部的分账/回退单号
* </pre>
*/
@SerializedName("out_order_no")
private String outOrderNo;
/**
* <pre>
* 字段名:分账接收方
* 是否必填:是
* 描述:分账接收方对象
* </pre>
*/
@SerializedName("receiver")
private Receiver receiver;
/**
* <pre>
* 字段名:成功时间
* 是否必填:是
* 描述成功时间Rfc3339标准
* </pre>
*/
@SerializedName("success_time")
private String successTime;
@Data
@NoArgsConstructor
public static class Receiver implements Serializable {
private static final long serialVersionUID = -931070141604645363L;
/**
* <pre>
* 字段名:分账接收方类型
* 是否必填:是
* 描述MERCHANT_ID商户号mch_id或者sub_mch_id
* </pre>
*/
@SerializedName("type")
private String type;
/**
* <pre>
* 字段名:分账接收方账号
* 是否必填:是
* 描述:申请本功能商户号
* </pre>
*/
@SerializedName("account")
private String account;
/**
* <pre>
* 字段名:分账动账金额
* 是否必填:是
* 描述:分账动账金额,单位为分,只能为整数
* </pre>
*/
@SerializedName("amount")
private Integer amount;
/**
* <pre>
* 字段名:分账/回退描述
* 是否必填:是
* 描述:分账/回退描述
* </pre>
*/
@SerializedName("description")
private String description;
}
}