diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardOpenExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardOpenExtensions.cs index 5c21cff4..07fd5983 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardOpenExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardOpenExtensions.cs @@ -420,5 +420,89 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region Activation + /// + /// 异步调用 [PATCH] /marketing/membercard-open/cards/{card_id}/rights 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter5_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteUpdateMarketingMemberCardOpenCardRightsAsync(this WechatTenpayClient client, Models.UpdateMarketingMemberCardOpenCardRightsRequest 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, new HttpMethod("PATCH"), "marketing", "membercard-open", "cards", request.CardId, "rights"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [PATCH] /marketing/membercard-open/cards/{card_id}/codes/{code}/rights 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter5_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteUpdateMarketingMemberCardOpenCardCodeRightsAsync(this WechatTenpayClient client, Models.UpdateMarketingMemberCardOpenCardCodeRightsRequest 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, new HttpMethod("PATCH"), "marketing", "membercard-open", "cards", request.CardId, "codes", request.Code, "rights"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/bonus/prepare 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter10_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecutePrepareMarketingMemberCardOpenCardCodeBonusAsync(this WechatTenpayClient client, Models.PrepareMarketingMemberCardOpenCardCodeBonusRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId == null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "codes", request.Code, "bonus", "prepare"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/bonus/commit 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter10_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCommitMarketingMemberCardOpenCardCodeBonusAsync(this WechatTenpayClient client, Models.CommitMarketingMemberCardOpenCardCodeBonusRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId == null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "codes", request.Code, "bonus", "commit"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/CreateMarketingMemberCardOpenCardRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/CreateMarketingMemberCardOpenCardRequest.cs index 96252683..6812f89b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/CreateMarketingMemberCardOpenCardRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/CreateMarketingMemberCardOpenCardRequest.cs @@ -265,7 +265,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("init_level")] [System.Text.Json.Serialization.JsonPropertyName("init_level")] - public string? InitializedLevel { get; set; } + public string? InitialLevel { get; set; } /// /// 获取或设置商户请求单号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/GetMarketingMemberCardOpenCardByCardIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/GetMarketingMemberCardOpenCardByCardIdResponse.cs index cdbbe532..61804d55 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/GetMarketingMemberCardOpenCardByCardIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/GetMarketingMemberCardOpenCardByCardIdResponse.cs @@ -188,7 +188,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("init_bonus")] [System.Text.Json.Serialization.JsonPropertyName("init_bonus")] - public int InitializedValue { get; set; } + public int InitialBonusValue { get; set; } /// /// 获取或设置积分值文案。 @@ -488,7 +488,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("init_level")] [System.Text.Json.Serialization.JsonPropertyName("init_level")] - public string? InitializedLevel { get; set; } + public string? InitialLevel { get; set; } /// /// 获取或设置商户请求单号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/QueryMarketingMemberCardOpenCardsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/QueryMarketingMemberCardOpenCardsResponse.cs index 3022327b..b566fc0f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/QueryMarketingMemberCardOpenCardsResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/QueryMarketingMemberCardOpenCardsResponse.cs @@ -144,7 +144,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("init_level")] [System.Text.Json.Serialization.JsonPropertyName("init_level")] - public string? InitializedLevel { get; set; } + public string? InitialLevel { get; set; } /// /// 获取或设置商户请求单号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/UpdateMarketingMemberCardOpenCardRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/UpdateMarketingMemberCardOpenCardRequest.cs index e2c7d327..ad5655ad 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/UpdateMarketingMemberCardOpenCardRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Card/UpdateMarketingMemberCardOpenCardRequest.cs @@ -135,7 +135,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("init_level")] [System.Text.Json.Serialization.JsonPropertyName("init_level")] - public string? InitializedLevel { get; set; } + public string? InitialLevel { get; set; } /// /// 获取或设置储值信息。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusRequest.cs new file mode 100644 index 00000000..47417219 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/bonus/commit 接口的请求。 + /// + public class CommitMarketingMemberCardOpenCardCodeBonusRequest : PrepareMarketingMemberCardOpenCardCodeBonusRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusResponse.cs new file mode 100644 index 00000000..aa341c58 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/bonus/commit 接口的响应。 + /// + public class CommitMarketingMemberCardOpenCardCodeBonusResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusRequest.cs new file mode 100644 index 00000000..47b7103a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusRequest.cs @@ -0,0 +1,50 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/bonus/prepare 接口的请求。 + /// + public class PrepareMarketingMemberCardOpenCardCodeBonusRequest : WechatTenpayRequest + { + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardId { get; set; } = string.Empty; + + /// + /// 获取或设置会员卡 Code。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string Code { get; set; } = string.Empty; + + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置商户订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_trade_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")] + public string OutTradeNumber { get; set; } = string.Empty; + + /// + /// 获取或设置本次积分变动值的绝对值。 + /// + [Newtonsoft.Json.JsonProperty("bonus_value")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_value")] + public int? BonusDiff { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusResponse.cs new file mode 100644 index 00000000..3b9db3fc --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/bonus/prepare 接口的响应。 + /// + public class PrepareMarketingMemberCardOpenCardCodeBonusResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsRequest.cs new file mode 100644 index 00000000..208d252e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsRequest.cs @@ -0,0 +1,85 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [PATCH] /marketing/membercard-open/cards/{card_id}/codes/{code}/rights 接口的请求。 + /// + public class UpdateMarketingMemberCardOpenCardCodeRightsRequest : WechatTenpayRequest + { + public static class Types + { + public class Guide : UpdateMarketingMemberCardOpenCardRightsRequest.Types.Guide + { + } + } + + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardId { get; set; } = string.Empty; + + /// + /// 获取或设置会员卡 Code。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string Code { get; set; } = string.Empty; + + /// + /// 获取或设置更新前用户积分(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("before_bonus_value")] + [System.Text.Json.Serialization.JsonPropertyName("before_bonus_value")] + public int? BonusValueBefore { get; set; } + + /// + /// 获取或设置更新后用户积分(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("bonus_value")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_value")] + public int? BonusValue { get; set; } + + /// + /// 获取或设置本次积分变动值。 + /// + [Newtonsoft.Json.JsonProperty("add_bonus_value")] + [System.Text.Json.Serialization.JsonPropertyName("add_bonus_value")] + public int? BonusDiff { get; set; } + + /// + /// 获取或设置商户请求单号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = string.Empty; + + /// + /// 获取或设置是否发送积分变更通知。 + /// + [Newtonsoft.Json.JsonProperty("need_inform_bonus")] + [System.Text.Json.Serialization.JsonPropertyName("need_inform_bonus")] + public bool? RequreInformBonus { get; set; } + + /// + /// 获取或设置会员专享价文案。 + /// + [Newtonsoft.Json.JsonProperty("member_price_word")] + [System.Text.Json.Serialization.JsonPropertyName("member_price_word")] + public string? MemberPriceWords { get; set; } + + /// + /// 获取或设置发票跳转文案。 + /// + [Newtonsoft.Json.JsonProperty("fapiao_jump_word")] + [System.Text.Json.Serialization.JsonPropertyName("fapiao_jump_word")] + public string? InvoiceJumpWords { get; set; } + + /// + /// 获取或设置客服信息。 + /// + [Newtonsoft.Json.JsonProperty("guide")] + [System.Text.Json.Serialization.JsonPropertyName("guide")] + public Types.Guide? Guide { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsResponse.cs new file mode 100644 index 00000000..e75be9be --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [PATCH] /marketing/membercard-open/cards/{card_id}/codes/{code}/rights 接口的响应。 + /// + public class UpdateMarketingMemberCardOpenCardCodeRightsResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsRequest.cs new file mode 100644 index 00000000..c2e1ff59 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsRequest.cs @@ -0,0 +1,248 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [PATCH] /marketing/membercard-open/cards/{card_id}/rights 接口的请求。 + /// + public class UpdateMarketingMemberCardOpenCardRightsRequest : WechatTenpayRequest + { + public static class Types + { + public class Bonus + { + + /// + /// 获取或设置会员初始积分值。 + /// + [Newtonsoft.Json.JsonProperty("init_bonus")] + [System.Text.Json.Serialization.JsonPropertyName("init_bonus")] + public int InitialBonusValue { get; set; } + + /// + /// 获取或设置积分值文案。 + /// + [Newtonsoft.Json.JsonProperty("bonus_value_word")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_value_word")] + public string? ValueWords { get; set; } + + /// + /// 获取或设置积分价值项标题。 + /// + [Newtonsoft.Json.JsonProperty("bonus_cost_title")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_cost_title")] + public string? CostTitle { get; set; } + + /// + /// 获取或设置积分价值项文案。 + /// + [Newtonsoft.Json.JsonProperty("bonus_cost_word")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_cost_word")] + public string? CostWords { get; set; } + + /// + /// 获取或设置跳转文案。 + /// + [Newtonsoft.Json.JsonProperty("bonus_jump_word")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_jump_word")] + public string? JumpWords { get; set; } + + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("bonus_jump_appid")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_jump_appid")] + public string? MiniProgramAppId { get; set; } + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("bonus_jump_path")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_jump_path")] + public string? MiniProgramPath { get; set; } + + /// + /// 获取或设置自助小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("bonus_support_appid")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_support_appid")] + public string? SupportMiniProgramAppId { get; set; } + + /// + /// 获取或设置自助小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("bonus_support_path")] + [System.Text.Json.Serialization.JsonPropertyName("bonus_support_path")] + public string? SupportMiniProgramPath { get; set; } + } + + public class Favor + { + /// + /// 获取或设置是否展示优惠券。 + /// + [Newtonsoft.Json.JsonProperty("show_coupon")] + [System.Text.Json.Serialization.JsonPropertyName("show_coupon")] + public bool? RequireShowCoupon { get; set; } + + /// + /// 获取或设置会员专享价文案。 + /// + [Newtonsoft.Json.JsonProperty("member_price_word")] + [System.Text.Json.Serialization.JsonPropertyName("member_price_word")] + public string? MemberPriceWords { get; set; } + + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("member_price_appid")] + [System.Text.Json.Serialization.JsonPropertyName("member_price_appid")] + public string? MiniProgramAppId { get; set; } + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("member_price_path")] + [System.Text.Json.Serialization.JsonPropertyName("member_price_path")] + public string? MiniProgramPath { get; set; } + + /// + /// 获取或设置会员专享价标题。 + /// + [Newtonsoft.Json.JsonProperty("member_price_title")] + [System.Text.Json.Serialization.JsonPropertyName("member_price_title")] + public string? MemberPriceTitle { get; set; } + + /// + /// 获取或设置会员优惠栏目名称。 + /// + [Newtonsoft.Json.JsonProperty("favor_module_title")] + [System.Text.Json.Serialization.JsonPropertyName("favor_module_title")] + public string? FavorModuleTitle { get; set; } + } + + public class Invoice + { + /// + /// 获取或设置跳转文案。 + /// + [Newtonsoft.Json.JsonProperty("fapiao_jump_word")] + [System.Text.Json.Serialization.JsonPropertyName("fapiao_jump_word")] + public string? JumpWords { get; set; } + + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("fapiao_jump_appid")] + [System.Text.Json.Serialization.JsonPropertyName("fapiao_jump_appid")] + public string? MiniProgramAppId { get; set; } + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("fapiao_jump_path")] + [System.Text.Json.Serialization.JsonPropertyName("fapiao_jump_path")] + public string? MiniProgramPath { get; set; } + } + + public class Guide + { + /// + /// 获取或设置联系人名字。 + /// + [Newtonsoft.Json.JsonProperty("staff_name")] + [System.Text.Json.Serialization.JsonPropertyName("staff_name")] + public string? StaffName { get; set; } + + /// + /// 获取或设置联系人头像媒体文件地址。 + /// + [Newtonsoft.Json.JsonProperty("head_image_url")] + [System.Text.Json.Serialization.JsonPropertyName("head_image_url")] + public string? HeadImageMediaUrl { get; set; } + + /// + /// 获取或设置联系方式。 + /// + [Newtonsoft.Json.JsonProperty("contact_information_name")] + [System.Text.Json.Serialization.JsonPropertyName("contact_information_name")] + public string? ContactInformationName { get; set; } + + /// + /// 获取或设置联系信息。 + /// + [Newtonsoft.Json.JsonProperty("contact_information_value")] + [System.Text.Json.Serialization.JsonPropertyName("contact_information_value")] + public string? ContactInformationValue { get; set; } + + /// + /// 获取或设置联系电话。 + /// + [Newtonsoft.Json.JsonProperty("phone_number")] + [System.Text.Json.Serialization.JsonPropertyName("phone_number")] + public string? PhoneNumber { get; set; } + } + } + + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardId { get; set; } = string.Empty; + + /// + /// 获取或设置是否展示会员积分。 + /// + [Newtonsoft.Json.JsonProperty("show_bonus")] + [System.Text.Json.Serialization.JsonPropertyName("show_bonus")] + public bool? RequireShowBonus { get; set; } + + /// + /// 获取或设置积分信息。 + /// + [Newtonsoft.Json.JsonProperty("bonus")] + [System.Text.Json.Serialization.JsonPropertyName("bonus")] + public Types.Bonus? Bonus { get; set; } + + /// + /// 获取或设置是否展示会员优惠。 + /// + [Newtonsoft.Json.JsonProperty("show_favor")] + [System.Text.Json.Serialization.JsonPropertyName("show_favor")] + public bool? RequireShowFavor { get; set; } + + /// + /// 获取或设置优惠信息。 + /// + [Newtonsoft.Json.JsonProperty("favor")] + [System.Text.Json.Serialization.JsonPropertyName("favor")] + public Types.Favor? Favor { get; set; } + + /// + /// 获取或设置是否展示发票。 + /// + [Newtonsoft.Json.JsonProperty("show_fapiao")] + [System.Text.Json.Serialization.JsonPropertyName("show_fapiao")] + public bool? RequireShowInvoice { get; set; } + + /// + /// 获取或设置会员发票信息。 + /// + [Newtonsoft.Json.JsonProperty("fapiao")] + [System.Text.Json.Serialization.JsonPropertyName("fapiao")] + public Types.Invoice? Invoice { get; set; } + + /// + /// 获取或设置是否展示客服。 + /// + [Newtonsoft.Json.JsonProperty("show_guide")] + [System.Text.Json.Serialization.JsonPropertyName("show_guide")] + public bool? RequireShowGuide { get; set; } + + /// + /// 获取或设置客服信息。 + /// + [Newtonsoft.Json.JsonProperty("guide")] + [System.Text.Json.Serialization.JsonPropertyName("guide")] + public Types.Guide? Guide { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsResponse.cs new file mode 100644 index 00000000..4df56e00 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [PATCH] /marketing/membercard-open/cards/{card_id}/rights 接口的响应。 + /// + public class UpdateMarketingMemberCardOpenCardRightsResponse : WechatTenpayResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusRequest.json new file mode 100644 index 00000000..8d1f99fe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusRequest.json @@ -0,0 +1,6 @@ +{ + "out_trade_no": "1217752501201407033233368018", + "mchid": "1230000109", + "sub_mchid": "1900000109", + "bonus_value": 30 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusResponse.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/CommitMarketingMemberCardOpenCardCodeBonusResponse.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusRequest.json new file mode 100644 index 00000000..8d1f99fe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusRequest.json @@ -0,0 +1,6 @@ +{ + "out_trade_no": "1217752501201407033233368018", + "mchid": "1230000109", + "sub_mchid": "1900000109", + "bonus_value": 30 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusResponse.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/PrepareMarketingMemberCardOpenCardCodeBonusResponse.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsRequest.json new file mode 100644 index 00000000..5e38eeb8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsRequest.json @@ -0,0 +1,16 @@ +{ + "before_bonus_value": 500, + "bonus_value": 600, + "add_bonus_value": 100, + "out_request_no": "100002322019090134234sfdf", + "need_inform_bonus": true, + "member_price_word": "钻石会员尊享8折", + "fapiao_jump_word": "3张发票可开", + "guide": { + "staff_name": "酒店管家-何小明", + "head_image_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0", + "contact_information_name": "微信号", + "contact_information_value": "weixin123", + "phone_number": "0755-12345677" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsResponse.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardCodeRightsResponse.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsRequest.json new file mode 100644 index 00000000..6e2ecda2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsRequest.json @@ -0,0 +1,35 @@ +{ + "show_bonus": false, + "show_favor": false, + "bonus": { + "init_bonus": 100, + "bonus_value_word": "我的积分", + "bonus_cost_title": "积分兑换", + "bonus_cost_word": "500积分=2小时免费停车券", + "bonus_jump_word": "更多礼品", + "bonus_jump_appid": "wxea9c30a90fs8d3fe", + "bonus_jump_path": "/pages/bonus/bonus", + "bonus_support_appid": "wxea9c30a90fs8d3fe", + "bonus_support_path": "pages/selfbonus/selfbonus" + }, + "favor": { + "show_coupon": true, + "member_price_word": "周二会员全场八折", + "member_price_appid": "wxea9c30a90fs8d3fe", + "member_price_path": "pages/favor/favor" + }, + "show_fapiao": false, + "fapiao": { + "fapiao_jump_word": "查看我的发票", + "fapiao_jump_appid": "wxea9c30a90fs8d3fe", + "fapiao_jump_path": "pages/fapiao/fapiao" + }, + "show_guide": false, + "guide": { + "staff_name": "酒店管家-何小明", + "head_image_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0", + "contact_information_name": "微信号", + "contact_information_value": "weixin123", + "phone_number": "0755-12345677" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsResponse.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberCardOpen/Rights/UpdateMarketingMemberCardOpenCardRightsResponse.json @@ -0,0 +1 @@ +{} \ No newline at end of file