mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2026-03-10 00:13:36 +08:00
feat(tenpayv2): 导入项目
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/mch/customs/customdeclareorder 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateMerchantCustomsCustomDeclarationRequest : WechatTenpaySignableRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string? OutTradeNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string? TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_no")]
|
||||
public string? SubOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置海关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customs")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customs")]
|
||||
public string Customs { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户海关备案号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mch_customs_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mch_customs_no")]
|
||||
public string MerchantCustomsNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置关税(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("duty")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("duty")]
|
||||
public int? Duty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置报关类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("action_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("action_type")]
|
||||
public string? ActionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置币种。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fee_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fee_type")]
|
||||
public string? FeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置应付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("order_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("order_fee")]
|
||||
public int? OrderFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置物流费(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transport_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transport_fee")]
|
||||
public int? TransportFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品价格(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_fee")]
|
||||
public int? ProductFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置证件类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cert_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cert_type")]
|
||||
public string? CertificateType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置证件号码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cert_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cert_id")]
|
||||
public string? CertificateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置证件姓名。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string? CertificateName { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/mch/customs/customdeclareorder 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateMerchantCustomsCustomDeclarationResponse : WechatTenpaySignableResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置状态码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string State { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string TransactionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_no")]
|
||||
public string? SubOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_id")]
|
||||
public string? SubOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最后更新时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("modify_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextDateTimeOffsetConverter))]
|
||||
public DateTimeOffset ModifyTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订购人和支付人身份信息校验结果。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cert_check_result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cert_check_result")]
|
||||
public string? CertificateCheckResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置验核机构。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_department")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_department")]
|
||||
public string? VerifyDepartment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置验核机构交易流水号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_department_trade_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_department_trade_id")]
|
||||
public string? VerifyDepartmentTradeId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/mch/customs/customdeclarequery 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class QueryMerchantCustomsCustomDeclarationRequest : WechatTenpaySignableRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string? OutTradeNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string? TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_no")]
|
||||
public string? SubOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_id")]
|
||||
public string? SubOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置海关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customs")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customs")]
|
||||
public string Customs { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/mch/customs/customdeclarequery 接口的响应。</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponseClassNewtonsoftJsonConverter))]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponseClassSystemTextJsonConverter))]
|
||||
public class QueryMerchantCustomsCustomDeclarationResponse : WechatTenpaySignableResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Record
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置状态码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state_$n")]
|
||||
public string State { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_no_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_no_$n")]
|
||||
public string? SubOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_id_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_id_$n")]
|
||||
public string? SubOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置海关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customs_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customs_$n")]
|
||||
public string Customs { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户海关备案号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mch_customs_no_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mch_customs_no_$n")]
|
||||
public string MerchantCustomsNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置关税(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("duty_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("duty_$n")]
|
||||
public int? Duty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置币种。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fee_type_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fee_type_$n")]
|
||||
public string? FeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置应付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("order_fee_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("order_fee_$n")]
|
||||
public int? OrderFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置物流费(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transport_fee_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transport_fee_$n")]
|
||||
public int? TransportFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品价格(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_fee_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_fee_$n")]
|
||||
public int? ProductFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最后更新时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("modify_time_$n")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("modify_time_$n")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextDateTimeOffsetConverter))]
|
||||
public DateTimeOffset ModifyTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订购人和支付人身份信息校验结果。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cert_check_result_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cert_check_result_$n")]
|
||||
public string? CertificateCheckResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申报结果说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("explanation_$n")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("explanation_$n")]
|
||||
public string? Explanation { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
internal static class Converters
|
||||
{
|
||||
internal class ResponseClassNewtonsoftJsonConverter : Newtonsoft.Json.Converters.FlattenNArrayObjectConverterBase<QueryMerchantCustomsCustomDeclarationResponse>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponseClassSystemTextJsonConverter : System.Text.Json.Converters.FlattenNArrayObjectConverterBase<QueryMerchantCustomsCustomDeclarationResponse>
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string TransactionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置记录列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty(Newtonsoft.Json.Converters.FlattenNArrayObjectConverterBase.PROPERTY_NAME_NARRAY)]
|
||||
[System.Text.Json.Serialization.JsonPropertyName(System.Text.Json.Converters.FlattenNArrayObjectConverterBase.PROPERTY_NAME_NARRAY)]
|
||||
public Types.Record[] RecordList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置记录总数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("count")]
|
||||
public int RecordCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置验核机构。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_department")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_department")]
|
||||
public string? VerifyDepartment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置验核机构交易流水号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("verify_department_trade_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("verify_department_trade_id")]
|
||||
public string? VerifyDepartmentTradeId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/mch/customs/customdeclareredeclare 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class RedeclareMerchantCustomsCustomDeclarationRequest : WechatTenpaySignableRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string? OutTradeNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string? TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_no")]
|
||||
public string? SubOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_id")]
|
||||
public string? SubOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置海关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customs")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customs")]
|
||||
public string Customs { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户海关备案号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mch_customs_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mch_customs_no")]
|
||||
public string MerchantCustomsNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/mch/customs/customdeclareredeclare 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class RedeclareMerchantCustomsCustomDeclarationResponse : WechatTenpaySignableResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置状态码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string State { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string TransactionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_no")]
|
||||
public string? SubOrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信子订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_order_id")]
|
||||
public string? SubOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最后更新时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("modify_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextDateTimeOffsetConverter))]
|
||||
public DateTimeOffset ModifyTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申报结果说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("explanation")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("explanation")]
|
||||
public string? Explanation { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,288 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /pay/micropay 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreatePayMicroPayRequest : WechatTenpaySignableRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Detail
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class GoodsDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户侧商品编码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_id")]
|
||||
public string MerchantGoodsId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信侧商品编码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("wxpay_goods_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("wxpay_goods_id")]
|
||||
public string? WechatpayGoodsId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品分类。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_category")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_category")]
|
||||
public string? GoodsCategory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_name")]
|
||||
public string? GoodsName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("quantity")]
|
||||
public int Quantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品单价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("price")]
|
||||
public int Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品描述。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("body")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("body")]
|
||||
public string? Body { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单原价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cost_price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cost_price")]
|
||||
public int? CostPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品小票 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("receipt_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("receipt_id")]
|
||||
public string? ReceiptId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单品列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_detail")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_detail")]
|
||||
public List<Types.GoodsDetail>? GoodsList { get; set; }
|
||||
}
|
||||
|
||||
public class Scene
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置门店编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id")]
|
||||
public string StoreId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string? StoreName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置地区编码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("area_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("area_code")]
|
||||
public string? StoreAreaCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置详细地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("address")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("address")]
|
||||
public string? StoreAddress { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
internal static class Converters
|
||||
{
|
||||
internal class ResponsePropertyDetailNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Detail>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponsePropertyDetailSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Detail>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponsePropertySceneNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Scene>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponsePropertySceneSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Scene>
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置接口版本号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("version")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("version")]
|
||||
public string? Version { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")]
|
||||
public string? SubMerchantId { get; set; }
|
||||
|
||||
/// <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("body")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("body")]
|
||||
public string Body { 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("total_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_fee")]
|
||||
public int TotalFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置货币类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fee_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fee_type")]
|
||||
public string? FeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付款码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("auth_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("auth_code")]
|
||||
public string AuthCode { 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("device_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("device_info")]
|
||||
public string? DeviceInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户终端 IP。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("spbill_create_ip")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("spbill_create_ip")]
|
||||
public string ClientIp { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单优惠标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_tag")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_tag")]
|
||||
public string? GoodsTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置指定付款方式编码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("limit_pay")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("limit_pay")]
|
||||
public string? LimitPayCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易起始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_start")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_start")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
public DateTimeOffset? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_expire")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_expire")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
public DateTimeOffset? ExpireTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("detail")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponsePropertyDetailNewtonsoftJsonConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("detail")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponsePropertyDetailSystemTextJsonConverter))]
|
||||
public Types.Detail? Detail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置场景信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("scene_info")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponsePropertySceneNewtonsoftJsonConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("scene_info")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponsePropertySceneSystemTextJsonConverter))]
|
||||
public Types.Scene? Scene { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否分账。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("profit_sharing")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.YesOrNoNullableBooleanConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("profit_sharing")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoNullableBooleanConverter))]
|
||||
public bool? IsProfitSharing { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否开放电子发票入口。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("receipt")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.YesOrNoNullableBooleanConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("receipt")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoNullableBooleanConverter))]
|
||||
public bool? IsReceiptOpen { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,270 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /pay/micropay 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreatePayMicroPayResponse : WechatTenpaySignableResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Promotion
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class GoodsDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品编码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_id")]
|
||||
public string GoodsId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("quantity")]
|
||||
public int Quantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品单价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("price")]
|
||||
public int Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品优惠金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("discount_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("discount_amount")]
|
||||
public int DiscountAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品备注。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_remark")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_remark")]
|
||||
public string? GoodsRemark { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券或者立减优惠 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("promotion_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("promotion_id")]
|
||||
public string PromotionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠范围。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("scope")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("scope")]
|
||||
public string? Scope { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public string? Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠券面额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("amount")]
|
||||
public int Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置活动 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_id")]
|
||||
public string? ActivityId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信出资(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("wxpay_contribute")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("wxpay_contribute")]
|
||||
public int? WechatpayContribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户出资(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_contribute")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_contribute")]
|
||||
public int? MerchantContribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置其他出资(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("other_contribute")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("other_contribute")]
|
||||
public int? OtherContribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单品列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_detail")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_detail")]
|
||||
public Types.GoodsDetail[]? GoodsList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
internal static class Converters
|
||||
{
|
||||
internal class ResponsePropertyPromotionListNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Promotion[]>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponsePropertyPromotionListSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Promotion[]>
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")]
|
||||
public string? SubMerchantId { get; set; }
|
||||
|
||||
/// <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("device_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("device_info")]
|
||||
public string? DeviceInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户是否订阅该公众号标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("is_subscribe")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.YesOrNoBooleanConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("is_subscribe")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoBooleanConverter))]
|
||||
public bool IsSubscribed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("trade_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("trade_type")]
|
||||
public string TradeType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付款银行。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("bank_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("bank_type")]
|
||||
public string BankType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_fee")]
|
||||
public int TotalFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置货币类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fee_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fee_type")]
|
||||
public string? FeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置应结订单金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("settlement_total_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("settlement_total_fee")]
|
||||
public int? SettlementFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置代金券金额。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("coupon_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("coupon_fee")]
|
||||
public int? FouponFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置现金支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cash_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cash_fee")]
|
||||
public int CashFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置现金支付货币类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cash_fee_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cash_fee_type")]
|
||||
public string? CashFeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string TransactionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置附加数据。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("attach")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("attach")]
|
||||
public string? Attachment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付完成时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_end")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_end")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("promotion_detail")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponsePropertyPromotionListNewtonsoftJsonConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("promotion_detail")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponsePropertyPromotionListSystemTextJsonConverter))]
|
||||
public Types.Promotion[]? PromotionList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payitil/report 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class SubmitPayITILReportRequest : WechatTenpaySignableRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Trade
|
||||
{
|
||||
/// <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("begin_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("begin_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
public DateTimeOffset? BeginTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易完成时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string? State { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置错误描述信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("err_msg")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("err_msg")]
|
||||
public string? ErrorMessage { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
internal static class Converters
|
||||
{
|
||||
internal class ResponsePropertyTradeListNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase<IList<Types.Trade>>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponsePropertyTradeListSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase<IList<Types.Trade>>
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置终端设备号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("device_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("device_info")]
|
||||
public string? DeviceInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置访问接口 IP。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_ip")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_ip")]
|
||||
public string UserIp { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单优惠标记。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("interface_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("interface_url")]
|
||||
public string InterfaceUrl { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置上报交易数据列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("trades")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponsePropertyTradeListNewtonsoftJsonConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("trades")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponsePropertyTradeListSystemTextJsonConverter))]
|
||||
public IList<Types.Trade> TradeList { get; set; } = new List<Types.Trade>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,270 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payitil/report 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class SubmitPayITILReportResponse : WechatTenpaySignableResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Promotion
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class GoodsDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品编码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_id")]
|
||||
public string GoodsId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("quantity")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("quantity")]
|
||||
public int Quantity { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品单价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("price")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("price")]
|
||||
public int Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品优惠金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("discount_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("discount_amount")]
|
||||
public int DiscountAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品备注。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_remark")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_remark")]
|
||||
public string? GoodsRemark { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券或者立减优惠 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("promotion_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("promotion_id")]
|
||||
public string PromotionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠范围。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("scope")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("scope")]
|
||||
public string? Scope { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public string? Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠券面额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("amount")]
|
||||
public int Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置活动 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_id")]
|
||||
public string? ActivityId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信出资(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("wxpay_contribute")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("wxpay_contribute")]
|
||||
public int? WechatpayContribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户出资(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_contribute")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_contribute")]
|
||||
public int? MerchantContribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置其他出资(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("other_contribute")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("other_contribute")]
|
||||
public int? OtherContribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单品列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods_detail")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods_detail")]
|
||||
public Types.GoodsDetail[]? GoodsList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
internal static class Converters
|
||||
{
|
||||
internal class ResponsePropertyPromotionListNewtonsoftJsonConverter : Newtonsoft.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Promotion[]>
|
||||
{
|
||||
}
|
||||
|
||||
internal class ResponsePropertyPromotionListSystemTextJsonConverter : System.Text.Json.Converters.TextualObjectInJsonFormatConverterBase<Types.Promotion[]>
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")]
|
||||
public string? SubMerchantId { get; set; }
|
||||
|
||||
/// <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("device_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("device_info")]
|
||||
public string? DeviceInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户唯一标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户是否订阅该公众号标识。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("is_subscribe")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.YesOrNoBooleanConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("is_subscribe")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.YesOrNoBooleanConverter))]
|
||||
public bool IsSubscribed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("trade_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("trade_type")]
|
||||
public string TradeType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付款银行。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("bank_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("bank_type")]
|
||||
public string BankType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_fee")]
|
||||
public int TotalFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置货币类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fee_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fee_type")]
|
||||
public string? FeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置应结订单金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("settlement_total_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("settlement_total_fee")]
|
||||
public int? SettlementFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置代金券金额。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("coupon_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("coupon_fee")]
|
||||
public int? FouponFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置现金支付金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cash_fee")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cash_fee")]
|
||||
public int CashFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置现金支付货币类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("cash_fee_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("cash_fee_type")]
|
||||
public string? CashFeeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string TransactionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置附加数据。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("attach")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("attach")]
|
||||
public string? Attachment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付完成时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time_end")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time_end")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优惠信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("promotion_detail")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponsePropertyPromotionListNewtonsoftJsonConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("promotion_detail")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponsePropertyPromotionListSystemTextJsonConverter))]
|
||||
public Types.Promotion[]? PromotionList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /tools/authcodetoopenid 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class ToolsAuthCodeToOpenIdRequest : WechatTenpaySignableRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")]
|
||||
public string? SubMerchantId { get; set; }
|
||||
|
||||
/// <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("auth_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("auth_code")]
|
||||
public string AuthCode { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /tools/authcodetoopenid 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class ToolsAuthCodeToOpenIdResponse : WechatTenpaySignableResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")]
|
||||
public string? SubMerchantId { get; set; }
|
||||
|
||||
/// <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("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; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user