diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardActivityExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardActivityExtensions.cs
new file mode 100644
index 00000000..d5f62a27
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardActivityExtensions.cs
@@ -0,0 +1,86 @@
+using System;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+using Flurl.Http;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
+{
+ ///
+ /// 为 提供会员卡有礼相关的 API 扩展方法。
+ ///
+ public static class WechatTenpayClientExecuteMarketingMemberCardActivityExtensions
+ {
+ ///
+ /// 异步调用 [POST] /marketing/membercard-activity/activities 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter8_1.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateMarketingMemberCardActivityAsync(this WechatTenpayClient client, Models.CreateMarketingMemberCardActivityRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "marketing", "membercard-activity", "activities");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /marketing/membercard-activity/activities 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter8_3.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteQueryMarketingMemberCardActivitiesAsync(this WechatTenpayClient client, Models.QueryMarketingMemberCardActivitiesRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Get, "marketing", "membercard-activity", "activities");
+
+ if (request.CardId != null)
+ flurlReq.SetQueryParam("card_id", request.CardId);
+
+ if (request.ActivityType != null)
+ flurlReq.SetQueryParam("activity_type", request.ActivityType);
+
+ if (request.ActivityStatus != null)
+ flurlReq.SetQueryParam("activity_status", request.ActivityStatus);
+
+ if (request.Limit != null)
+ flurlReq.SetQueryParam("limit", request.Limit.Value.ToString());
+
+ if (request.Offset != null)
+ flurlReq.SetQueryParam("offset", request.Offset.Value.ToString());
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /marketing/membercard-activity/activities/{activity_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter8_4.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetMarketingMemberCardActivityByActivityIdAsync(this WechatTenpayClient client, Models.GetMarketingMemberCardActivityByActivityIdRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Get, "marketing", "membercard-activity", "activities", request.ActivityId);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.cs
new file mode 100644
index 00000000..18050350
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.cs
@@ -0,0 +1,336 @@
+using System;
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /marketing/membercard-activity/activities 接口的请求。
+ ///
+ public class CreateMarketingMemberCardActivityRequest : WechatTenpayRequest
+ {
+ public static class Types
+ {
+ public class AwardSendPeriod
+ {
+ public static class Types
+ {
+ public class AwardSendTime
+ {
+ ///
+ /// 获取或设置开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset BeginTime { get; set; }
+
+ ///
+ /// 获取或设置结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset EndTime { get; set; }
+ }
+
+ public class AwardSendDayTime
+ {
+ public static class Types
+ {
+ public class DayTime : GetMarketingMemberCardActivityByActivityIdResponse.Types.AwardSendPeriod.Types.AwardSendDayTime.Types.DayTime
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置每日可用开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_day_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_day_time")]
+ public Types.DayTime BeginDayTime { get; set; } = new Types.DayTime();
+
+ ///
+ /// 获取或设置每日可用结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_day_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("end_day_time")]
+ public Types.DayTime EndDayTime { get; set; } = new Types.DayTime();
+ }
+ }
+
+ ///
+ /// 获取或设置有效期内指定部分活动时间段列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_time")]
+ public Types.AwardSendTime[]? AwardSendTimeList { get; set; }
+
+ ///
+ /// 获取或设置指定时间段列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_day_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_day_time")]
+ public Types.AwardSendDayTime[]? AwardSendDayTimeList { get; set; }
+ }
+
+ public class Stock
+ {
+ ///
+ /// 获取或设置批次号。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_id")]
+ public string StockId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置创建批次的商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_creator_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_creator_mchid")]
+ public string? StockCreatorMerchantId { get; set; }
+ }
+
+ public class PayActivitySetting
+ {
+ public static class Types
+ {
+ public class ActivateSetting
+ {
+ public static class Types
+ {
+ public class MiniProgram
+ {
+ ///
+ /// 获取或设置小程序 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_appid")]
+ public string AppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置小程序页面路径。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_path")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_path")]
+ public string Path { get; set; } = string.Empty;
+ }
+ }
+
+ ///
+ /// 获取或设置激活类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_type")]
+ public string ActivateType { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置激活跳转的 URL。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_url")]
+ public string? ActivateUrl { get; set; }
+
+ ///
+ /// 获取或设置激活跳转的小程序信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_miniprogram")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_miniprogram")]
+ public Types.MiniProgram? ActivateMiniProgram { get; set; }
+ }
+
+ public class PaymentSetting
+ {
+ public static class Types
+ {
+ public class PaymentMode
+ {
+ ///
+ /// 获取或设置支付场景值列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("payment_scene_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("payment_scene_list")]
+ public IList? PaymentSceneList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置限定支付模式信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("payment_mode")]
+ [System.Text.Json.Serialization.JsonPropertyName("payment_mode")]
+ public Types.PaymentMode? LimitPaymentMode { get; set; }
+
+ ///
+ /// 获取或设置限定银行简称。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit_bank")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit_bank")]
+ public string? LimitBankName { get; set; }
+
+ ///
+ /// 获取或设置限定订单优惠标记列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("goods_tags")]
+ [System.Text.Json.Serialization.JsonPropertyName("goods_tags")]
+ public IList? LimitGoodsTagList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置会员卡 Logo 媒体文件地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("logo_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("logo_url")]
+ public string? LogoMediaUrl { get; set; }
+
+ ///
+ /// 获取或设置支付结果页活动副标题。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_second_title")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_second_title")]
+ public string? ActivitySecondTitle { get; set; }
+
+ ///
+ /// 获取或设置活动曝光商户号列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid_list")]
+ public IList MerchantIdList { get; set; } = new List();
+
+ ///
+ /// 获取或设置激活方式设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_setting")]
+ public Types.ActivateSetting? ActivateSetting { get; set; }
+
+ ///
+ /// 获取或设置支付设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("payment_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("payment_setting")]
+ public Types.PaymentSetting? PaymentSetting { get; set; }
+ }
+
+ public class MiniProgramActivitySetting
+ {
+ public static class Types
+ {
+ public class AwardSetting
+ {
+ ///
+ /// 获取或设置跳转按钮文案。
+ ///
+ [Newtonsoft.Json.JsonProperty("button_text")]
+ [System.Text.Json.Serialization.JsonPropertyName("button_text")]
+ public string? ButtonText { get; set; }
+
+ ///
+ /// 获取或设置小程序 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("mini_program_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mini_program_appid")]
+ public string? MiniProgramAppId { get; set; }
+
+ ///
+ /// 获取或设置小程序页面路径。
+ ///
+ [Newtonsoft.Json.JsonProperty("mini_program_path")]
+ [System.Text.Json.Serialization.JsonPropertyName("mini_program_path")]
+ public string? MiniProgramPath { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置领取渠道列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("outer_str")]
+ [System.Text.Json.Serialization.JsonPropertyName("outer_str")]
+ public List? OuterString { get; set; }
+
+ ///
+ /// 获取或设置领奖页面跳转配置信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_jump_deploy")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_jump_deploy")]
+ public Types.AwardSetting? AwardSetting { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置会员卡 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("card_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("card_id")]
+ public string CardId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置活动名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_name")]
+ public string ActivityName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置活动类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_type")]
+ public string ActivityType { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置活动开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? BeginTime { get; set; }
+
+ ///
+ /// 获取或设置活动结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? EndTime { get; set; }
+
+ ///
+ /// 获取或设置发放时间段信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_period")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_period")]
+ public Types.AwardSendPeriod? AwardSendPeriod { get; set; }
+
+ ///
+ /// 获取或设置优惠券批次列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_list")]
+ public IList StockList { get; set; } = new List();
+
+ ///
+ /// 获取或设置商户请求单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_request_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
+ public string OutRequestNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置支付后活动设置信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("pay_activity_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("pay_activity_setting")]
+ public Types.PayActivitySetting? PayActivitySetting { get; set; }
+
+ ///
+ /// 获取或设置支付前会员活动设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("miniprogram_activity_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("miniprogram_activity_setting")]
+ public Types.MiniProgramActivitySetting? MiniProgramActivitySetting { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.cs
new file mode 100644
index 00000000..518a6e00
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /marketing/membercard-activity/activities 接口的响应。
+ ///
+ public class CreateMarketingMemberCardActivityResponse : GetMarketingMemberCardActivityByActivityIdResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.cs
new file mode 100644
index 00000000..70303c74
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /marketing/membercard-activity/activities/{activity_id} 接口的请求。
+ ///
+ public class GetMarketingMemberCardActivityByActivityIdRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置会员卡 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string ActivityId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.cs
new file mode 100644
index 00000000..7d931b39
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.cs
@@ -0,0 +1,387 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /marketing/membercard-activity/activities/{activity_id} 接口的响应。
+ ///
+ public class GetMarketingMemberCardActivityByActivityIdResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class AwardSendPeriod
+ {
+ public static class Types
+ {
+ public class AwardSendTime
+ {
+ ///
+ /// 获取或设置开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset BeginTime { get; set; }
+
+ ///
+ /// 获取或设置结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset EndTime { get; set; }
+ }
+
+ public class AwardSendDayTime
+ {
+ public static class Types
+ {
+ public class DayTime
+ {
+ ///
+ /// 获取或设置时。
+ ///
+ [Newtonsoft.Json.JsonProperty("hours")]
+ [System.Text.Json.Serialization.JsonPropertyName("hours")]
+ public int Hours { get; set; }
+
+ ///
+ /// 获取或设置时。
+ ///
+ [Newtonsoft.Json.JsonProperty("minutes")]
+ [System.Text.Json.Serialization.JsonPropertyName("minutes")]
+ public int Minutes { get; set; }
+
+ ///
+ /// 获取或设置时。
+ ///
+ [Newtonsoft.Json.JsonProperty("seconds")]
+ [System.Text.Json.Serialization.JsonPropertyName("seconds")]
+ public int Seconds { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置每日可用开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_day_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_day_time")]
+ public Types.DayTime BeginDayTime { get; set; } = default!;
+
+ ///
+ /// 获取或设置每日可用结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_day_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("end_day_time")]
+ public Types.DayTime EndDayTime { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置有效期内指定部分活动时间段列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_time")]
+ public Types.AwardSendTime[]? AwardSendTimeList { get; set; }
+
+ ///
+ /// 获取或设置指定时间段列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_day_time")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_day_time")]
+ public Types.AwardSendDayTime[]? AwardSendDayTimeList { get; set; }
+ }
+
+ public class Stock
+ {
+ ///
+ /// 获取或设置批次号。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_id")]
+ public string StockId { get; set; } = default!;
+
+ ///
+ /// 获取或设置创建批次的商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_creator_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_creator_mchid")]
+ public string? StockCreatorMerchantId { get; set; }
+ }
+
+ public class PayActivitySetting
+ {
+ public static class Types
+ {
+ public class ActivateSetting
+ {
+ public static class Types
+ {
+ public class MiniProgram
+ {
+ ///
+ /// 获取或设置小程序 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_appid")]
+ public string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置小程序页面路径。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_path")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_path")]
+ public string Path { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置激活类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_type")]
+ public string ActivateType { get; set; } = default!;
+
+ ///
+ /// 获取或设置激活跳转的 URL。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_url")]
+ public string? ActivateUrl { get; set; }
+
+ ///
+ /// 获取或设置激活跳转的小程序信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_miniprogram")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_miniprogram")]
+ public Types.MiniProgram? ActivateMiniProgram { get; set; }
+ }
+
+ public class PaymentSetting
+ {
+ public static class Types
+ {
+ public class PaymentMode
+ {
+ ///
+ /// 获取或设置支付场景值列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("payment_scene_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("payment_scene_list")]
+ public string[]? PaymentSceneList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置限定支付模式信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("payment_mode")]
+ [System.Text.Json.Serialization.JsonPropertyName("payment_mode")]
+ public Types.PaymentMode? LimitPaymentMode { get; set; }
+
+ ///
+ /// 获取或设置限定银行简称。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit_bank")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit_bank")]
+ public string? LimitBankName { get; set; }
+
+ ///
+ /// 获取或设置限定订单优惠标记列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("goods_tags")]
+ [System.Text.Json.Serialization.JsonPropertyName("goods_tags")]
+ public string[]? LimitGoodsTagList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置会员卡 Logo 媒体文件地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("logo_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("logo_url")]
+ public string? LogoMediaUrl { get; set; }
+
+ ///
+ /// 获取或设置支付结果页活动副标题。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_second_title")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_second_title")]
+ public string? ActivitySecondTitle { get; set; }
+
+ ///
+ /// 获取或设置活动曝光商户号列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid_list")]
+ public string[] MerchantIdList { get; set; } = default!;
+
+ ///
+ /// 获取或设置激活方式设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("activate_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("activate_setting")]
+ public Types.ActivateSetting? ActivateSetting { get; set; }
+
+ ///
+ /// 获取或设置支付设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("payment_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("payment_setting")]
+ public Types.PaymentSetting? PaymentSetting { get; set; }
+ }
+
+ public class MiniProgramActivitySetting
+ {
+ public static class Types
+ {
+ public class AwardSetting
+ {
+ ///
+ /// 获取或设置跳转按钮文案。
+ ///
+ [Newtonsoft.Json.JsonProperty("button_text")]
+ [System.Text.Json.Serialization.JsonPropertyName("button_text")]
+ public string? ButtonText { get; set; }
+
+ ///
+ /// 获取或设置小程序 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("mini_program_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mini_program_appid")]
+ public string? MiniProgramAppId { get; set; }
+
+ ///
+ /// 获取或设置小程序页面路径。
+ ///
+ [Newtonsoft.Json.JsonProperty("mini_program_path")]
+ [System.Text.Json.Serialization.JsonPropertyName("mini_program_path")]
+ public string? MiniProgramPath { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置领取渠道列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("outer_str")]
+ [System.Text.Json.Serialization.JsonPropertyName("outer_str")]
+ public string[]? OuterStringList { get; set; }
+
+ ///
+ /// 获取或设置领奖页面跳转配置信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_jump_deploy")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_jump_deploy")]
+ public Types.AwardSetting? AwardSetting { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置会员卡 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("card_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("card_id")]
+ public string CardId { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_id")]
+ public string ActivityId { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_name")]
+ public string ActivityName { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_type")]
+ public string ActivityType { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_status")]
+ public string ActivityStatus { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? BeginTime { get; set; }
+
+ ///
+ /// 获取或设置活动结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? EndTime { get; set; }
+
+ ///
+ /// 获取或设置发放时间段信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_period")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_period")]
+ public Types.AwardSendPeriod? AwardSendPeriod { get; set; }
+
+ ///
+ /// 获取或设置优惠券批次列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_list")]
+ public Types.Stock[]? StockList { get; set; } = default!;
+
+ ///
+ /// 获取或设置商户请求单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_request_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
+ public string OutRequestNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置支付后活动设置信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("pay_activity_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("pay_activity_setting")]
+ public Types.PayActivitySetting? PayActivitySetting { get; set; }
+
+ ///
+ /// 获取或设置支付前会员活动设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("miniprogram_activity_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("miniprogram_activity_setting")]
+ public Types.MiniProgramActivitySetting? MiniProgramActivitySetting { get; set; }
+
+ ///
+ /// 获取或设置更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset UpdateTime { get; set; }
+
+ ///
+ /// 获取或设置创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset CreateTime { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.cs
new file mode 100644
index 00000000..93ca276a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /marketing/membercard-activity/activities 接口的请求。
+ ///
+ public class QueryMarketingMemberCardActivitiesRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置会员卡 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string? CardId { get; set; }
+
+ ///
+ /// 获取或设置活动类型。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string? ActivityType { get; set; }
+
+ ///
+ /// 获取或设置活动状态。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string? ActivityStatus { get; set; }
+
+ ///
+ /// 获取或设置分页大小。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? Limit { get; set; }
+
+ ///
+ /// 获取或设置分页开始位置。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? Offset { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.cs
new file mode 100644
index 00000000..abf008ef
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.cs
@@ -0,0 +1,169 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /marketing/membercard-activity/activities 接口的响应。
+ ///
+ public class QueryMarketingMemberCardActivitiesResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class Activity
+ {
+ public static class Types
+ {
+ public class AwardSendPeriod : GetMarketingMemberCardActivityByActivityIdResponse.Types.AwardSendPeriod
+ {
+ }
+
+ public class Stock : GetMarketingMemberCardActivityByActivityIdResponse.Types.Stock
+ {
+ }
+
+ public class PayActivitySetting : GetMarketingMemberCardActivityByActivityIdResponse.Types.PayActivitySetting
+ {
+ }
+
+ public class MiniProgramActivitySetting : GetMarketingMemberCardActivityByActivityIdResponse.Types.MiniProgramActivitySetting
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置会员卡 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("card_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("card_id")]
+ public string CardId { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_id")]
+ public string ActivityId { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_name")]
+ public string ActivityName { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_type")]
+ public string ActivityType { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_status")]
+ public string ActivityStatus { get; set; } = default!;
+
+ ///
+ /// 获取或设置活动开始时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("begin_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("begin_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? BeginTime { get; set; }
+
+ ///
+ /// 获取或设置活动结束时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("end_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("end_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? EndTime { get; set; }
+
+ ///
+ /// 获取或设置发放时间段信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("award_send_period")]
+ [System.Text.Json.Serialization.JsonPropertyName("award_send_period")]
+ public Types.AwardSendPeriod? AwardSendPeriod { get; set; }
+
+ ///
+ /// 获取或设置优惠券批次列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("stock_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("stock_list")]
+ public Types.Stock[]? StockList { get; set; } = default!;
+
+ ///
+ /// 获取或设置商户请求单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_request_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
+ public string OutRequestNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置支付后活动设置信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("pay_activity_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("pay_activity_setting")]
+ public Types.PayActivitySetting? PayActivitySetting { get; set; }
+
+ ///
+ /// 获取或设置支付前会员活动设置。
+ ///
+ [Newtonsoft.Json.JsonProperty("miniprogram_activity_setting")]
+ [System.Text.Json.Serialization.JsonPropertyName("miniprogram_activity_setting")]
+ public Types.MiniProgramActivitySetting? MiniProgramActivitySetting { get; set; }
+
+ ///
+ /// 获取或设置更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset UpdateTime { get; set; }
+
+ ///
+ /// 获取或设置创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset CreateTime { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置活动列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("data")]
+ [System.Text.Json.Serialization.JsonPropertyName("data")]
+ public Types.Activity[] ActivityList { get; set; } = default!;
+
+ ///
+ /// 获取或设置分页大小。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int Limit { get; set; }
+
+ ///
+ /// 获取或设置分页开始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int Offset { get; set; }
+
+ ///
+ /// 获取或设置活动总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.cs
new file mode 100644
index 00000000..757c0b8f
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.cs
@@ -0,0 +1,26 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /marketing/membercard-activity/activities/{activity_id}/terminate 接口的请求。
+ ///
+ public class TerminateMarketingMemberCardActivityRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置活动 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string ActivityId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置终止时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("terminate_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("terminate_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? TerminateTime { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.cs
new file mode 100644
index 00000000..619a40ea
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.cs
@@ -0,0 +1,26 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /marketing/membercard-activity/activities/{activity_id}/terminate 接口的响应。
+ ///
+ public class TerminateMarketingMemberCardActivityResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置活动 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("activity_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("activity_id")]
+ public string ActivityId { get; set; } = default!;
+
+ ///
+ /// 获取或设置终止时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("terminate_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("terminate_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset TerminateTime { get; set; }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.json
new file mode 100644
index 00000000..5d596bf6
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.json
@@ -0,0 +1,58 @@
+{
+ "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0",
+ "activity_name": "良品铺子回馈活动",
+ "activity_type": "NON_MEMBER_AFTERPAY",
+ "begin_time": "2020-01-20T13:29:35.120+08:00",
+ "end_time": "2020-01-29T13:29:35.120+08:00",
+ "award_send_period": {
+ "award_send_time": [{
+ "begin_time": "2020-01-21T00:00:00.000+08:00",
+ "end_time": "2020-01-27T00:00:00.000+08:00"
+ }],
+ "award_send_day_time": [{
+ "begin_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ },
+ "end_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ }
+ }]
+ },
+ "stock_list": [{
+ "stock_creator_mchid": "10000022",
+ "stock_id": "98065001"
+ }],
+ "out_request_no": "100002322019090134234sfdf",
+ "pay_activity_setting": {
+ "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0",
+ "activity_second_title": "湖南麻辣美食券",
+ "mchid_list": ["10000022", "10000023"],
+ "activate_setting": {
+ "activate_type": "AUTO_ACTIVATE",
+ "activate_url": "https://w.url.cn/s/Ahz3p2C",
+ "activate_miniprogram": {
+ "activate_appid": "wxea9c30a90fs8d3fe",
+ "activate_path": "pages/activate/activate"
+ }
+ },
+ "payment_setting": {
+ "payment_mode": {
+ "payment_scene_list": ["APP"]
+ },
+ "limit_bank": "CFT",
+ "goods_tags": ["xxx", "yyy"]
+ }
+ },
+ "miniprogram_activity_setting": {
+ "outer_str": ["领取渠道1", "领取渠道2"],
+ "award_jump_deploy": {
+ "mini_program_appid": "wxc0b84a53ed8e8d29",
+ "mini_program_path": "mall/pages/List",
+ "button_text": "点击"
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.json
new file mode 100644
index 00000000..bd5837d6
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.json
@@ -0,0 +1,68 @@
+{
+ "activity_id": "371067",
+ "activity_status": "ONGOING",
+ "create_time": "2015-05-20T13:29:35.120+08:00",
+ "update_time": "2015-05-20T13:29:35.120+08:00",
+ "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0",
+ "activity_name": "良品铺子回馈活动",
+ "activity_type": "NON_MEMBER_AFTERPAY",
+ "begin_time": "2020-01-20T13:29:35.120+08:00",
+ "end_time": "2020-01-29T13:29:35.120+08:00",
+ "award_send_period": {
+ "award_send_time": [
+ {
+ "begin_time": "2020-01-21T00:00:00.000+08:00",
+ "end_time": "2020-01-27T00:00:00.000+08:00"
+ }
+ ],
+ "award_send_day_time": [
+ {
+ "begin_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ },
+ "end_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ }
+ }
+ ]
+ },
+ "stock_list": [
+ {
+ "stock_creator_mchid": "10000022",
+ "stock_id": "98065001"
+ }
+ ],
+ "out_request_no": "100002322019090134234sfdf",
+ "pay_activity_setting": {
+ "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0",
+ "activity_second_title": "湖南麻辣美食券",
+ "mchid_list": ["10000022", "10000023"],
+ "activate_setting": {
+ "activate_type": "AUTO_ACTIVATE",
+ "activate_url": "https://w.url.cn/s/Ahz3p2C",
+ "activate_miniprogram": {
+ "activate_appid": "wxea9c30a90fs8d3fe",
+ "activate_path": "pages/activate/activate"
+ }
+ },
+ "payment_setting": {
+ "payment_mode": {
+ "payment_scene_list": ["APP"]
+ },
+ "limit_bank": "CFT",
+ "goods_tags": ["xxx", "yyy"]
+ }
+ },
+ "miniprogram_activity_setting": {
+ "outer_str": ["领取渠道1", "领取渠道2"],
+ "award_jump_deploy": {
+ "mini_program_appid": "wxc0b84a53ed8e8d29",
+ "mini_program_path": "mall/pages/List",
+ "button_text": "点击"
+ }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.json
new file mode 100644
index 00000000..a48ed260
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.json
@@ -0,0 +1,68 @@
+{
+ "activity_id": "371067",
+ "activity_status": "ONGOING",
+ "create_time": "2015-05-20T13:29:35.120+08:00",
+ "update_time": "2015-05-20T13:29:35.120+08:00",
+ "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0",
+ "activity_name": "良品铺子回馈活动",
+ "activity_type": "NON_MEMBER_AFTERPAY",
+ "begin_time": "2020-01-20T13:29:35.120+08:00",
+ "end_time": "2020-01-29T13:29:35.120+08:00",
+ "award_send_period": {
+ "award_send_time": [
+ {
+ "begin_time": "2020-01-21T00:00:00.000+08:00",
+ "end_time": "2020-01-27T00:00:00.000+08:00"
+ }
+ ],
+ "award_send_day_time": [
+ {
+ "begin_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ },
+ "end_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ }
+ }
+ ]
+ },
+ "stock_list": [
+ {
+ "stock_creator_mchid": "10000022",
+ "stock_id": "98065001"
+ }
+ ],
+ "out_request_no": "100002322019090134234sfdf",
+ "pay_activity_setting": {
+ "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0",
+ "activity_second_title": "湖南麻辣美食券",
+ "mchid_list": ["10000022", "10000023"],
+ "activate_setting": {
+ "activate_type": "AUTO_ACTIVATE",
+ "activate_url": "https://w.url.cn/s/Ahz3p2C",
+ "activate_miniprogram": {
+ "activate_appid": "wxea9c30a90fs8d3fe",
+ "activate_path": "pages/activate/activate"
+ }
+ },
+ "payment_setting": {
+ "payment_mode": {
+ "payment_scene_list": ["APP"]
+ },
+ "limit_bank": "CFT",
+ "goods_tags": ["xxx", "yyy"]
+ }
+ },
+ "miniprogram_activity_setting": {
+ "outer_str": ["领取渠道1", "领取渠道2"],
+ "award_jump_deploy": {
+ "mini_program_appid": "wxc0b84a53ed8e8d29",
+ "mini_program_path": "mall/pages/List",
+ "button_text": "点击"
+ }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.json
new file mode 100644
index 00000000..22d38125
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.json
@@ -0,0 +1,75 @@
+{
+ "data": [
+ {
+ "activity_id": "371067",
+ "activity_status": "ONGOING",
+ "create_time": "2015-05-20T13:29:35.120+08:00",
+ "update_time": "2015-05-20T13:29:35.120+08:00",
+ "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0",
+ "activity_name": "良品铺子回馈活动",
+ "activity_type": "NON_MEMBER_AFTERPAY",
+ "begin_time": "2020-01-20T13:29:35.120+08:00",
+ "end_time": "2020-01-29T13:29:35.120+08:00",
+ "award_send_period": {
+ "award_send_time": [
+ {
+ "begin_time": "2020-01-21T00:00:00.000+08:00",
+ "end_time": "2020-01-27T00:00:00.000+08:00"
+ }
+ ],
+ "award_send_day_time": [
+ {
+ "begin_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ },
+ "end_day_time": {
+ "hours": 9,
+ "minutes": 34,
+ "seconds": 6
+ }
+ }
+ ]
+ },
+ "stock_list": [
+ {
+ "stock_creator_mchid": "10000022",
+ "stock_id": "98065001"
+ }
+ ],
+ "out_request_no": "100002322019090134234sfdf",
+ "pay_activity_setting": {
+ "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0",
+ "activity_second_title": "湖南麻辣美食券",
+ "mchid_list": ["10000022", "10000023"],
+ "activate_setting": {
+ "activate_type": "AUTO_ACTIVATE",
+ "activate_url": "https://w.url.cn/s/Ahz3p2C",
+ "activate_miniprogram": {
+ "activate_appid": "wxea9c30a90fs8d3fe",
+ "activate_path": "pages/activate/activate"
+ }
+ },
+ "payment_setting": {
+ "payment_mode": {
+ "payment_scene_list": ["APP"]
+ },
+ "limit_bank": "CFT",
+ "goods_tags": ["xxx", "yyy"]
+ }
+ },
+ "miniprogram_activity_setting": {
+ "outer_str": ["领取渠道1", "领取渠道2"],
+ "award_jump_deploy": {
+ "mini_program_appid": "wxc0b84a53ed8e8d29",
+ "mini_program_path": "mall/pages/List",
+ "button_text": "点击"
+ }
+ }
+ }
+ ],
+ "offset": 10,
+ "limit": 5,
+ "total_count": 1234
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.json
new file mode 100644
index 00000000..dd39d0c6
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.json
@@ -0,0 +1,4 @@
+{
+ "activity_id": "371067",
+ "terminate_time": "2015-05-20T13:29:35.120+08:00"
+}