diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/ProfitSharing/ProfitSharingResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/ProfitSharing/ProfitSharingResource.cs new file mode 100644 index 00000000..3d6bf644 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/ProfitSharing/ProfitSharingResource.cs @@ -0,0 +1,93 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events +{ + /// + /// 表示 PROFITSHARING.SUCCESS (仅限直连商户)通知的数据。 + /// 表示 PROFITSHARING.RETURN (仅限直连商户)通知的数据。 + /// + /// REF:
+ /// + ///
+ ///
+ public class ProfitSharingResource : WechatTenpayEvent.Types.IDecryptedResource + { + public static class Types + { + public class Receiver + { + /// + /// 获取或设置分账接收方类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置分账接收方账户。 + /// + [Newtonsoft.Json.JsonProperty("account")] + [System.Text.Json.Serialization.JsonPropertyName("account")] + public string Account { get; set; } = default!; + + /// + /// 获取或设置分账金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置分账描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = default!; + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置微信支付订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string TransactionId { get; set; } = default!; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = default!; + + /// + /// 获取或设置微信分账单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = default!; + + /// + /// 获取或设置分账接收方信息。 + /// + [Newtonsoft.Json.JsonProperty("receiver")] + [System.Text.Json.Serialization.JsonPropertyName("receiver")] + public Types.Receiver Receiver { get; set; } = default!; + + /// + /// 获取或设置成功时间。 + /// + [Newtonsoft.Json.JsonProperty("success_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("success_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset SuccessTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs index 25d8d696..6a9a633e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/Transactions/TransactionResource.cs @@ -8,7 +8,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events /// REF:
///
///
- ///
///
///
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/ProfitSharing/PartnerProfitSharingResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/ProfitSharing/PartnerProfitSharingResource.cs new file mode 100644 index 00000000..ddea5206 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/ProfitSharing/PartnerProfitSharingResource.cs @@ -0,0 +1,75 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events +{ + /// + /// 表示 PROFITSHARING.SUCCESS (仅限服务商)通知的数据。 + /// 表示 PROFITSHARING.RETURN (仅限服务商)通知的数据。 + /// + /// REF:
+ ///
+ ///
+ /// + ///
+ ///
+ public class PartnerProfitSharingResource : WechatTenpayEvent.Types.IDecryptedResource + { + public static class Types + { + public class Receiver : ProfitSharingResource.Types.Receiver + { + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置微信子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置微信支付订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string TransactionId { get; set; } = default!; + + /// + /// 获取或设置商户分账单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = default!; + + /// + /// 获取或设置微信分账单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = default!; + + /// + /// 获取或设置分账接收方信息。 + /// + [Newtonsoft.Json.JsonProperty("receiver")] + [System.Text.Json.Serialization.JsonPropertyName("receiver")] + public Types.Receiver Receiver { get; set; } = default!; + + /// + /// 获取或设置成功时间。 + /// + [Newtonsoft.Json.JsonProperty("success_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("success_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset SuccessTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Transactions/PartnerTransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Transactions/PartnerTransactionResource.cs index df9715df..c498a5d7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Transactions/PartnerTransactionResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/_Partner/Transactions/PartnerTransactionResource.cs @@ -12,10 +12,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events ///
///
///
- ///
- ///
- ///
- /// + /// /// /// public class PartnerTransactionResource : WechatTenpayEvent.Types.IDecryptedResource diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/ProfitSharing/ProfitSharingResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/ProfitSharing/ProfitSharingResource.json new file mode 100644 index 00000000..624598a0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/ProfitSharing/ProfitSharingResource.json @@ -0,0 +1,13 @@ +{ + "mchid": "1900000100", + "transaction_id": "4200000000000000000000000000", + "order_id": "1217752501201407033233368018", + "out_order_no": "P20150806125346", + "receiver": { + "type": "MERCHANT_ID", + "account": "1900000100", + "amount": 888, + "description": "运费/交易分账/及时奖励" + }, + "success_time": "2018-06-08T10:34:56+08:00" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/_Partner/ProfitSharing/PartnerProfitSharingResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/_Partner/ProfitSharing/PartnerProfitSharingResource.json new file mode 100644 index 00000000..e6969724 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/_/_Partner/ProfitSharing/PartnerProfitSharingResource.json @@ -0,0 +1,14 @@ +{ + "sp_mchid": "1900000100", + "sub_mchid": "1900000100", + "transaction_id": "4200000000000000000000000000", + "order_id": "1217752501201407033233368018", + "out_order_no": "P20150806125346", + "receiver": { + "type": "MERCHANT_ID", + "account": "1900000100", + "amount": 888, + "description": "运费/交易分账/及时奖励" + }, + "success_time": "2018-06-08T10:34:56+08:00" +}