mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-29 18:04:42 +08:00
feat(tenpayv3): 新增微信支付分签约计划相关接口
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 PAYSCORE.USER_SIGN_PLAN(针对直连商户)通知的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/cancel-sign-plan-notice.html ]]> <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/sign-plan-notice.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class PayScoreUserSignPlanResource : WechatTenpayEvent.Types.IDecryptedResource
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlanDetail : Models.GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse.Types.SignPlanDetail
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_sign_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_sign_plan_no")]
|
||||
public string OutSignPlanNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan_id")]
|
||||
public string SignPlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_state")]
|
||||
public string SignState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_callback_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_callback_url")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置目前用户进行到的计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("going_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("going_detail_no")]
|
||||
public int GoingDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划过期时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_over_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_over_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset PlanOverTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置扣费次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("deduction_quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("deduction_quantity")]
|
||||
public int DeductionQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_origin_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_origin_price")]
|
||||
public int TotalOriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_actual_price")]
|
||||
public int TotalActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_type")]
|
||||
public string? CancelType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_reason")]
|
||||
public string? CancelReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? CancelTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("signed_detail_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("signed_detail_list")]
|
||||
public Types.SignPlanDetail[]? SignPlanDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 PAYSCORE.USER_SIGN_PLAN(针对服务商)通知的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/cancel-sign-plan-notice.html ]]> <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/sign-plan-notice.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class PayScorePartnerUserSignPlanResource : WechatTenpayEvent.Types.IDecryptedResource
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlanDetail : Models.GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberResponse.Types.SignPlanDetail
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_sign_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_sign_plan_no")]
|
||||
public string OutSignPlanNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan_id")]
|
||||
public string SignPlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_state")]
|
||||
public string SignState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户下的唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_callback_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_callback_url")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置目前用户进行到的计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("going_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("going_detail_no")]
|
||||
public int GoingDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划过期时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_over_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_over_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset PlanOverTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置扣费次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("deduction_quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("deduction_quantity")]
|
||||
public int DeductionQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_origin_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_origin_price")]
|
||||
public int TotalOriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_actual_price")]
|
||||
public int TotalActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_type")]
|
||||
public string? CancelType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_reason")]
|
||||
public string? CancelReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? CancelTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("signed_detail_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("signed_detail_list")]
|
||||
public Types.SignPlanDetail[]? SignPlanDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -124,6 +124,74 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Plan
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/plan/payscore-plans 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/pay-score-plan/create-pay-score-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreatePayScorePlanResponse> ExecuteCreatePayScorePlanAsync(this WechatTenpayClient client, Models.CreatePayScorePlanRequest 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, "payscore", "plan", "payscore-plans");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePayScorePlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /payscore/plan/payscore-plans/merchant-plan-no/{merchant_plan_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/pay-score-plan/query-pay-score-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetPayScorePlanByOutPlanNumberResponse> ExecuteGetPayScorePlanByOutPlanNumberAsync(this WechatTenpayClient client, Models.GetPayScorePlanByOutPlanNumberRequest 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, "payscore", "plan", "payscore-plans", "merchant-plan-no", request.OutPlanNumber);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetPayScorePlanByOutPlanNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/plan/payscore-plans/merchant-plan-no/{merchant_plan_no}/stop 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/pay-score-plan/stop-pay-score-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.StopPayScorePlanResponse> ExecuteStopPayScorePlanAsync(this WechatTenpayClient client, Models.StopPayScorePlanRequest 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, "payscore", "plan", "payscore-plans", "merchant-plan-no", request.OutPlanNumber, "stop");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.StopPayScorePlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ServiceOrder
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/serviceorder/direct-complete 接口。</para>
|
||||
@@ -329,5 +397,95 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SetPayScoreServiceOrderSyncResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SignPlan
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/sign-plan/serviceorder 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/service-order/create-service-order.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreatePayScoreSignPlanServiceOrderResponse> ExecuteCreatePayScoreSignPlanServiceOrderAsync(this WechatTenpayClient client, Models.CreatePayScoreSignPlanServiceOrderRequest 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, "payscore", "sign-plan", "serviceorder");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePayScoreSignPlanServiceOrderResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/sign-plan/user-sign-plans 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/user-sign-plan/create-user-sign-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreatePayScoreSignPlanUserSignPlanResponse> ExecuteCreatePayScoreSignPlanUserSignPlanAsync(this WechatTenpayClient client, Models.CreatePayScoreSignPlanUserSignPlanRequest 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, "payscore", "sign-plan", "user-sign-plans");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePayScoreSignPlanUserSignPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /payscore/sign-plan/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/user-sign-plan/query-user-sign-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse> ExecuteGetPayScoreSignPlanUserSignPlanByOutSignPlanNumberAsync(this WechatTenpayClient client, Models.GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberRequest 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, "payscore", "sign-plan", "user-sign-plans", "merchant-sign-plan-no", request.OutSignPlanNumber);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/sign-plan/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no}/stop 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/payscore-plan/user-sign-plan/query-user-sign-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.StopPayScoreSignPlanUserSignPlanResponse> ExecuteStopPayScoreSignPlanUserSignPlanAsync(this WechatTenpayClient client, Models.StopPayScoreSignPlanUserSignPlanRequest 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, "payscore", "sign-plan", "user-sign-plans", "merchant-sign-plan-no", request.OutSignPlanNumber, "stop");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.StopPayScoreSignPlanUserSignPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,6 +133,75 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Plan
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/plan/partner/payscore-plans 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-pay-score-plan/create-partner-pay-score-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreatePayScorePartnerPlanResponse> ExecuteCreatePayScorePartnerPlanAsync(this WechatTenpayClient client, Models.CreatePayScorePartnerPlanRequest 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, "payscore", "plan", "partner", "payscore-plans");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePayScorePartnerPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /payscore/plan/partner/payscore-plans/merchant-plan-no/{merchant_plan_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-pay-score-plan/query-partner-pay-score-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetPayScorePartnerPlanByOutPlanNumberResponse> ExecuteGetPayScorePartnerPlanByOutPlanNumberAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPlanByOutPlanNumberRequest 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, "payscore", "plan", "partner", "payscore-plans", "merchant-plan-no", request.OutPlanNumber)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetPayScorePartnerPlanByOutPlanNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/plan/partner/payscore-plans/merchant-plan-no/{merchant_plan_no}/stop 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-pay-score-plan/stop-partner-pay-score-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.StopPayScorePartnerPlanResponse> ExecuteStopPayScorePartnerPlanAsync(this WechatTenpayClient client, Models.StopPayScorePartnerPlanRequest 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, "payscore", "plan", "partner", "payscore-plans", "merchant-plan-no", request.OutPlanNumber, "stop");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.StopPayScorePartnerPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ServiceOrder
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/partner/serviceorder 接口。</para>
|
||||
@@ -344,5 +413,96 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetPayScorePartnerServiceQuotasByServiceIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SignPlan
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/sign-plan/partner/serviceorder 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-service-order/create-partner-service-order.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreatePayScorePartnerSignPlanServiceOrderResponse> ExecuteCreatePayScorePartnerSignPlanServiceOrderAsync(this WechatTenpayClient client, Models.CreatePayScorePartnerSignPlanServiceOrderRequest 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, "payscore", "sign-plan", "partner", "serviceorder");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePayScorePartnerSignPlanServiceOrderResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/sign-plan/partner/user-sign-plans 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-user-sign-plan/create-partner-user-sign-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreatePayScorePartnerSignPlanUserSignPlanResponse> ExecuteCreatePayScorePartnerSignPlanUserSignPlanAsync(this WechatTenpayClient client, Models.CreatePayScorePartnerSignPlanUserSignPlanRequest 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, "payscore", "sign-plan", "partner", "user-sign-plans");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePayScorePartnerSignPlanUserSignPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /payscore/sign-plan/partner/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-user-sign-plan/query-partner-user-sign-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberResponse> ExecuteGetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberAsync(this WechatTenpayClient client, Models.GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberRequest 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, "payscore", "sign-plan", "partner", "user-sign-plans", "merchant-sign-plan-no", request.OutSignPlanNumber)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/sign-plan/partner/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no}/stop 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-payscore-plan/partner-user-sign-plan/stop-partner-user-sign-plan.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.StopPayScorePartnerSignPlanUserSignPlanResponse> ExecuteStopPayScorePartnerSignPlanUserSignPlanAsync(this WechatTenpayClient client, Models.StopPayScorePartnerSignPlanUserSignPlanRequest 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, "payscore", "sign-plan", "partner", "user-sign-plans", "merchant-sign-plan-no", request.OutSignPlanNumber, "stop");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.StopPayScorePartnerSignPlanUserSignPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/payscore-plans 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePlanRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class PlanDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置明细名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_name")]
|
||||
public string DetailName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_discount_description")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_discount_description")]
|
||||
public string? DiscountDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("original_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("original_price")]
|
||||
public int OriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("actual_price")]
|
||||
public int ActualPrice { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <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("merchant_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_plan_no")]
|
||||
public string OutPlanNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划有效期(单位:天)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_duration")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_duration")]
|
||||
public int PlanDuration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置扣费次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("deduction_quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("deduction_quantity")]
|
||||
public int DeductionQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_original_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_original_price")]
|
||||
public int TotalOriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_actual_price")]
|
||||
public int TotalActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_list")]
|
||||
public IList<Types.PlanDetail>? PlanDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/payscore-plans 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePlanResponse : GetPayScorePlanByOutPlanNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/plan/payscore-plans/merchant-plan-no/{merchant_plan_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetPayScorePlanByOutPlanNumberRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户计划号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutPlanNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/plan/payscore-plans/merchant-plan-no/{merchant_plan_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetPayScorePlanByOutPlanNumberResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class PlanDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_no")]
|
||||
public int DetailNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置明细名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_name")]
|
||||
public string DetailName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_discount_description")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_discount_description")]
|
||||
public string? DiscountDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("original_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("original_price")]
|
||||
public int OriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("actual_price")]
|
||||
public int ActualPrice { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { 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("merchant_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_plan_no")]
|
||||
public string OutPlanNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划有效期(单位:天)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_duration")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_duration")]
|
||||
public int PlanDuration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_state")]
|
||||
public string PlanState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置扣费次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("deduction_quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("deduction_quantity")]
|
||||
public int DeductionQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_original_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_original_price")]
|
||||
public int TotalOriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_actual_price")]
|
||||
public int TotalActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_list")]
|
||||
public Types.PlanDetail[]? PlanDetailList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置终止方商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("stop_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("stop_mchid")]
|
||||
public string? StopMerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置终止时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("stop_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("stop_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? StopTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/payscore-plans/merchant-plan-no/{merchant_plan_no}/stop 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class StopPayScorePlanRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户计划号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutPlanNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/payscore-plans/merchant-plan-no/{merchant_plan_no}/stop 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class StopPayScorePlanResponse : GetPayScorePlanByOutPlanNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -109,14 +109,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("start_location")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("start_location")]
|
||||
public string StartLocation { get; set; } = string.Empty;
|
||||
public string? StartLocation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务结束地点。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("end_location")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("end_location")]
|
||||
public string EndLocation { get; set; } = string.Empty;
|
||||
public string? EndLocation { get; set; }
|
||||
}
|
||||
|
||||
public class RiskFund
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/serviceorder 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScoreSignPlanServiceOrderRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class TimeRange : CreatePayScoreServiceOrderRequest.Types.TimeRange
|
||||
{
|
||||
}
|
||||
|
||||
public class Location : CreatePayScoreServiceOrderRequest.Types.Location
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置待签约支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan_id")]
|
||||
public string SignPlanId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_no")]
|
||||
public int PlanDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_introduction")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_introduction")]
|
||||
public string ServiceInstruction { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string OutTradeNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置附加数据。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("attach")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("attach")]
|
||||
public string? Attachment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("notify_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务时间段信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_range")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_range")]
|
||||
public Types.TimeRange TimeRange { get; set; } = new Types.TimeRange();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务位置信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("location")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("location")]
|
||||
public Types.Location? Location { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/serviceorder 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScoreSignPlanServiceOrderResponse : GetPayScoreServiceOrderByOutOrderNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/user-sign-plans 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScoreSignPlanUserSignPlanRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlanDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_no")]
|
||||
public int PlanDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户计划明细使用订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_plan_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_plan_detail_no")]
|
||||
public string OutPlanDetailNumber { 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>
|
||||
/// 获取或设置支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_sign_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_sign_plan_no")]
|
||||
public string OutSignPlanNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("notify_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan_detail")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan_detail")]
|
||||
public IList<Types.SignPlanDetail>? SignPlanDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,183 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/user-sign-plans 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScoreSignPlanUserSignPlanResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlan
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlanDetail : GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse.Types.SignPlanDetail
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_sign_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_sign_plan_no")]
|
||||
public string OutSignPlanNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan_id")]
|
||||
public string SignPlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_state")]
|
||||
public string SignState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_callback_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_callback_url")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置目前用户进行到的计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("going_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("going_detail_no")]
|
||||
public int GoingDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划过期时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_over_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_over_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset PlanOverTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置扣费次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("deduction_quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("deduction_quantity")]
|
||||
public int DeductionQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_origin_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_origin_price")]
|
||||
public int TotalOriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_actual_price")]
|
||||
public int TotalActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_type")]
|
||||
public string? CancelType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_reason")]
|
||||
public string? CancelReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? CancelTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("signed_detail_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("signed_detail_list")]
|
||||
public Types.SignPlanDetail[]? SignPlanDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置跳转微信侧小程序订单数据。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("package")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("package")]
|
||||
public string Package { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置待签约计划信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan")]
|
||||
public Types.SignPlan SignPlan { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/sign-plan/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutSignPlanNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,252 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/sign-plan/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlanDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_no")]
|
||||
public int PlanDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置明细名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_name")]
|
||||
public string PlanDetailName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置明细状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_detail_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_detail_state")]
|
||||
public string PlanDetailState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_discount_description")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_discount_description")]
|
||||
public string? DiscountDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("original_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("original_price")]
|
||||
public int OriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("actual_price")]
|
||||
public int ActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("actual_pay_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("actual_pay_price")]
|
||||
public int? ActualPayPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户计划明细使用订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_plan_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_plan_detail_no")]
|
||||
public string OutPlanDetailNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付服务订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("order_id")]
|
||||
public string? OrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置使用时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("use_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("use_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? UseTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置完成时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("complete_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("complete_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? CompleteTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? CancelTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付分计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_sign_plan_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_sign_plan_no")]
|
||||
public string OutSignPlanNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan_id")]
|
||||
public string SignPlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_state")]
|
||||
public string SignState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_callback_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_callback_url")]
|
||||
public string? NotifyUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置目前用户进行到的计划明细序号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("going_detail_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("going_detail_no")]
|
||||
public int GoingDetailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置计划过期时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_over_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_over_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset PlanOverTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置扣费次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("deduction_quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("deduction_quantity")]
|
||||
public int DeductionQuantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置原总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_origin_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_origin_price")]
|
||||
public int TotalOriginalPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置实际总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_actual_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_actual_price")]
|
||||
public int TotalActualPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_type")]
|
||||
public string? CancelType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_reason")]
|
||||
public string? CancelReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置取消时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cancel_sign_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cancel_sign_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? CancelTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置签约计划明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("signed_detail_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("signed_detail_list")]
|
||||
public Types.SignPlanDetail[]? SignPlanDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no}/stop 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class StopPayScoreSignPlanUserSignPlanRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户签约计划单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutSignPlanNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置停止原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("stop_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("stop_reason")]
|
||||
public string? StopReason { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no}/stop 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class StopPayScoreSignPlanUserSignPlanResponse : GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -11,12 +11,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
public class Payer : GetEducationPAPayTransactionByOutTradeNumberResponse.Types.Payer
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户下唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
|
||||
public class Amount : GetEducationPAPayTransactionByOutTradeNumberResponse.Types.Amount
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/partner/payscore-plans 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePartnerPlanRequest : CreatePayScorePlanRequest
|
||||
{
|
||||
public static new class Types
|
||||
{
|
||||
public class PlanDetail : CreatePayScorePlanRequest.Types.PlanDetail
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/partner/payscore-plans 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePartnerPlanResponse : GetPayScorePartnerPlanByOutPlanNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/plan/partner/payscore-plans/merchant-plan-no/{merchant_plan_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetPayScorePartnerPlanByOutPlanNumberRequest : GetPayScorePlanByOutPlanNumberRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/plan/partner/payscore-plans/merchant-plan-no/{merchant_plan_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetPayScorePartnerPlanByOutPlanNumberResponse : GetPayScorePlanByOutPlanNumberResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/partner/payscore-plans/merchant-plan-no/{merchant_plan_no}/stop 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class StopPayScorePartnerPlanRequest : StopPayScorePlanRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/plan/partner/payscore-plans/merchant-plan-no/{merchant_plan_no}/stop 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class StopPayScorePartnerPlanResponse : GetPayScorePartnerPlanByOutPlanNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/partner/serviceorder 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePartnerSignPlanServiceOrderRequest : CreatePayScoreSignPlanServiceOrderRequest
|
||||
{
|
||||
public static new class Types
|
||||
{
|
||||
public class TimeRange : CreatePayScorePartnerServiceOrderRequest.Types.TimeRange
|
||||
{
|
||||
}
|
||||
|
||||
public class Location : CreatePayScorePartnerServiceOrderRequest.Types.Location
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户下的唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/partner/serviceorder 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePartnerSignPlanServiceOrderResponse : GetPayScorePartnerServiceOrderByOutOrderNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/partner/user-sign-plans 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePartnerSignPlanUserSignPlanRequest : CreatePayScoreSignPlanUserSignPlanRequest
|
||||
{
|
||||
public static new class Types
|
||||
{
|
||||
public class SignPlanDetail : CreatePayScoreSignPlanUserSignPlanRequest.Types.SignPlanDetail
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string SubAppId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户下的唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/partner/user-sign-plans 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayScorePartnerSignPlanUserSignPlanResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class SignPlan : CreatePayScoreSignPlanUserSignPlanResponse.Types.SignPlan
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户下的唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置跳转微信侧小程序订单数据。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("package")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("package")]
|
||||
public string Package { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置待签约计划信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sign_plan")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sign_plan")]
|
||||
public Types.SignPlan SignPlan { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/sign-plan/partner/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberRequest : GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/sign-plan/partner/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberResponse : GetPayScoreSignPlanUserSignPlanByOutSignPlanNumberResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户下的唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/partner/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no}/stop 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class StopPayScorePartnerSignPlanUserSignPlanRequest : StopPayScoreSignPlanUserSignPlanRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/sign-plan/partner/user-sign-plans/merchant-sign-plan-no/{merchant_sign_plan_no}/stop 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class StopPayScorePartnerSignPlanUserSignPlanResponse : GetPayScorePartnerSignPlanUserSignPlanByOutSignPlanNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user