mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-15 14:04:32 +08:00
feat(tenpayv3): 新增会员卡基础功能相关接口
This commit is contained in:
parent
8fb60ffe75
commit
f9eba5ff05
@ -11,6 +11,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class WechatTenpayClientExecuteMarketingMemberCardOpenExtensions
|
public static class WechatTenpayClientExecuteMarketingMemberCardOpenExtensions
|
||||||
{
|
{
|
||||||
|
#region Card
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <para>异步调用 [POST] /marketing/membercard-open/cards 接口。</para>
|
/// <para>异步调用 [POST] /marketing/membercard-open/cards 接口。</para>
|
||||||
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_1.shtml </para>
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_1.shtml </para>
|
||||||
@ -49,25 +50,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
|||||||
return await client.SendRequestWithJsonAsync<Models.UpgradeMarketingMemberCardOpenCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
return await client.SendRequestWithJsonAsync<Models.UpgradeMarketingMemberCardOpenCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// <para>异步调用 [POST] /marketing/membercard-open/cards/{card_id}/codes/deposit 接口。</para>
|
|
||||||
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_7.shtml </para>
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="client"></param>
|
|
||||||
/// <param name="request"></param>
|
|
||||||
/// <param name="cancellationToken"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static async Task<Models.DepositMarketingMemberCardOpenCardCodesResponse> ExecuteDepositMarketingMemberCardOpenCardCodesAsync(this WechatTenpayClient client, Models.DepositMarketingMemberCardOpenCardCodesRequest request, CancellationToken cancellationToken = default)
|
|
||||||
{
|
|
||||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
|
||||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
|
||||||
|
|
||||||
IFlurlRequest flurlReq = client
|
|
||||||
.CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "codes", "deposit");
|
|
||||||
|
|
||||||
return await client.SendRequestWithJsonAsync<Models.DepositMarketingMemberCardOpenCardCodesResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <para>异步调用 [GET] /marketing/membercard-open/cards 接口。</para>
|
/// <para>异步调用 [GET] /marketing/membercard-open/cards 接口。</para>
|
||||||
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_3.shtml </para>
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_3.shtml </para>
|
||||||
@ -153,5 +135,151 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
|||||||
|
|
||||||
return await client.SendRequestWithJsonAsync<Models.DeleteMarketingMemberCardOpenCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
return await client.SendRequestWithJsonAsync<Models.DeleteMarketingMemberCardOpenCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Code
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /marketing/membercard-open/cards/{card_id}/codes/deposit 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_7.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.DepositMarketingMemberCardOpenCardCodesResponse> ExecuteDepositMarketingMemberCardOpenCardCodesAsync(this WechatTenpayClient client, Models.DepositMarketingMemberCardOpenCardCodesRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "codes", "deposit");
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.DepositMarketingMemberCardOpenCardCodesResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /marketing/membercard-open/cards/{card_id}/users/import 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_13.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.ImportMarketingMemberCardOpenCardUserResponse> ExecuteImportMarketingMemberCardOpenCardUserAsync(this WechatTenpayClient client, Models.ImportMarketingMemberCardOpenCardUserRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "users", "import");
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.ImportMarketingMemberCardOpenCardUserResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /marketing/membercard-open/cards/{card_id}/phone-membercard/import 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_14.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.ImportMarketingMemberCardOpenCardPhoneResponse> ExecuteImportMarketingMemberCardOpenCardPhoneAsync(this WechatTenpayClient client, Models.ImportMarketingMemberCardOpenCardPhoneRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "phone-membercard", "import");
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.ImportMarketingMemberCardOpenCardPhoneResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/unavailable 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_12.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.SetMarketingMemberCardOpenCardCodeUnavailableResponse> ExecuteSetMarketingMemberCardOpenCardCodeUnavailableAsync(this WechatTenpayClient client, Models.SetMarketingMemberCardOpenCardCodeUnavailableRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, HttpMethod.Post, "marketing", "membercard-open", "cards", request.CardId, "codes", request.Code, "unavailable");
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.SetMarketingMemberCardOpenCardCodeUnavailableResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [GET] /marketing/membercard-open/cards/{card_id}/codes/{code} 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_4.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.GetMarketingMemberCardOpenCardCodeByCardIdAndCodeResponse> ExecuteGetMarketingMemberCardOpenCardCodeByCardIdAndCodeAsync(this WechatTenpayClient client, Models.GetMarketingMemberCardOpenCardCodeByCardIdAndCodeRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, HttpMethod.Get, "marketing", "membercard-open", "cards", request.CardId, "codes", request.Code);
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.GetMarketingMemberCardOpenCardCodeByCardIdAndCodeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [GET] /marketing/membercard-open/user/cards 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_5.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.QueryMarketingMemberCardOpenUserCardsResponse> ExecuteQueryMarketingMemberCardOpenUserCardsAsync(this WechatTenpayClient client, Models.QueryMarketingMemberCardOpenUserCardsRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, HttpMethod.Get, "marketing", "membercard-open", "user", "cards")
|
||||||
|
.SetQueryParam("openid", request.OpenId);
|
||||||
|
|
||||||
|
if (request.AppId != null)
|
||||||
|
flurlReq.SetQueryParam("appid", request.AppId);
|
||||||
|
|
||||||
|
if (request.Limit != null)
|
||||||
|
flurlReq.SetQueryParam("limit", request.Limit.Value.ToString());
|
||||||
|
|
||||||
|
if (request.Offset != null)
|
||||||
|
flurlReq.SetQueryParam("offset", request.Offset.Value.ToString());
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.QueryMarketingMemberCardOpenUserCardsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [PATCH] /marketing/membercard-open/cards/{card_id}/codes/{code} 接口。</para>
|
||||||
|
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter3_8.shtml </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.UpdateMarketingMemberCardOpenCardCodeResponse> ExecuteUpdateMarketingMemberCardOpenCardCodeAsync(this WechatTenpayClient client, Models.UpdateMarketingMemberCardOpenCardCodeRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateRequest(request, new HttpMethod("PATCH"), "marketing", "membercard-open", "cards", request.CardId, "codes", request.Code);
|
||||||
|
|
||||||
|
return await client.SendRequestWithJsonAsync<Models.UpdateMarketingMemberCardOpenCardCodeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,11 +130,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置平台提供的通用开卡信息字段列表。
|
/// 获取或设置平台提供的通用开卡信息字段名称列表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Newtonsoft.Json.JsonProperty("common_field_list")]
|
[Newtonsoft.Json.JsonProperty("common_field_list")]
|
||||||
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
|
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
|
||||||
public IList<string>? CommonFieldList { get; set; }
|
public IList<string>? CommonFieldNameList { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置商户自定义的开卡信息字段列表。
|
/// 获取或设置商户自定义的开卡信息字段列表。
|
||||||
|
@ -136,11 +136,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
|||||||
public bool? CanModifyAfterActivate { get; set; }
|
public bool? CanModifyAfterActivate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置平台提供的通用开卡信息字段列表。
|
/// 获取或设置平台提供的通用开卡信息字段名称列表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Newtonsoft.Json.JsonProperty("common_field_list")]
|
[Newtonsoft.Json.JsonProperty("common_field_list")]
|
||||||
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
|
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
|
||||||
public string[]? CommonFieldList { get; set; }
|
public string[]? CommonFieldNameList { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置商户自定义的开卡信息字段列表。
|
/// 获取或设置商户自定义的开卡信息字段列表。
|
||||||
|
@ -230,7 +230,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
|||||||
public int Offset { get; set; }
|
public int Offset { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置活动总数量。
|
/// 获取或设置会员卡总数量。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||||
|
@ -34,11 +34,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
|||||||
public bool? CanModifyAfterActivate { get; set; }
|
public bool? CanModifyAfterActivate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置平台提供的通用开卡信息字段列表。
|
/// 获取或设置平台提供的通用开卡信息字段名称列表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Newtonsoft.Json.JsonProperty("common_field_list")]
|
[Newtonsoft.Json.JsonProperty("common_field_list")]
|
||||||
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
|
[System.Text.Json.Serialization.JsonPropertyName("common_field_list")]
|
||||||
public IList<string>? CommonFieldList { get; set; }
|
public IList<string>? CommonFieldNameList { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取或设置商户自定义的开卡信息字段列表。
|
/// 获取或设置商户自定义的开卡信息字段列表。
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [GET] /marketing/membercard-open/cards/{card_id}/codes/{code} 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class GetMarketingMemberCardOpenCardCodeByCardIdAndCodeRequest : WechatTenpayRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string CardId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 Code。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string Code { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,337 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [GET] /marketing/membercard-open/cards/{card_id}/codes/{code} 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class GetMarketingMemberCardOpenCardCodeByCardIdAndCodeResponse : WechatTenpayResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class UserInformation
|
||||||
|
{
|
||||||
|
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; } = default!;
|
||||||
|
}
|
||||||
|
|
||||||
|
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("value")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("value")]
|
||||||
|
public string? Value { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置字段值。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("value_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("value_list")]
|
||||||
|
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; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ServiceModule
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class StateSetting
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class ContentTemplate
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Field
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置内容字段 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("field_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("field_id")]
|
||||||
|
public string FieldId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置内容字段值。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("field_value")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("field_value")]
|
||||||
|
public string FieldValue { get; set; } = default!;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ActionSetting
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class MiniProgram
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置小程序 AppId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("appid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||||
|
public string AppId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置小程序页面路径。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("path")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("path")]
|
||||||
|
public string Path { get; set; } = default!;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作名称。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("action_name")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("action_name")]
|
||||||
|
public string ActionName { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置跳转小程序信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("jump_miniprogram")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("jump_miniprogram")]
|
||||||
|
public Types.MiniProgram MiniProgram { get; set; } = default!;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置内容字段列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("field_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("field_list")]
|
||||||
|
public Types.Field[] FieldList { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作设置信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("action_setting")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("action_setting")]
|
||||||
|
public Types.ActionSetting? ActionSetting { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TemplateMessageSetting
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Field
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置消息字段 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("field_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("field_id")]
|
||||||
|
public string FieldId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置消息字段值。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("field_value")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("field_value")]
|
||||||
|
public string FieldValue { get; set; } = default!;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置模板消息 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("message_template_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("message_template_id")]
|
||||||
|
public string TemplateMessageId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置消息字段列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("field_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("field_list")]
|
||||||
|
public Types.Field[]? FieldList { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置状态 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("state_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("state_id")]
|
||||||
|
public string StateId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置内容模板信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("content_template_data")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("content_template_data")]
|
||||||
|
public Types.ContentTemplate? ContentTemplate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置模板消息设置信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("message_template_setting")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("message_template_setting")]
|
||||||
|
public Types.TemplateMessageSetting? TemplateMessageSetting { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员服务项 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("service_module_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("service_module_id")]
|
||||||
|
public string ServiceModuleId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置服务状态设置。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("state_setting")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("state_setting")]
|
||||||
|
public Types.StateSetting? StateSetting { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Guide : GetMarketingMemberCardOpenCardByCardIdResponse.Types.Guide
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("card_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
|
||||||
|
public string CardId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户 OpenId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("openid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||||
|
public string? OpenId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡编号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("membership_number")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("membership_number")]
|
||||||
|
public string? MembershipNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户等级。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("level")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("level")]
|
||||||
|
public string? Level { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户昵称。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("nickname")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("nickname")]
|
||||||
|
public string? Nickname { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户头像 URL。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("head_image_url")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("head_image_url")]
|
||||||
|
public string? HeadImageUrl { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置背景图片媒体文件地址。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("background_picture_url")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("background_picture_url")]
|
||||||
|
public string? BackgroundPictureMediaUrl { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡状态。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("user_card_status")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("user_card_status")]
|
||||||
|
public string? Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户储值余额(单位:分)。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("balance")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("balance")]
|
||||||
|
public int? BalanceValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户当前积分。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("bonus_value")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("bonus_value")]
|
||||||
|
public int? BonusValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户开卡时填写的个人信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("user_information")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("user_information")]
|
||||||
|
public Types.UserInformation? UserInformation { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员服务项列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("service_modules")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("service_modules")]
|
||||||
|
public Types.ServiceModule[]? ServiceModuleList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置发票跳转文案。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("fapiao_jump_word")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("fapiao_jump_word")]
|
||||||
|
public string? InvoiceJumpWords { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置客服信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("guide")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("guide")]
|
||||||
|
public Types.Guide? Guide { get; set; }
|
||||||
|
|
||||||
|
public override bool IsSuccessful()
|
||||||
|
{
|
||||||
|
return this.RawStatus == 200;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /marketing/membercard-open/cards/{card_id}/phone-membercard/import 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class ImportMarketingMemberCardOpenCardPhoneRequest : WechatTenpayRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string CardId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户手机号码(需使用平台公钥/证书加密)。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("encrypted_phone_number")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("encrypted_phone_number")]
|
||||||
|
[WechatTenpaySensitiveProperty(algorithm: Constants.EncryptionAlgorithms.RSA_2048_PKCS8_ECB)]
|
||||||
|
public string EncryptedPhoneNumber { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 Code。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("code")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||||
|
public string? Code { 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;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /marketing/membercard-open/cards/{card_id}/phone-membercard/import 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class ImportMarketingMemberCardOpenCardPhoneResponse : WechatTenpayResponse
|
||||||
|
{
|
||||||
|
public override bool IsSuccessful()
|
||||||
|
{
|
||||||
|
return RawStatus == 200;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /marketing/membercard-open/cards/{card_id}/users/import 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class ImportMarketingMemberCardOpenCardUserRequest : WechatTenpayRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string CardId { 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>
|
||||||
|
/// 获取或设置会员卡 Code。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("code")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||||
|
public string? Code { 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;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /marketing/membercard-open/cards/{card_id}/users/import 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class ImportMarketingMemberCardOpenCardUserResponse : WechatTenpayResponse
|
||||||
|
{
|
||||||
|
public override bool IsSuccessful()
|
||||||
|
{
|
||||||
|
return RawStatus == 200;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [GET] /marketing/membercard-open/user/cards 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class QueryMarketingMemberCardOpenUserCardsRequest : WechatTenpayRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置公众号 AppId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string? AppId { get; set; }
|
||||||
|
|
||||||
|
/// <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 int? Limit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置分页开始位置。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public int? Offset { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [GET] /marketing/membercard-open/user/cards 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class QueryMarketingMemberCardOpenUserCardsResponse : WechatTenpayResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class UserCard
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("card_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("card_id")]
|
||||||
|
public string CardId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 Code。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("code")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||||
|
public string? Code { 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; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/unavailable 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class SetMarketingMemberCardOpenCardCodeUnavailableRequest : WechatTenpayRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string CardId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 Code。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string Code { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置失效原因。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("reason")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("reason")]
|
||||||
|
public string? Reason { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /marketing/membercard-open/cards/{card_id}/codes/{code}/unavailable 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class SetMarketingMemberCardOpenCardCodeUnavailableResponse : WechatTenpayResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [PATCH] /marketing/membercard-open/cards/{card_id}/codes/{code} 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class UpdateMarketingMemberCardOpenCardCodeRequest : WechatTenpayRequest
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Balance
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置更新前用户储值余额(单位:分)。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("before_balance")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("before_balance")]
|
||||||
|
public int BalanceValueBefore { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置更新后用户储值余额(单位:分)。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("balance")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("balance")]
|
||||||
|
public int BalanceValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置本次余额变动值。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("add_balance")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("add_balance")]
|
||||||
|
public int BalanceDiff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置备注信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("balance_remark")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("balance_remark")]
|
||||||
|
public string? Remark { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string CardId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡 Code。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonIgnore]
|
||||||
|
[System.Text.Json.Serialization.JsonIgnore]
|
||||||
|
public string Code { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置会员卡编号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("membership_number")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("membership_number")]
|
||||||
|
public string? MembershipNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户等级。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("level")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("level")]
|
||||||
|
public string? Level { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置背景图片媒体文件地址。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("background_picture_url")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("background_picture_url")]
|
||||||
|
public string? BackgroundPictureMediaUrl { 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>
|
||||||
|
/// 获取或设置用户储值变更信息。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("balance_information")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("balance_information")]
|
||||||
|
public Types.Balance? Balance { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否发送储值变更通知。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("need_inform_balance")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("need_inform_balance")]
|
||||||
|
public bool? RequreInformBalance { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否发送等级变更通知。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("need_inform_level")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("need_inform_level")]
|
||||||
|
public bool? RequreInformLevel { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [PATCH] /marketing/membercard-open/cards/{card_id}/codes/{code} 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class UpdateMarketingMemberCardOpenCardCodeResponse : WechatTenpayResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0",
|
||||||
|
"code": "478515832665",
|
||||||
|
"openid": "obLatjnx9gnqzS4myYGmLZ7LgLBA",
|
||||||
|
"membership_number": "316510891298",
|
||||||
|
"level": "钻石会员",
|
||||||
|
"nickname": "周星星",
|
||||||
|
"head_image_url": "http://wx.qlogo.cn/xxx",
|
||||||
|
"background_picture_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0",
|
||||||
|
"balance": 888,
|
||||||
|
"user_card_status": "EFFECTIVE",
|
||||||
|
"user_information": {
|
||||||
|
"common_field_list": [
|
||||||
|
{
|
||||||
|
"name": "USER_FORM_FLAG_MOBILE",
|
||||||
|
"value": "深圳"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"custom_field_list": [
|
||||||
|
{
|
||||||
|
"name": "喜欢的运动",
|
||||||
|
"value": "篮球",
|
||||||
|
"value_list": ["羽毛球,足球,乒乓球"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bonus_value": 600,
|
||||||
|
"service_modules": [
|
||||||
|
{
|
||||||
|
"service_module_id": "666",
|
||||||
|
"state_setting": {
|
||||||
|
"state_id": "CHECKED_IN",
|
||||||
|
"content_template_data": {
|
||||||
|
"field_list": [
|
||||||
|
{
|
||||||
|
"field_id": "hotel_name",
|
||||||
|
"field_value": "深圳市南山区滨海路700号"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"action_setting": {
|
||||||
|
"action_name": "一键开锁",
|
||||||
|
"jump_miniprogram": {
|
||||||
|
"appid": "wx37178d097a6851d8",
|
||||||
|
"path": "pages/index/index"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"message_template_setting": {
|
||||||
|
"message_template_id": "9bJgRNz9XG248XZ-a0nDKH3Vt_vaTp32fRP1LWvxjzI",
|
||||||
|
"field_list": [
|
||||||
|
{
|
||||||
|
"field_id": "keyword1",
|
||||||
|
"field_value": "深圳市南山区滨海路700号"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"encrypted_phone_number": "vvysDQeEaH3I+BdPQaKSE2j4mAFON3kzNexb/SYkHZNJAuCittaW4wpGj7U+h9A==",
|
||||||
|
"code": "478515832665",
|
||||||
|
"out_request_no": "100002322019090134234sfdf"
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"code": "478515832665"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"openid": "obLatjnx9gnqzS4myYGmLZ7LgLBA",
|
||||||
|
"code": "478515832665",
|
||||||
|
"out_request_no": "100002322019090134234sfdf"
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"code": "478515832665"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0",
|
||||||
|
"code": "478515832665"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"total_count": 20,
|
||||||
|
"offset": 1,
|
||||||
|
"limit": 20
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"reason": "用户违反会员条例"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"membership_number": "316510891298",
|
||||||
|
"background_picture_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0",
|
||||||
|
"level": "钻石会员",
|
||||||
|
"out_request_no": "100002322019090134234sfdf",
|
||||||
|
"balance_information": {
|
||||||
|
"before_balance": 888,
|
||||||
|
"balance": 888,
|
||||||
|
"add_balance": 100,
|
||||||
|
"balance_remark": "购买一杯珍珠奶茶,消耗30元"
|
||||||
|
},
|
||||||
|
"need_inform_balance": true,
|
||||||
|
"need_inform_level": true
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user