feat(tenpayv3): 新增商家名片会员相关接口
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeLint / Lint (push) Has been cancelled

This commit is contained in:
Fu Diwei
2025-10-09 17:14:26 +08:00
parent f39a644a00
commit 442708063b
66 changed files with 4438 additions and 1 deletions

View File

@@ -0,0 +1,89 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
/// <summary>
/// <para>表示 BRAND_MEMBER_CARD_SP.POINT_EXCHANGE_COUPON (仅限服务商)通知的数据。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015878622 ]]>
/// </para>
/// </summary>
public class BrandPartnerCardMemberPointExchangeCouponResource : WechatTenpayEvent.Types.IDecryptedResource
{
/// <summary>
/// 获取或设置积分兑券 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("record_id")]
[System.Text.Json.Serialization.JsonPropertyName("record_id")]
public string RecordId { get; set; } = default!;
/// <summary>
/// 获取或设置积分兑券模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("exchange_coupon_template_id")]
[System.Text.Json.Serialization.JsonPropertyName("exchange_coupon_template_id")]
public string ExchangeCouponTemplateId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置商家 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
/// <summary>
/// 获取或设置消耗积分数。
/// </summary>
[Newtonsoft.Json.JsonProperty("deduct_points")]
[System.Text.Json.Serialization.JsonPropertyName("deduct_points")]
public int DeductPoints { get; set; }
/// <summary>
/// 获取或设置商品券 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_coupon_id")]
[System.Text.Json.Serialization.JsonPropertyName("product_coupon_id")]
public string ProductCouponId { get; set; } = default!;
/// <summary>
/// 获取或设置商品券批次类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_coupon_stock_type")]
[System.Text.Json.Serialization.JsonPropertyName("product_coupon_stock_type")]
public string ProductCouponStockType { get; set; } = default!;
/// <summary>
/// 获取或设置商品券批次 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("stock_id")]
[System.Text.Json.Serialization.JsonPropertyName("stock_id")]
public string StockId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,209 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
/// <summary>
/// <para>表示 BRAND_MEMBER_CARD_SP.USER_CARD.CREATE (仅限服务商)通知的数据。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015283692 ]]>
/// </para>
/// </summary>
public class BrandPartnerCardMemberUserCardResource : WechatTenpayEvent.Types.IDecryptedResource
{
public static class Types
{
public class ValidDateInfo : Models.QueryBrandPartnerCardMemberUserCardsResponse.Types.UserCard.Types.ValidDateInfo
{
}
public class UserInfo
{
public static class Types
{
public class CommonField
{
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值。
/// </summary>
[Newtonsoft.Json.JsonProperty("value")]
[System.Text.Json.Serialization.JsonPropertyName("value")]
public string? Value { get; set; }
}
public class CustomField
{
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_chosen_values")]
[System.Text.Json.Serialization.JsonPropertyName("user_chosen_values")]
public string[]? Values { get; set; }
}
}
/// <summary>
/// 获取或设置通用开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("common_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
public Types.CommonField[]? CommonFieldList { get; set; }
/// <summary>
/// 获取或设置自定义开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("custom_field_list")]
public Types.CustomField[]? CustomFieldList { get; set; }
}
}
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string CardType { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string CardColor { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string CardPictureUrl { get; set; } = default!;
/// <summary>
/// 获取或设置用户的手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone_number")]
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("level")]
[System.Text.Json.Serialization.JsonPropertyName("level")]
public string? Level { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置领取时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("pickup_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("pickup_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset PickupTime { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_state")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置作废原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_reason")]
[System.Text.Json.Serialization.JsonPropertyName("invalid_reason")]
public string? InvalidReason { get; set; }
/// <summary>
/// 获取或设置作废时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("invalid_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? InvalidTime { get; set; }
/// <summary>
/// 获取或设置创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置更新时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("modify_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset ModifyTime { get; set; }
}
}

View File

@@ -0,0 +1,40 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
/// <summary>
/// <para>表示 BRAND_MEMBER_CARD_SP.SYNC_USER_POINT (仅限服务商)通知的数据。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016096820 ]]>
/// </para>
/// </summary>
public class BrandPartnerCardMemberUserPointResource : WechatTenpayEvent.Types.IDecryptedResource
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,366 @@
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Flurl.Http;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
{
public static class WechatTenpayClientExecuteBrandPartnerCardMemberExtensions
{
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/pre-auth-tokens 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336986 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreateBrandPartnerCardMemberPreauthTokenResponse> ExecuteCreateBrandPartnerCardMemberPreauthTokenAsync(this WechatTenpayClient client, Models.CreateBrandPartnerCardMemberPreauthTokenRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "pre-auth-tokens");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateBrandPartnerCardMemberPreauthTokenResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#region Cards
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/cards 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336970 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreateBrandPartnerCardMemberCardResponse> ExecuteCreateBrandPartnerCardMemberCardAsync(this WechatTenpayClient client, Models.CreateBrandPartnerCardMemberCardRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "cards");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateBrandPartnerCardMemberCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /brand/partner/card-member/cards 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336976 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.QueryBrandPartnerCardMemberCardsResponse> ExecuteQueryBrandPartnerCardMemberCardsAsync(this WechatTenpayClient client, Models.QueryBrandPartnerCardMemberCardsRequest 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
.CreateFlurlRequest(request, HttpMethod.Get, "brand", "partner", "card-member", "cards")
.SetQueryParam("brand_id", request.BrandId)
.SetQueryParam("state", request.State)
.SetQueryParam("offset", request.Offset)
.SetQueryParam("limit", request.Limit);
return await client.SendFlurlRequestAsJsonAsync<Models.QueryBrandPartnerCardMemberCardsResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /brand/partner/card-member/cards/{card_id} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336974 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetBrandPartnerCardMemberCardByCardIdResponse> ExecuteGetBrandPartnerCardMemberCardByCardIdAsync(this WechatTenpayClient client, Models.GetBrandPartnerCardMemberCardByCardIdRequest 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
.CreateFlurlRequest(request, HttpMethod.Get, "brand", "partner", "card-member", "cards", request.CardId)
.SetQueryParam("brand_id", request.BrandId);
return await client.SendFlurlRequestAsJsonAsync<Models.GetBrandPartnerCardMemberCardByCardIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [PATCH] /brand/partner/card-member/cards/{card_id} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336977 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.UpdateBrandPartnerCardMemberCardResponse> ExecuteUpdateBrandPartnerCardMemberCardAsync(this WechatTenpayClient client, Models.UpdateBrandPartnerCardMemberCardRequest 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
.CreateFlurlRequest(request, new HttpMethod("PATCH"), "brand", "partner", "card-member", "cards", request.CardId);
return await client.SendFlurlRequestAsJsonAsync<Models.UpdateBrandPartnerCardMemberCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/cards/{card_id}/invalidate 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336972 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.InvalidateBrandPartnerCardMemberCardResponse> ExecuteInvalidateBrandPartnerCardMemberCardAsync(this WechatTenpayClient client, Models.InvalidateBrandPartnerCardMemberCardRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "cards", request.CardId, "invalidate");
return await client.SendFlurlRequestAsJsonAsync<Models.InvalidateBrandPartnerCardMemberCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region UserCards
/// <summary>
/// <para>异步调用 [GET] /brand/partner/card-member/user-cards 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336984 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.QueryBrandPartnerCardMemberUserCardsResponse> ExecuteQueryBrandPartnerCardMemberUserCardsAsync(this WechatTenpayClient client, Models.QueryBrandPartnerCardMemberUserCardsRequest 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
.CreateFlurlRequest(request, HttpMethod.Get, "brand", "partner", "card-member", "user-cards")
.SetQueryParam("brand_id", request.BrandId)
.SetQueryParam("openid", request.OpenId)
.SetQueryParam("user_card_state", request.State)
.SetQueryParam("offset", request.Offset)
.SetQueryParam("limit", request.Limit);
return await client.SendFlurlRequestAsJsonAsync<Models.QueryBrandPartnerCardMemberUserCardsResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /brand/partner/card-member/user-cards/{user_card_code} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336980 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetBrandPartnerCardMemberUserCardByUserCardCodeResponse> ExecuteGetBrandPartnerCardMemberUserCardByUserCardCodeAsync(this WechatTenpayClient client, Models.GetBrandPartnerCardMemberUserCardByUserCardCodeRequest 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
.CreateFlurlRequest(request, HttpMethod.Get, "brand", "partner", "card-member", "user-cards", request.UserCardCode)
.SetQueryParam("brand_id", request.BrandId)
.SetQueryParam("card_id", request.CardId)
.SetQueryParam("openid", request.OpenId);
return await client.SendFlurlRequestAsJsonAsync<Models.GetBrandPartnerCardMemberUserCardByUserCardCodeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [PATCH] /brand/partner/card-member/user-cards/{user_card_code} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336985 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.UpdateBrandPartnerCardMemberUserCardResponse> ExecuteUpdateBrandPartnerCardMemberUserCardAsync(this WechatTenpayClient client, Models.UpdateBrandPartnerCardMemberUserCardRequest 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
.CreateFlurlRequest(request, new HttpMethod("PATCH"), "brand", "partner", "card-member", "user-cards", request.UserCardCode)
.SetQueryParam("card_id", request.CardId);
return await client.SendFlurlRequestAsJsonAsync<Models.UpdateBrandPartnerCardMemberUserCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/user-cards/{user_card_code}/invalidate 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336983 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.InvalidateBrandPartnerCardMemberUserCardResponse> ExecuteInvalidateBrandPartnerCardMemberUserCardAsync(this WechatTenpayClient client, Models.InvalidateBrandPartnerCardMemberUserCardRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "user-cards", request.UserCardCode, "invalidate")
.SetQueryParam("brand_id", request.BrandId)
.SetQueryParam("card_id", request.CardId);
return await client.SendFlurlRequestAsJsonAsync<Models.InvalidateBrandPartnerCardMemberUserCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/user-cards/import-by-openid 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336981 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ImportBrandPartnerCardMemberUserCardByOpenIdResponse> ExecuteImportBrandPartnerCardMemberUserCardByOpenIdAsync(this WechatTenpayClient client, Models.ImportBrandPartnerCardMemberUserCardByOpenIdRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "user-cards", "import-by-openid");
return await client.SendFlurlRequestAsJsonAsync<Models.ImportBrandPartnerCardMemberUserCardByOpenIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/user-cards/{user_card_code}/confirm 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336979 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ConfirmBrandPartnerCardMemberUserCardResponse> ExecuteConfirmBrandPartnerCardMemberUserCardAsync(this WechatTenpayClient client, Models.ConfirmBrandPartnerCardMemberUserCardRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "user-cards", request.UserCardCode, "confirm")
.SetQueryParam("card_id", request.CardId);
return await client.SendFlurlRequestAsJsonAsync<Models.ConfirmBrandPartnerCardMemberUserCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region UserFeeds
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/user-feeds 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015336987 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreateBrandPartnerCardMemberUserFeedResponse> ExecuteCreateBrandPartnerCardMemberUserFeedAsync(this WechatTenpayClient client, Models.CreateBrandPartnerCardMemberUserFeedRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "user-feeds");
return await client.SendFlurlRequestAsJsonAsync<Models.CreateBrandPartnerCardMemberUserFeedResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region UserFeeds
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/user-points/sync 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015897280 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.SyncBrandPartnerCardMemberUserPointResponse> ExecuteSyncBrandPartnerCardMemberUserPointAsync(this WechatTenpayClient client, Models.SyncBrandPartnerCardMemberUserPointRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "user-points", "sync");
return await client.SendFlurlRequestAsJsonAsync<Models.SyncBrandPartnerCardMemberUserPointResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /brand/partner/card-member/user-points/exchange-coupon/confirm 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015897268 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ConfirmBrandPartnerCardMemberUserPointExchangeCouponResponse> ExecuteConfirmBrandPartnerCardMemberUserPointExchangeCouponAsync(this WechatTenpayClient client, Models.ConfirmBrandPartnerCardMemberUserPointExchangeCouponRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "card-member", "user-points", "exchange-coupon", "confirm");
return await client.SendFlurlRequestAsJsonAsync<Models.ConfirmBrandPartnerCardMemberUserPointExchangeCouponResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
}
}

View File

@@ -0,0 +1,281 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/cards 接口的请求。</para>
/// </summary>
public class CreateBrandPartnerCardMemberCardRequest : WechatTenpayRequest
{
public static class Types
{
public class ValidDateInfo
{
/// <summary>
/// 获取或设置有效期类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 获取或设置有效期开始时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("available_begin_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("available_begin_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? AvailableBeginTime { get; set; }
/// <summary>
/// 获取或设置有效期结束时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("available_end_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("available_end_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? AvailableEndTime { get; set; }
/// <summary>
/// 获取或设置领取后 N 天内有效。
/// </summary>
[Newtonsoft.Json.JsonProperty("available_day_after_receive")]
[System.Text.Json.Serialization.JsonPropertyName("available_day_after_receive")]
public int? AvailableDaysAfterReceive { get; set; }
}
public class JumpInfo
{
/// <summary>
/// 获取或设置小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("jump_appid")]
[System.Text.Json.Serialization.JsonPropertyName("jump_appid")]
public string? JumpAppId { get; set; }
/// <summary>
/// 获取或设置小程序页面路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("jump_path")]
[System.Text.Json.Serialization.JsonPropertyName("jump_path")]
public string? JumpPagePath { get; set; }
}
public class PurchaseJumpInfo : JumpInfo
{
/// <summary>
/// 获取或设置付费会员价格(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("price")]
[System.Text.Json.Serialization.JsonPropertyName("price")]
public int? Price { get; set; }
}
public class UserInfo
{
public static class Types
{
public class CustomField
{
/// <summary>
/// 获取或设置字段类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置字段值。
/// </summary>
[Newtonsoft.Json.JsonProperty("values")]
[System.Text.Json.Serialization.JsonPropertyName("values")]
public IList<string>? Values { get; set; }
}
}
/// <summary>
/// 获取或设置通用开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("common_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
public IList<string>? CommonFieldList { get; set; }
/// <summary>
/// 获取或设置自定义开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("custom_field_list")]
public IList<Types.CustomField>? CustomFieldList { get; set; }
}
}
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商家 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string CardType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_title")]
[System.Text.Json.Serialization.JsonPropertyName("card_title")]
public string CardTitle { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string CardColor { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string CardPictureUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡 Code 分配类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_mode")]
[System.Text.Json.Serialization.JsonPropertyName("code_mode")]
public string CodeMode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员码展示类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_type")]
[System.Text.Json.Serialization.JsonPropertyName("code_type")]
public string CodeType { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员码跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_jump_information")]
[System.Text.Json.Serialization.JsonPropertyName("code_jump_information")]
public Types.JumpInfo? CodeJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员中心跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_information")]
[System.Text.Json.Serialization.JsonPropertyName("member_information")]
public Types.JumpInfo? MemberJumpInfo { get; set; }
/// <summary>
/// 获取或设置积分跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("points_information")]
[System.Text.Json.Serialization.JsonPropertyName("points_information")]
public Types.JumpInfo? PointsJumpInfo { get; set; }
/// <summary>
/// 获取或设置储值跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("balance_information")]
[System.Text.Json.Serialization.JsonPropertyName("balance_information")]
public Types.JumpInfo? BalanceJumpInfo { get; set; }
/// <summary>
/// 获取或设置付费会员跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("purchase_information")]
[System.Text.Json.Serialization.JsonPropertyName("purchase_information")]
public Types.PurchaseJumpInfo? PurchaseJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员权益。
/// </summary>
[Newtonsoft.Json.JsonProperty("benefits")]
[System.Text.Json.Serialization.JsonPropertyName("benefits")]
public string Benefits { get; set; } = string.Empty;
/// <summary>
/// 获取或设置回调地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string NotifyUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否置顶。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_pinned")]
[System.Text.Json.Serialization.JsonPropertyName("need_pinned")]
public bool? IsPinned { get; set; }
/// <summary>
/// 获取或设置是否展示会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_display_level")]
[System.Text.Json.Serialization.JsonPropertyName("need_display_level")]
public bool? IsDisplayLevel { get; set; }
/// <summary>
/// 获取或设置会员初始等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("init_level")]
[System.Text.Json.Serialization.JsonPropertyName("init_level")]
public string? InitialLevel { get; set; }
/// <summary>
/// 获取或设置服务电话。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_phone")]
[System.Text.Json.Serialization.JsonPropertyName("service_phone")]
public string? ServicePhoneNumber { get; set; }
/// <summary>
/// 获取或设置商家法务协议。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_agreement")]
[System.Text.Json.Serialization.JsonPropertyName("legal_agreement")]
public string? LegalAgreement { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/cards 接口的响应。</para>
/// </summary>
public class CreateBrandPartnerCardMemberCardResponse : GetBrandPartnerCardMemberCardByCardIdResponse
{
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/cards/{card_id} 接口的请求。</para>
/// </summary>
public class GetBrandPartnerCardMemberCardByCardIdRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string BrandId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,222 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/cards/{card_id} 接口的响应。</para>
/// </summary>
public class GetBrandPartnerCardMemberCardByCardIdResponse : WechatTenpayResponse
{
public static class Types
{
public class ValidDateInfo : QueryBrandPartnerCardMemberCardsResponse.Types.Card.Types.ValidDateInfo
{
}
public class JumpInfo : QueryBrandPartnerCardMemberCardsResponse.Types.Card.Types.JumpInfo
{
}
public class PurchaseJumpInfo : QueryBrandPartnerCardMemberCardsResponse.Types.Card.Types.PurchaseJumpInfo
{
}
public class UserInfo : QueryBrandPartnerCardMemberCardsResponse.Types.Card.Types.UserInfo
{
}
}
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置商家 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string CardType { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_title")]
[System.Text.Json.Serialization.JsonPropertyName("card_title")]
public string CardTitle { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string CardColor { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string CardPictureUrl { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡 Code 分配类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_mode")]
[System.Text.Json.Serialization.JsonPropertyName("code_mode")]
public string CodeMode { get; set; } = default!;
/// <summary>
/// 获取或设置会员码展示类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_type")]
[System.Text.Json.Serialization.JsonPropertyName("code_type")]
public string CodeType { get; set; } = default!;
/// <summary>
/// 获取或设置会员码跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_jump_information")]
[System.Text.Json.Serialization.JsonPropertyName("code_jump_information")]
public Types.JumpInfo? CodeJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员中心跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_information")]
[System.Text.Json.Serialization.JsonPropertyName("member_information")]
public Types.JumpInfo? MemberJumpInfo { get; set; }
/// <summary>
/// 获取或设置积分跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("points_information")]
[System.Text.Json.Serialization.JsonPropertyName("points_information")]
public Types.JumpInfo? PointsJumpInfo { get; set; }
/// <summary>
/// 获取或设置储值跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("balance_information")]
[System.Text.Json.Serialization.JsonPropertyName("balance_information")]
public Types.JumpInfo? BalanceJumpInfo { get; set; }
/// <summary>
/// 获取或设置付费会员跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("purchase_information")]
[System.Text.Json.Serialization.JsonPropertyName("purchase_information")]
public Types.PurchaseJumpInfo? PurchaseJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员权益。
/// </summary>
[Newtonsoft.Json.JsonProperty("benefits")]
[System.Text.Json.Serialization.JsonPropertyName("benefits")]
public string Benefits { get; set; } = default!;
/// <summary>
/// 获取或设置回调地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string NotifyUrl { get; set; } = default!;
/// <summary>
/// 获取或设置是否置顶。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_pinned")]
[System.Text.Json.Serialization.JsonPropertyName("need_pinned")]
public bool? IsPinned { get; set; }
/// <summary>
/// 获取或设置是否展示会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_display_level")]
[System.Text.Json.Serialization.JsonPropertyName("need_display_level")]
public bool? IsDisplayLevel { get; set; }
/// <summary>
/// 获取或设置会员初始等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("init_level")]
[System.Text.Json.Serialization.JsonPropertyName("init_level")]
public string? InitialLevel { get; set; }
/// <summary>
/// 获取或设置服务电话。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_phone")]
[System.Text.Json.Serialization.JsonPropertyName("service_phone")]
public string? ServicePhoneNumber { get; set; }
/// <summary>
/// 获取或设置商家法务协议。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_agreement")]
[System.Text.Json.Serialization.JsonPropertyName("legal_agreement")]
public string? LegalAgreement { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置更新时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("modify_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset ModifyTime { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/cards/{card_id}/invalidate 接口的请求。</para>
/// </summary>
public class InvalidateBrandPartnerCardMemberCardRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/cards/{card_id}/invalidate 接口的响应。</para>
/// </summary>
public class InvalidateBrandPartnerCardMemberCardResponse : GetBrandPartnerCardMemberCardByCardIdResponse
{
}
}

View File

@@ -0,0 +1,38 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/cards 接口的请求。</para>
/// </summary>
public class QueryBrandPartnerCardMemberCardsRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? State { get; set; }
/// <summary>
/// 获取或设置分页大小。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int Limit { get; set; }
/// <summary>
/// 获取或设置分页开始位置。
/// <para>默认值0</para>
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int Offset { get; set; }
}
}

View File

@@ -0,0 +1,346 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/cards 接口的响应。</para>
/// </summary>
public class QueryBrandPartnerCardMemberCardsResponse : WechatTenpayResponse
{
public static class Types
{
public class Card
{
public static class Types
{
public class ValidDateInfo
{
/// <summary>
/// 获取或设置有效期类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string Type { get; set; } = default!;
/// <summary>
/// 获取或设置有效期开始时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("available_begin_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("available_begin_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? AvailableBeginTime { get; set; }
/// <summary>
/// 获取或设置有效期结束时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("available_end_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("available_end_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? AvailableEndTime { get; set; }
/// <summary>
/// 获取或设置领取后 N 天内有效。
/// </summary>
[Newtonsoft.Json.JsonProperty("available_day_after_receive")]
[System.Text.Json.Serialization.JsonPropertyName("available_day_after_receive")]
public int? AvailableDaysAfterReceive { get; set; }
}
public class JumpInfo
{
/// <summary>
/// 获取或设置小程序 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("jump_appid")]
[System.Text.Json.Serialization.JsonPropertyName("jump_appid")]
public string? JumpAppId { get; set; }
/// <summary>
/// 获取或设置小程序页面路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("jump_path")]
[System.Text.Json.Serialization.JsonPropertyName("jump_path")]
public string? JumpPagePath { get; set; }
}
public class PurchaseJumpInfo : JumpInfo
{
/// <summary>
/// 获取或设置付费会员价格(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("price")]
[System.Text.Json.Serialization.JsonPropertyName("price")]
public int? Price { get; set; }
}
public class UserInfo
{
public static class Types
{
public class CustomField
{
/// <summary>
/// 获取或设置字段类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string Type { get; set; } = default!;
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值。
/// </summary>
[Newtonsoft.Json.JsonProperty("values")]
[System.Text.Json.Serialization.JsonPropertyName("values")]
public string[]? Values { get; set; }
}
}
/// <summary>
/// 获取或设置通用开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("common_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
public string[]? CommonFieldList { get; set; }
/// <summary>
/// 获取或设置自定义开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("custom_field_list")]
public Types.CustomField[]? CustomFieldList { get; set; }
}
}
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置商家 AppId。
/// </summary>
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
public string AppId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string CardType { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_title")]
[System.Text.Json.Serialization.JsonPropertyName("card_title")]
public string CardTitle { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string CardColor { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string CardPictureUrl { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡 Code 分配类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_mode")]
[System.Text.Json.Serialization.JsonPropertyName("code_mode")]
public string CodeMode { get; set; } = default!;
/// <summary>
/// 获取或设置会员码展示类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_type")]
[System.Text.Json.Serialization.JsonPropertyName("code_type")]
public string CodeType { get; set; } = default!;
/// <summary>
/// 获取或设置会员码跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_jump_information")]
[System.Text.Json.Serialization.JsonPropertyName("code_jump_information")]
public Types.JumpInfo? CodeJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员中心跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_information")]
[System.Text.Json.Serialization.JsonPropertyName("member_information")]
public Types.JumpInfo? MemberJumpInfo { get; set; }
/// <summary>
/// 获取或设置积分跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("points_information")]
[System.Text.Json.Serialization.JsonPropertyName("points_information")]
public Types.JumpInfo? PointsJumpInfo { get; set; }
/// <summary>
/// 获取或设置储值跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("balance_information")]
[System.Text.Json.Serialization.JsonPropertyName("balance_information")]
public Types.JumpInfo? BalanceJumpInfo { get; set; }
/// <summary>
/// 获取或设置付费会员跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("purchase_information")]
[System.Text.Json.Serialization.JsonPropertyName("purchase_information")]
public Types.PurchaseJumpInfo? PurchaseJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员权益。
/// </summary>
[Newtonsoft.Json.JsonProperty("benefits")]
[System.Text.Json.Serialization.JsonPropertyName("benefits")]
public string Benefits { get; set; } = default!;
/// <summary>
/// 获取或设置回调地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string NotifyUrl { get; set; } = default!;
/// <summary>
/// 获取或设置是否置顶。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_pinned")]
[System.Text.Json.Serialization.JsonPropertyName("need_pinned")]
public bool? IsPinned { get; set; }
/// <summary>
/// 获取或设置是否展示会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_display_level")]
[System.Text.Json.Serialization.JsonPropertyName("need_display_level")]
public bool? IsDisplayLevel { get; set; }
/// <summary>
/// 获取或设置会员初始等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("init_level")]
[System.Text.Json.Serialization.JsonPropertyName("init_level")]
public string? InitialLevel { get; set; }
/// <summary>
/// 获取或设置服务电话。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_phone")]
[System.Text.Json.Serialization.JsonPropertyName("service_phone")]
public string? ServicePhoneNumber { get; set; }
/// <summary>
/// 获取或设置商家法务协议。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_agreement")]
[System.Text.Json.Serialization.JsonPropertyName("legal_agreement")]
public string? LegalAgreement { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置更新时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("modify_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset ModifyTime { get; set; }
}
}
/// <summary>
/// 获取或设置会员卡模板列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.Card[] CardList { get; set; } = default!;
/// <summary>
/// 获取或设置分页大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int Limit { get; set; }
/// <summary>
/// 获取或设置分页开始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("offset")]
[System.Text.Json.Serialization.JsonPropertyName("offset")]
public int Offset { get; set; }
/// <summary>
/// 获取或设置券总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_count")]
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
public int TotalCount { get; set; }
}
}

View File

@@ -0,0 +1,167 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [PATCH] /brand/partner/card-member/cards/{card_id} 接口的请求。</para>
/// </summary>
public class UpdateBrandPartnerCardMemberCardRequest : WechatTenpayRequest
{
public static class Types
{
public class ValidDateInfo : CreateBrandPartnerCardMemberCardRequest.Types.ValidDateInfo
{
}
public class JumpInfo : CreateBrandPartnerCardMemberCardRequest.Types.JumpInfo
{
}
public class PurchaseJumpInfo : CreateBrandPartnerCardMemberCardRequest.Types.PurchaseJumpInfo
{
}
public class UserInfo : CreateBrandPartnerCardMemberCardRequest.Types.UserInfo
{
}
}
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string? CardType { get; set; }
/// <summary>
/// 获取或设置会员卡名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_title")]
[System.Text.Json.Serialization.JsonPropertyName("card_title")]
public string? CardTitle { get; set; }
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string? CardColor { get; set; }
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string? CardPictureUrl { get; set; }
/// <summary>
/// 获取或设置会员码跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("code_jump_information")]
[System.Text.Json.Serialization.JsonPropertyName("code_jump_information")]
public Types.JumpInfo? CodeJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员中心跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("member_information")]
[System.Text.Json.Serialization.JsonPropertyName("member_information")]
public Types.JumpInfo? MemberJumpInfo { get; set; }
/// <summary>
/// 获取或设置积分跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("points_information")]
[System.Text.Json.Serialization.JsonPropertyName("points_information")]
public Types.JumpInfo? PointsJumpInfo { get; set; }
/// <summary>
/// 获取或设置储值跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("balance_information")]
[System.Text.Json.Serialization.JsonPropertyName("balance_information")]
public Types.JumpInfo? BalanceJumpInfo { get; set; }
/// <summary>
/// 获取或设置付费会员跳转信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("purchase_information")]
[System.Text.Json.Serialization.JsonPropertyName("purchase_information")]
public Types.PurchaseJumpInfo? PurchaseJumpInfo { get; set; }
/// <summary>
/// 获取或设置会员权益。
/// </summary>
[Newtonsoft.Json.JsonProperty("benefits")]
[System.Text.Json.Serialization.JsonPropertyName("benefits")]
public string Benefits { get; set; } = string.Empty;
/// <summary>
/// 获取或设置回调地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string NotifyUrl { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否置顶。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_pinned")]
[System.Text.Json.Serialization.JsonPropertyName("need_pinned")]
public bool? IsPinned { get; set; }
/// <summary>
/// 获取或设置是否展示会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_display_level")]
[System.Text.Json.Serialization.JsonPropertyName("need_display_level")]
public bool? IsDisplayLevel { get; set; }
/// <summary>
/// 获取或设置会员初始等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("init_level")]
[System.Text.Json.Serialization.JsonPropertyName("init_level")]
public string? InitialLevel { get; set; }
/// <summary>
/// 获取或设置服务电话。
/// </summary>
[Newtonsoft.Json.JsonProperty("service_phone")]
[System.Text.Json.Serialization.JsonPropertyName("service_phone")]
public string? ServicePhoneNumber { get; set; }
/// <summary>
/// 获取或设置商家法务协议。
/// </summary>
[Newtonsoft.Json.JsonProperty("legal_agreement")]
[System.Text.Json.Serialization.JsonPropertyName("legal_agreement")]
public string? LegalAgreement { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [PATCH] /brand/partner/card-member/cards/{card_id} 接口的响应。</para>
/// </summary>
public class UpdateBrandPartnerCardMemberCardResponse : GetBrandPartnerCardMemberCardByCardIdResponse
{
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/pre-auth-tokens 接口的请求。</para>
/// </summary>
public class CreateBrandPartnerCardMemberPreauthTokenRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,26 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/pre-auth-tokens 接口的响应。</para>
/// </summary>
public class CreateBrandPartnerCardMemberPreauthTokenResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置预授权 Token。
/// </summary>
[Newtonsoft.Json.JsonProperty("token")]
[System.Text.Json.Serialization.JsonPropertyName("token")]
public string Token { get; set; } = default!;
/// <summary>
/// 获取或设置预授权 Token 过期时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("expire_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("expire_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset ExpireTime { get; set; }
}
}

View File

@@ -0,0 +1,106 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-cards/{user_card_code}/confirm 接口的请求。</para>
/// </summary>
[WechatTenpaySensitive]
public class ConfirmBrandPartnerCardMemberUserCardRequest : WechatTenpayRequest
{
public static class Types
{
public class ValidDateInfo : UpdateBrandPartnerCardMemberUserCardRequest.Types.ValidDateInfo
{
}
public class UserInfo : UpdateBrandPartnerCardMemberUserCardRequest.Types.UserInfo
{
}
}
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string? CardColor { get; set; }
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string? CardPictureUrl { get; set; }
/// <summary>
/// 获取或设置用户的手机号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone_number")]
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("level")]
[System.Text.Json.Serialization.JsonPropertyName("level")]
public string? Level { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置同步状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_confirm_state")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_confirm_state")]
public string ConfirmState { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,10 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-cards/{user_card_code}/confirm 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class ConfirmBrandPartnerCardMemberUserCardResponse : GetBrandPartnerCardMemberUserCardByUserCardCodeResponse
{
}
}

View File

@@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/user-cards/{user_card_code} 接口的请求。</para>
/// </summary>
public class GetBrandPartnerCardMemberUserCardByUserCardCodeRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OpenId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,158 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/user-cards/{user_card_code} 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class GetBrandPartnerCardMemberUserCardByUserCardCodeResponse : WechatTenpayResponse
{
public static class Types
{
public class ValidDateInfo : QueryBrandPartnerCardMemberUserCardsResponse.Types.UserCard.Types.ValidDateInfo
{
}
public class UserInfo : QueryBrandPartnerCardMemberUserCardsResponse.Types.UserCard.Types.UserInfo
{
}
}
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string CardType { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string CardColor { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string CardPictureUrl { get; set; } = default!;
/// <summary>
/// 获取或设置用户的手机号码(需使用商户私钥解密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone_number")]
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("level")]
[System.Text.Json.Serialization.JsonPropertyName("level")]
public string? Level { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置领取时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("pickup_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("pickup_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset PickupTime { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_state")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置作废原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_reason")]
[System.Text.Json.Serialization.JsonPropertyName("invalid_reason")]
public string? InvalidReason { get; set; }
/// <summary>
/// 获取或设置作废时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("invalid_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? InvalidTime { get; set; }
/// <summary>
/// 获取或设置创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置更新时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("modify_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset ModifyTime { get; set; }
}
}

View File

@@ -0,0 +1,103 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-cards/import-by-openid 接口的请求。</para>
/// </summary>
[WechatTenpaySensitive]
public class ImportBrandPartnerCardMemberUserCardByOpenIdRequest : WechatTenpayRequest
{
public static class Types
{
public class ValidDateInfo : UpdateBrandPartnerCardMemberUserCardRequest.Types.ValidDateInfo
{
}
public class UserInfo : UpdateBrandPartnerCardMemberUserCardRequest.Types.UserInfo
{
}
}
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string? CardColor { get; set; }
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string? CardPictureUrl { get; set; }
/// <summary>
/// 获取或设置用户的手机号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone_number")]
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("level")]
[System.Text.Json.Serialization.JsonPropertyName("level")]
public string? Level { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置领取时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("pickup_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("pickup_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? PickupTime { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-cards/import-by-openid 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class ImportBrandPartnerCardMemberUserCardByOpenIdResponse : GetBrandPartnerCardMemberUserCardByUserCardCodeResponse
{
}
}

View File

@@ -0,0 +1,43 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-cards/{user_card_code}/invalidate 接口的请求。</para>
/// </summary>
public class InvalidateBrandPartnerCardMemberUserCardRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置作废原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_reason")]
[System.Text.Json.Serialization.JsonPropertyName("invalid_reason")]
public string? InvalidReason { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-cards/{user_card_code}/invalidate 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class InvalidateBrandPartnerCardMemberUserCardResponse : GetBrandPartnerCardMemberUserCardByUserCardCodeResponse
{
}
}

View File

@@ -0,0 +1,45 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/user-cards 接口的请求。</para>
/// </summary>
public class QueryBrandPartnerCardMemberUserCardsRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? State { get; set; }
/// <summary>
/// 获取或设置分页大小。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int Limit { get; set; }
/// <summary>
/// 获取或设置分页开始位置。
/// <para>默认值0</para>
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int Offset { get; set; }
}
}

View File

@@ -0,0 +1,246 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /brand/partner/card-member/user-cards 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class QueryBrandPartnerCardMemberUserCardsResponse : WechatTenpayResponse
{
public static class Types
{
public class UserCard
{
public static class Types
{
public class ValidDateInfo : QueryBrandPartnerCardMemberCardsResponse.Types.Card.Types.ValidDateInfo
{
}
public class UserInfo
{
public static class Types
{
public class CommonField
{
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值(需使用商户私钥解密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("value")]
[System.Text.Json.Serialization.JsonPropertyName("value")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? Value { get; set; }
}
public class CustomField
{
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值(需使用商户私钥解密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_chosen_values")]
[System.Text.Json.Serialization.JsonPropertyName("user_chosen_values")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string[]? Values { get; set; }
}
}
/// <summary>
/// 获取或设置通用开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("common_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
public Types.CommonField[]? CommonFieldList { get; set; }
/// <summary>
/// 获取或设置自定义开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("custom_field_list")]
public Types.CustomField[]? CustomFieldList { get; set; }
}
}
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_type")]
[System.Text.Json.Serialization.JsonPropertyName("card_type")]
public string CardType { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string CardColor { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string CardPictureUrl { get; set; } = default!;
/// <summary>
/// 获取或设置用户的手机号码(需使用商户私钥解密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone_number")]
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("level")]
[System.Text.Json.Serialization.JsonPropertyName("level")]
public string? Level { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置领取时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("pickup_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("pickup_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset PickupTime { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
/// <summary>
/// 获取或设置会员卡状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_state")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置作废原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_reason")]
[System.Text.Json.Serialization.JsonPropertyName("invalid_reason")]
public string? InvalidReason { get; set; }
/// <summary>
/// 获取或设置作废时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("invalid_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("invalid_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? InvalidTime { get; set; }
/// <summary>
/// 获取或设置创建时间。
/// </summary>
[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; }
/// <summary>
/// 获取或设置更新时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("modify_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset ModifyTime { get; set; }
}
}
/// <summary>
/// 获取或设置会员卡列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public Types.UserCard[] UserCardList { get; set; } = default!;
/// <summary>
/// 获取或设置分页大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int Limit { get; set; }
/// <summary>
/// 获取或设置分页开始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("offset")]
[System.Text.Json.Serialization.JsonPropertyName("offset")]
public int Offset { get; set; }
/// <summary>
/// 获取或设置券总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_count")]
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
public int TotalCount { get; set; }
}
}

View File

@@ -0,0 +1,155 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [PATCH] /brand/partner/card-member/user-cards/{user_card_code} 接口的请求。</para>
/// </summary>
[WechatTenpaySensitive]
public class UpdateBrandPartnerCardMemberUserCardRequest : WechatTenpayRequest
{
public static class Types
{
public class ValidDateInfo : UpdateBrandPartnerCardMemberCardRequest.Types.ValidDateInfo
{
}
public class UserInfo
{
public static class Types
{
public class CommonField
{
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("value")]
[System.Text.Json.Serialization.JsonPropertyName("value")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? Value { get; set; }
}
public class CustomField
{
/// <summary>
/// 获取或设置字段名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置字段值(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_chosen_values")]
[System.Text.Json.Serialization.JsonPropertyName("user_chosen_values")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public IList<string>? Values { get; set; }
}
}
/// <summary>
/// 获取或设置通用开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("common_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
public IList<Types.CommonField>? CommonFieldList { get; set; }
/// <summary>
/// 获取或设置自定义开卡信息字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("custom_field_list")]
[System.Text.Json.Serialization.JsonPropertyName("custom_field_list")]
public IList<Types.CustomField>? CustomFieldList { get; set; }
}
}
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡背景颜色。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_color")]
[System.Text.Json.Serialization.JsonPropertyName("card_color")]
public string? CardColor { get; set; }
/// <summary>
/// 获取或设置会员卡图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_picture_url")]
[System.Text.Json.Serialization.JsonPropertyName("card_picture_url")]
public string? CardPictureUrl { get; set; }
/// <summary>
/// 获取或设置用户的手机号码(需使用平台公钥/证书加密)。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone_number")]
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
[WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置会员等级。
/// </summary>
[Newtonsoft.Json.JsonProperty("level")]
[System.Text.Json.Serialization.JsonPropertyName("level")]
public string? Level { get; set; }
/// <summary>
/// 获取或设置会员卡有效期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("valid_date_information")]
[System.Text.Json.Serialization.JsonPropertyName("valid_date_information")]
public Types.ValidDateInfo? ValidDateInfo { get; set; }
/// <summary>
/// 获取或设置用户开卡信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_information")]
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
public Types.UserInfo? UserInfo { get; set; }
/// <summary>
/// 获取或设置附加数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
public string? Attachment { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [PATCH] /brand/partner/card-member/user-cards/{user_card_code} 接口的响应。</para>
/// </summary>
[WechatTenpaySensitive]
public class UpdateBrandPartnerCardMemberUserCardResponse : GetBrandPartnerCardMemberUserCardByUserCardCodeResponse
{
}
}

View File

@@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-feeds 接口的请求。</para>
/// </summary>
public class CreateBrandPartnerCardMemberUserFeedRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员动态内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("cell")]
[System.Text.Json.Serialization.JsonPropertyName("cell")]
public string CellData { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,43 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-feeds 接口的响应。</para>
/// </summary>
public class CreateBrandPartnerCardMemberUserFeedResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = default!;
/// <summary>
/// 获取或设置会员动态内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("cell")]
[System.Text.Json.Serialization.JsonPropertyName("cell")]
public string CellData { get; set; } = default!;
}
}

View File

@@ -0,0 +1,71 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-points/exchange-coupon/confirm 接口的请求。</para>
/// </summary>
public class ConfirmBrandPartnerCardMemberUserPointExchangeCouponRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置积分兑券 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("record_id")]
[System.Text.Json.Serialization.JsonPropertyName("record_id")]
public string RecordId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置积分兑券模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("exchange_coupon_template_id")]
[System.Text.Json.Serialization.JsonPropertyName("exchange_coupon_template_id")]
public string ExchangeCouponTemplateId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置积分兑券状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = string.Empty;
/// <summary>
/// 获取或设置券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("coupon_code")]
[System.Text.Json.Serialization.JsonPropertyName("coupon_code")]
public string? CouponCode { get; set; }
/// <summary>
/// 获取或设置失败原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_reason")]
[System.Text.Json.Serialization.JsonPropertyName("fail_reason")]
public string? FailReason { get; set; }
}
}

View File

@@ -0,0 +1,71 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-points/exchange-coupon/confirm 接口的响应。</para>
/// </summary>
public class ConfirmBrandPartnerCardMemberUserPointExchangeCouponResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置积分兑券 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("record_id")]
[System.Text.Json.Serialization.JsonPropertyName("record_id")]
public string RecordId { get; set; } = default!;
/// <summary>
/// 获取或设置积分兑券模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("exchange_coupon_template_id")]
[System.Text.Json.Serialization.JsonPropertyName("exchange_coupon_template_id")]
public string ExchangeCouponTemplateId { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
/// <summary>
/// 获取或设置积分兑券状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("coupon_code")]
[System.Text.Json.Serialization.JsonPropertyName("coupon_code")]
public string? CouponCode { get; set; }
/// <summary>
/// 获取或设置失败原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_reason")]
[System.Text.Json.Serialization.JsonPropertyName("fail_reason")]
public string? FailReason { get; set; }
}
}

View File

@@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-points/sync 接口的请求。</para>
/// </summary>
public class SyncBrandPartnerCardMemberUserPointRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = string.Empty;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置积分余额。
/// </summary>
[Newtonsoft.Json.JsonProperty("point_balance")]
[System.Text.Json.Serialization.JsonPropertyName("point_balance")]
public int PointBalance { get; set; }
}
}

View File

@@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /brand/partner/card-member/user-points/sync 接口的响应。</para>
/// </summary>
public class SyncBrandPartnerCardMemberUserPointResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置会员卡 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_card_code")]
[System.Text.Json.Serialization.JsonPropertyName("user_card_code")]
public string UserCardCode { get; set; } = default!;
/// <summary>
/// 获取或设置会员卡模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("card_id")]
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
public string BrandId { get; set; } = default!;
/// <summary>
/// 获取或设置用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
/// <summary>
/// 获取或设置商家请求单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_request_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
public string OutRequestNumber { get; set; } = default!;
/// <summary>
/// 获取或设置积分余额。
/// </summary>
[Newtonsoft.Json.JsonProperty("point_balance")]
[System.Text.Json.Serialization.JsonPropertyName("point_balance")]
public int PointBalance { get; set; }
}
}

View File

@@ -15,7 +15,7 @@
<PackageProjectUrl>https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat</PackageProjectUrl>
<PackageTags>Flurl.Http Wechat Weixin MicroMessage Tenpay WechatPay WeixinPay Wxpay 微信 微信支付 微信商户</PackageTags>
<Version>3.14.0</Version>
<Description>基于 Flurl.Http 的微信支付 API v3 版客户端,支持普通商户(直连)、合作伙伴(服务商、渠道商、机构、银行)两种接入模式,支持基础支付、代金券、商家券、委托营销、消费卡、支付有礼、银行定向促活、微信支付分、微信先享卡、支付即服务、点金计划、智慧商圈、电商收付通、平台收付通、二级商户进件、小微商户进件、消费者投诉、商户风控管理、商户违规通知、批量转账到零钱、银行组件、海关报关、融合钱包、微工卡、电子发票、电子小票、车主平台、教育续费通、校园轻松付等功能。</Description>
<Description>基于 Flurl.Http 的微信支付 API v3 版客户端,支持普通商户(直连)、合作伙伴(服务商、渠道商、机构、银行)两种接入模式,支持基础支付、代金券、商家券、商品券、委托营销、消费卡、支付有礼、银行定向促活、微信支付分、微信先享卡、支付即服务、点金计划、智慧商圈、电商收付通、平台收付通、二级商户进件、小微商户进件、消费者投诉、商户风控管理、商户违规通知、批量转账到零钱、银行组件、海关报关、融合钱包、微工卡、电子发票、电子小票、车主平台、教育续费通、校园轻松付、商家名片会员等功能。</Description>
<Authors>Fu Diwei</Authors>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git</RepositoryUrl>