using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 { /// /// 表示微信支付 API 回调通知事件的基类。 /// [Serializable] public class WechatTenpayEvent : ICommonWebhookEvent { public static class Types { public class Resource { /// /// 获取或设置加密算法类型。 /// [Newtonsoft.Json.JsonProperty("algorithm")] [System.Text.Json.Serialization.JsonPropertyName("algorithm")] public string Algorithm { get; set; } = default!; /// /// 获取或设置加密前的对象类型。 /// [Newtonsoft.Json.JsonProperty("original_type")] [System.Text.Json.Serialization.JsonPropertyName("original_type")] public string? OriginalType { get; set; } /// /// 获取或设置加密使用的附加数据。 /// [Newtonsoft.Json.JsonProperty("associated_data")] [System.Text.Json.Serialization.JsonPropertyName("associated_data")] public string? AssociatedData { get; set; } /// /// 获取或设置加密使用的随机串初始化向量。 /// [Newtonsoft.Json.JsonProperty("nonce")] [System.Text.Json.Serialization.JsonPropertyName("nonce")] public string Nonce { get; set; } = default!; /// /// 获取或设置 Base64 编码后的密文。 /// [Newtonsoft.Json.JsonProperty("ciphertext")] [System.Text.Json.Serialization.JsonPropertyName("ciphertext")] public string CipherText { get; set; } = default!; } public interface IDecryptedResource : ICommonWebhookEvent { } } /// /// 获取或设置通知 ID。 /// [Newtonsoft.Json.JsonProperty("id")] [System.Text.Json.Serialization.JsonPropertyName("id")] public string Id { get; set; } = default!; /// /// 获取或设置通知类型。 /// [Newtonsoft.Json.JsonProperty("event_type")] [System.Text.Json.Serialization.JsonPropertyName("event_type")] public string EventType { get; set; } = default!; /// /// 获取或设置通知简要说明。 /// [Newtonsoft.Json.JsonProperty("summary")] [System.Text.Json.Serialization.JsonPropertyName("summary")] public string? Summary { get; set; } /// /// 获取或设置通知数据类型。 /// [Newtonsoft.Json.JsonProperty("resource_type")] [System.Text.Json.Serialization.JsonPropertyName("resource_type")] public string ResourceType { get; set; } = default!; /// /// 获取或设置通知数据。 /// [Newtonsoft.Json.JsonProperty("resource")] [System.Text.Json.Serialization.JsonPropertyName("resource")] public Types.Resource Resource { get; set; } = default!; /// /// 获取或设置通知创建时间。 /// [Newtonsoft.Json.JsonProperty("create_time")] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] [System.Text.Json.Serialization.JsonPropertyName("create_time")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] public DateTimeOffset CreateTime { get; set; } } }