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;
	}
}
