diff --git a/docs/WechatTenpayV3/Basic_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md index 986be92e..6e22ac9c 100644 --- a/docs/WechatTenpayV3/Basic_ModelDefinition.md +++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md @@ -91,6 +91,7 @@ | √ | 其他:银行提现免费券 | 合作伙伴 | | | √ | 其他:银行周周惠 | 合作伙伴 | | | √ | 其他:微工卡 | 合作伙伴 | | +| √ | 其他:企业支付 | 合作伙伴 | | | √ | 其他:优惠费率活动 | 合作伙伴 | | | √ | 其他:爱心餐 | 直连商户 | | | × | 其他:清关报关 | 直连商户 | 官方未提供 v3 API | @@ -525,50 +526,6 @@ - 查询银行转账充值结果:`GetBankTransferRechargeByOutRechargeNumber` - - 商家名片会员 - - - 会员卡模板管理: - - - 创建会员卡模板:`CreateBrandPartnerCardMemberCard` - - - 查询会员卡模板列表:`QueryBrandPartnerCardMemberCards` - - - 查询会员卡模板信息:`GetBrandPartnerCardMemberCardByCardId` - - - 修改会员卡模板信息:`UpdateBrandPartnerCardMemberCard` - - - 作废会员卡模板:`InvalidateBrandPartnerCardMemberCard` - - - 用户会员卡管理: - - - 查询用户会员卡信息:`GetBrandPartnerCardMemberUserCardByUserCardCode` - - - 查询用户在品牌下所有会员卡:`QueryBrandPartnerCardMemberUserCards` - - - 修改用户会员卡信息:`UpdateBrandPartnerCardMemberUserCard` - - - 作废用户会员卡:`InvalidateBrandPartnerCardMemberUserCard` - - - 用户开通会员卡: - - - 入会组件预授权:`CreateBrandPartnerCardMemberPreauthToken` - - - 商家同步会员身份: - - - 根据 OpenId 导入用户会员卡:`ImportBrandPartnerCardMemberUserCardByOpenId` - - - 同步会员开通结果:`ConfirmBrandPartnerCardMemberUserCard` - - - 用户动态: - - - 创建用户动态信息:`CreateBrandPartnerCardMemberUserFeed` - - - 会员卡积分兑券: - - - 同步积分余额:`SyncBrandPartnerCardMemberUserPoint` - - - 同步积分兑券结果:`ConfirmBrandPartnerCardMemberUserPointExchangeCoupon` - - 扩展工具 - 分账 @@ -1369,6 +1326,50 @@ - 关闭广告展示:`CloseGoldPlanAdvertisingShow` + - 商家名片会员 + + - 会员卡模板管理: + + - 创建会员卡模板:`CreateBrandPartnerCardMemberCard` + + - 查询会员卡模板列表:`QueryBrandPartnerCardMemberCards` + + - 查询会员卡模板信息:`GetBrandPartnerCardMemberCardByCardId` + + - 修改会员卡模板信息:`UpdateBrandPartnerCardMemberCard` + + - 作废会员卡模板:`InvalidateBrandPartnerCardMemberCard` + + - 用户会员卡管理: + + - 查询用户会员卡信息:`GetBrandPartnerCardMemberUserCardByUserCardCode` + + - 查询用户在品牌下所有会员卡:`QueryBrandPartnerCardMemberUserCards` + + - 修改用户会员卡信息:`UpdateBrandPartnerCardMemberUserCard` + + - 作废用户会员卡:`InvalidateBrandPartnerCardMemberUserCard` + + - 用户开通会员卡: + + - 入会组件预授权:`CreateBrandPartnerCardMemberPreauthToken` + + - 商家同步会员身份: + + - 根据 OpenId 导入用户会员卡:`ImportBrandPartnerCardMemberUserCardByOpenId` + + - 同步会员开通结果:`ConfirmBrandPartnerCardMemberUserCard` + + - 用户动态: + + - 创建用户动态信息:`CreateBrandPartnerCardMemberUserFeed` + + - 会员卡积分兑券: + + - 同步积分余额:`SyncBrandPartnerCardMemberUserPoint` + + - 同步积分兑券结果:`ConfirmBrandPartnerCardMemberUserPointExchangeCoupon` + - 扩展工具 - 分账 @@ -1763,6 +1764,32 @@ - 服务商银行来账查询:`QueryMerchantFundMerchantIncomeRecords` + - 企业支付 + + - 企业商户为员工下发企业支付额度卡:`CreateWeBusinessPayEmployeeQuotaCard` + + - 企业商户作废员工企业支付额度卡:`CancelWeBusinessPayEmployeeQuotaCard` + + - 企业商户使用商户卡号查询企业支付额度卡:`GetWeBusinessPayEmployeeQuotaCardByOutCardNumber` + + - 企业商户发起员工开通企业支付授权:`GetWeBusinessPayUserAuthorizationUrl` + + - 企业商户发起解除员工企业支付授权:`RevokeGetWeBusinessPayEmployee` + + - 企业商户查询企业员工开通授权状态:`GetWeBusinessPayUserAuthorizationState` + + - 企业商户查询企业支付额度卡:`GetWeBusinessPayEmployeeQuotaCardByCardNumber` + + - 企业商户获取指定额度卡支付链接:`GetWeBusinessPayEmployeeQuotaCardPaymentUrl` + + - 发起门店主体匹配:`CreateWeBusinessPayStoreEntityMatch` + + - 查询门店主体匹配结果:`GetWeBusinessPayStoreEntityMatchByBatchId` + + - 申请企业商户企业支付业务账单:`GetWeBusinessPayBillTradeBill` + + - 申请企业商户企业支付出资凭证:`GetWeBusinessPayBillProof` + --- diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteWeBusinessPayExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteWeBusinessPayExtensions.cs new file mode 100644 index 00000000..ba9e5472 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteWeBusinessPayExtensions.cs @@ -0,0 +1,329 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + public static class WechatTenpayClientExecuteWeBusinessPayExtensions + { + #region Bill + /// + /// 异步调用 [POST] /webizpay/bill/trade-bill 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayBillTradeBillAsync(this WechatTenpayClient client, Models.GetWeBusinessPayBillTradeBillRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "bill", "trade-bill"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /webizpay/bill/proof 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayBillProofAsync(this WechatTenpayClient client, Models.GetWeBusinessPayBillProofRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "bill", "proof"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region Employees + /// + /// 异步调用 [POST] /webizpay/employees/{employee_id}/quota-cards 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCreateWeBusinessPayEmployeeQuotaCardAsync(this WechatTenpayClient client, Models.CreateWeBusinessPayEmployeeQuotaCardRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "employees", request.EmployeeId, "quota-cards"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /webizpay/employees/{employee_id}/out-quota-cards/{out_card_no} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayEmployeeQuotaCardByOutCardNumberAsync(this WechatTenpayClient client, Models.GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "employees", request.EmployeeId, "out-quota-cards", request.OutCardNumber) + .SetQueryParam("sp_mchid", request.MerchantId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayEmployeeQuotaCardByCardNumberAsync(this WechatTenpayClient client, Models.GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "employees", request.EmployeeId, "quota-cards", request.CardNumber) + .SetQueryParam("sp_mchid", request.MerchantId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /webizpay/employees/{employee_id}/revoke 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteRevokeGetWeBusinessPayEmployeeAsync(this WechatTenpayClient client, Models.RevokeGetWeBusinessPayEmployeeRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "employees", request.EmployeeId, "revoke"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /webizpay/employees/{employee_id}/quota-cards/{card_no}/cancel 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCancelWeBusinessPayEmployeeQuotaCardAsync(this WechatTenpayClient client, Models.CancelWeBusinessPayEmployeeQuotaCardRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "employees", request.EmployeeId, "quota-cards", request.CardNumber, "cancel"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no}/payment-url 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayEmployeeQuotaCardPaymentUrlAsync(this WechatTenpayClient client, Models.GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "employees", request.EmployeeId, "quota-cards", request.CardNumber, "payment-url") + .SetQueryParam("sp_mchid", request.MerchantId) + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("application_type", request.ApplicationType); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region Stores + /// + /// 异步调用 [POST] /webizpay/stores/entity-matches 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCreateWeBusinessPayStoreEntityMatchAsync(this WechatTenpayClient client, Models.CreateWeBusinessPayStoreEntityMatchRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "stores", "entity-matches"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /webizpay/stores/entity-matches/{batch_id} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayStoreEntityMatchByBatchIdAsync(this WechatTenpayClient client, Models.GetWeBusinessPayStoreEntityMatchByBatchIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "stores", "entity-matches", request.BatchId) + .SetQueryParam("sp_mchid", request.MerchantId); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region Users + /// + /// 异步调用 [GET] /webizpay/users/{user_id}/authorization-state 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayUserAuthorizationStateAsync(this WechatTenpayClient client, Models.GetWeBusinessPayUserAuthorizationStateRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "users", request.UserId, "authorization-state") + .SetQueryParam("sp_mchid", request.MerchantId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /webizpay/users/{user_id}/authorization-url 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetWeBusinessPayUserAuthorizationUrlAsync(this WechatTenpayClient client, Models.GetWeBusinessPayUserAuthorizationUrlRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + if (request.MerchantId is null) + request.MerchantId = client.Credentials.MerchantId; + + IFlurlRequest flurlReq = client + .CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "users", request.UserId, "authorization-url"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs index 8f7888a3..07bd462d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs @@ -66,7 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public DateTimeOffset? AuthorizationCancelTime { get; set; } /// - /// 获取或设置最近一次解除授权时间。 + /// 获取或设置最近一次授权时间。 /// [Newtonsoft.Json.JsonProperty("authorization_success_time")] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofRequest.cs new file mode 100644 index 00000000..4435bc21 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofRequest.cs @@ -0,0 +1,50 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/bill/proof 接口的请求。 + /// + public class GetWeBusinessPayBillProofRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置开始日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("start_date")] + [System.Text.Json.Serialization.JsonPropertyName("start_date")] + public string StartDateString { get; set; } = string.Empty; + + /// + /// 获取或设置结束日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("end_date")] + [System.Text.Json.Serialization.JsonPropertyName("end_date")] + public string EndDateString { get; set; } = string.Empty; + + /// + /// 获取或设置商户主体名称。 + /// + [Newtonsoft.Json.JsonProperty("entity_name")] + [System.Text.Json.Serialization.JsonPropertyName("entity_name")] + public string? EntityName { get; set; } + + /// + /// 获取或设置商户操作流水号。 + /// + [Newtonsoft.Json.JsonProperty("out_operation_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_operation_id")] + public string? OutOperationId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofResponse.cs new file mode 100644 index 00000000..b470c4a5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofResponse.cs @@ -0,0 +1,91 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/bill/proof 接口的响应。 + /// + public class GetWeBusinessPayBillProofResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置开始日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("start_date")] + [System.Text.Json.Serialization.JsonPropertyName("start_date")] + public string StartDateString { get; set; } = default!; + + /// + /// 获取或设置结束日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("end_date")] + [System.Text.Json.Serialization.JsonPropertyName("end_date")] + public string EndDateString { get; set; } = default!; + + /// + /// 获取或设置商户主体名称。 + /// + [Newtonsoft.Json.JsonProperty("entity_name")] + [System.Text.Json.Serialization.JsonPropertyName("entity_name")] + public string? EntityName { get; set; } + + /// + /// 获取或设置商户操作流水号。 + /// + [Newtonsoft.Json.JsonProperty("out_operation_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_operation_id")] + public string OutOperationId { get; set; } = default!; + + /// + /// 获取或设置微信支付操作流水号。 + /// + [Newtonsoft.Json.JsonProperty("operation_id")] + [System.Text.Json.Serialization.JsonPropertyName("operation_id")] + public string OperationId { get; set; } = default!; + + /// + /// 获取或设置出资凭证申请单单号。 + /// + [Newtonsoft.Json.JsonProperty("proof_id")] + [System.Text.Json.Serialization.JsonPropertyName("proof_id")] + public string ProofId { get; set; } = default!; + + /// + /// 获取或设置账单下载地址。 + /// + [Newtonsoft.Json.JsonProperty("download_url")] + [System.Text.Json.Serialization.JsonPropertyName("download_url")] + public string DownloadUrl { get; set; } = default!; + + /// + /// 获取或设置创建时间。 + /// + [Newtonsoft.Json.JsonProperty("created_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("created_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset CreateTime { get; set; } + + /// + /// 获取或设置更新时间。 + /// + [Newtonsoft.Json.JsonProperty("updated_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("updated_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset UpdateTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillRequest.cs new file mode 100644 index 00000000..a7beb288 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/bill/trade-bill 接口的请求。 + /// + public class GetWeBusinessPayBillTradeBillRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置账单日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("date")] + [System.Text.Json.Serialization.JsonPropertyName("date")] + public string BillDateString { get; set; } = string.Empty; + + /// + /// 获取或设置账单类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string BillType { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillResponse.cs new file mode 100644 index 00000000..2406f531 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillResponse.cs @@ -0,0 +1,57 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/bill/trade-bill 接口的响应。 + /// + public class GetWeBusinessPayBillTradeBillResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置账单日期字符串(格式:yyyy-MM-dd)。 + /// + [Newtonsoft.Json.JsonProperty("date")] + [System.Text.Json.Serialization.JsonPropertyName("date")] + public string BillDateString { get; set; } = default!; + + /// + /// 获取或设置账单类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string BillType { get; set; } = default!; + + /// + /// 获取或设置哈希类型。 + /// + [Newtonsoft.Json.JsonProperty("hash_type")] + [System.Text.Json.Serialization.JsonPropertyName("hash_type")] + public string HashType { get; set; } = default!; + + /// + /// 获取或设置哈希值。 + /// + [Newtonsoft.Json.JsonProperty("hash_value")] + [System.Text.Json.Serialization.JsonPropertyName("hash_value")] + public string HashValue { get; set; } = default!; + + /// + /// 获取或设置账单下载地址。 + /// + [Newtonsoft.Json.JsonProperty("download_url")] + [System.Text.Json.Serialization.JsonPropertyName("download_url")] + public string DownloadUrl { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardRequest.cs new file mode 100644 index 00000000..9343b620 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardRequest.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/employees/{employee_id}/quota-cards/{card_no}/cancel 接口的请求。 + /// + public class CancelWeBusinessPayEmployeeQuotaCardRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string EmployeeId { get; set; } = string.Empty; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardNumber { get; set; } = string.Empty; + + /// + /// 获取或设置作废原因。 + /// + [Newtonsoft.Json.JsonProperty("reason")] + [System.Text.Json.Serialization.JsonPropertyName("reason")] + public string Reason { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardResponse.cs new file mode 100644 index 00000000..6714a945 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardResponse.cs @@ -0,0 +1,54 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/employees/{employee_id}/quota-cards/{card_no}/cancel 接口的响应。 + /// + public class CancelWeBusinessPayEmployeeQuotaCardResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonProperty("employee_id")] + [System.Text.Json.Serialization.JsonPropertyName("employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonProperty("card_no")] + [System.Text.Json.Serialization.JsonPropertyName("card_no")] + public string CardNumber { get; set; } = default!; + + /// + /// 获取或设置卡片状态。 + /// + [Newtonsoft.Json.JsonProperty("card_state")] + [System.Text.Json.Serialization.JsonPropertyName("card_state")] + public string CardState { get; set; } = default!; + + /// + /// 获取或设置卡片失效时间。 + /// + [Newtonsoft.Json.JsonProperty("card_disabled_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("card_disabled_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset DisableTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardRequest.cs new file mode 100644 index 00000000..dd23d9d5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardRequest.cs @@ -0,0 +1,75 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/employees/{employee_id}/quota-cards 接口的请求。 + /// + public class CreateWeBusinessPayEmployeeQuotaCardRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string EmployeeId { get; set; } = string.Empty; + + /// + /// 获取或设置商户卡号。 + /// + [Newtonsoft.Json.JsonProperty("out_card_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_card_no")] + public string OutCardNumber { get; set; } = string.Empty; + + /// + /// 获取或设置企业支付卡模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_template_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_template_id")] + public string CardTemplateId { get; set; } = string.Empty; + + /// + /// 获取或设置可用金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置有效期结束时间。 + /// + [Newtonsoft.Json.JsonProperty("effective_end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("effective_end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset EffectiveEndTime { get; set; } + + /// + /// 获取或设置卡片名称。 + /// + [Newtonsoft.Json.JsonProperty("card_name")] + [System.Text.Json.Serialization.JsonPropertyName("card_name")] + public string CardName { get; set; } = string.Empty; + + /// + /// 获取或设置卡片备注。 + /// + [Newtonsoft.Json.JsonProperty("card_remark")] + [System.Text.Json.Serialization.JsonPropertyName("card_remark")] + public string? CardRemark { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardResponse.cs new file mode 100644 index 00000000..ca7da9e6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardResponse.cs @@ -0,0 +1,63 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/employees/{employee_id}/quota-cards 接口的响应。 + /// + public class CreateWeBusinessPayEmployeeQuotaCardResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonProperty("employee_id")] + [System.Text.Json.Serialization.JsonPropertyName("employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// 获取或设置商户卡号。 + /// + [Newtonsoft.Json.JsonProperty("out_card_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_card_no")] + public string OutCardNumber { get; set; } = default!; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonProperty("card_no")] + [System.Text.Json.Serialization.JsonPropertyName("card_no")] + public string CardNumber { get; set; } = default!; + + /// + /// 获取或设置有效期开始时间。 + /// + [Newtonsoft.Json.JsonProperty("effective_begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("effective_begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset EffectiveBeginTime { get; set; } + + /// + /// 获取或设置有效期结束时间。 + /// + [Newtonsoft.Json.JsonProperty("effective_end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("effective_end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset EffectiveEndTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest.cs new file mode 100644 index 00000000..120af886 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no} 接口的请求。 + /// + public class GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string EmployeeId { get; set; } = string.Empty; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardNumber { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse.cs new file mode 100644 index 00000000..f61f0e06 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no} 接口的响应。 + /// + public class GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse : GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest.cs new file mode 100644 index 00000000..cf45f846 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/employees/{employee_id}/out-quota-cards/{out_card_no} 接口的请求。 + /// + public class GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string EmployeeId { get; set; } = string.Empty; + + /// + /// 获取或设置商户卡号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutCardNumber { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse.cs new file mode 100644 index 00000000..d98717e4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse.cs @@ -0,0 +1,151 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/employees/{employee_id}/out-quota-cards/{out_card_no} 接口的响应。 + /// + public class GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonProperty("employee_id")] + [System.Text.Json.Serialization.JsonPropertyName("employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// 获取或设置商户卡号。 + /// + [Newtonsoft.Json.JsonProperty("out_card_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_card_no")] + public string OutCardNumber { get; set; } = default!; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonProperty("card_no")] + [System.Text.Json.Serialization.JsonPropertyName("card_no")] + public string CardNumber { get; set; } = default!; + + /// + /// 获取或设置企业支付卡模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_template_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_template_id")] + public string CardTemplateId { get; set; } = default!; + + /// + /// 获取或设置使用规则。 + /// + [Newtonsoft.Json.JsonProperty("card_rule")] + [System.Text.Json.Serialization.JsonPropertyName("card_rule")] + public string CardRule { get; set; } = default!; + + /// + /// 获取或设置退款规则。 + /// + [Newtonsoft.Json.JsonProperty("refund_rule")] + [System.Text.Json.Serialization.JsonPropertyName("refund_rule")] + public string RefundRule { get; set; } = default!; + + /// + /// 获取或设置总金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置可用金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("remain_amount")] + [System.Text.Json.Serialization.JsonPropertyName("remain_amount")] + public int RemainAmount { get; set; } + + /// + /// 获取或设置有效期开始时间。 + /// + [Newtonsoft.Json.JsonProperty("effective_begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("effective_begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset EffectiveBeginTime { get; set; } + + /// + /// 获取或设置有效期结束时间。 + /// + [Newtonsoft.Json.JsonProperty("effective_end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("effective_end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset EffectiveEndTime { get; set; } + + /// + /// 获取或设置卡片状态。 + /// + [Newtonsoft.Json.JsonProperty("card_state")] + [System.Text.Json.Serialization.JsonPropertyName("card_state")] + public string CardState { get; set; } = default!; + + /// + /// 获取或设置卡片名称。 + /// + [Newtonsoft.Json.JsonProperty("card_name")] + [System.Text.Json.Serialization.JsonPropertyName("card_name")] + public string CardName { get; set; } = default!; + + /// + /// 获取或设置卡片备注。 + /// + [Newtonsoft.Json.JsonProperty("card_remark")] + [System.Text.Json.Serialization.JsonPropertyName("card_remark")] + public string? CardRemark { get; set; } + + /// + /// 获取或设置卡片失效时间。 + /// + [Newtonsoft.Json.JsonProperty("card_disabled_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("card_disabled_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset? DisableTime { get; set; } + + /// + /// 获取或设置失效原因。 + /// + [Newtonsoft.Json.JsonProperty("reason")] + [System.Text.Json.Serialization.JsonPropertyName("reason")] + public string? DisableReason { get; set; } + + /// + /// 获取或设置最近一次使用时间。 + /// + [Newtonsoft.Json.JsonProperty("card_usage_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("card_usage_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset? LastUsageTime { get; set; } + + /// + /// 获取或设置最近一次关联微信支付订单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + public string? LastTransactionId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest.cs new file mode 100644 index 00000000..da4fa8d4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no}/payment-url 接口的请求。 + /// + public class GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string EmployeeId { get; set; } = string.Empty; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardNumber { get; set; } = string.Empty; + + /// + /// 获取或设置企业应用类型。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ApplicationType { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse.cs new file mode 100644 index 00000000..5ccf9b6e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse.cs @@ -0,0 +1,75 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no}/payment-url 接口的响应。 + /// + public class GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonProperty("employee_id")] + [System.Text.Json.Serialization.JsonPropertyName("employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonProperty("card_no")] + [System.Text.Json.Serialization.JsonPropertyName("card_no")] + public string CardNumber { get; set; } = default!; + + /// + /// 获取或设置企业应用类型。 + /// + [Newtonsoft.Json.JsonProperty("application_type")] + [System.Text.Json.Serialization.JsonPropertyName("application_type")] + public string ApplicationType { get; set; } = default!; + + /// + /// 获取或设置跳转链接。 + /// + [Newtonsoft.Json.JsonProperty("payment_url")] + [System.Text.Json.Serialization.JsonPropertyName("payment_url")] + public string? PaymentUrl { get; set; } + + /// + /// 获取或设置小程序查询参数。 + /// + [Newtonsoft.Json.JsonProperty("mp_query")] + [System.Text.Json.Serialization.JsonPropertyName("mp_query")] + public string? MiniProgramQueryString { get; set; } + + /// + /// 获取或设置小程序业务类型。 + /// + [Newtonsoft.Json.JsonProperty("mp_business_type")] + [System.Text.Json.Serialization.JsonPropertyName("mp_business_type")] + public string? MiniProgramBusinessType { get; set; } + + /// + /// 获取或设置链接失效时间。 + /// + [Newtonsoft.Json.JsonProperty("expire_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("expire_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset ExpireTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeRequest.cs new file mode 100644 index 00000000..d9af7268 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/employees/{employee_id}/revoke 接口的请求。 + /// + public class RevokeGetWeBusinessPayEmployeeRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string EmployeeId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeResponse.cs new file mode 100644 index 00000000..834067d9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeResponse.cs @@ -0,0 +1,54 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/employees/{employee_id}/revoke 接口的响应。 + /// + public class RevokeGetWeBusinessPayEmployeeResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置商户企业员工 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_id")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置授权状态。 + /// + [Newtonsoft.Json.JsonProperty("authorization_state")] + [System.Text.Json.Serialization.JsonPropertyName("authorization_state")] + public string AuthorizationState { get; set; } = default!; + + /// + /// 获取或设置解除授权时间。 + /// + [Newtonsoft.Json.JsonProperty("authorization_revoked_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("authorization_revoked_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset RevokeTime { get; set; } + + /// + /// 获取或设置失效原因。 + /// + [Newtonsoft.Json.JsonProperty("reason")] + [System.Text.Json.Serialization.JsonPropertyName("reason")] + public string? Reason { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchRequest.cs new file mode 100644 index 00000000..cfe916ea --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchRequest.cs @@ -0,0 +1,58 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/stores/entity-matches 接口的请求。 + /// + public class CreateWeBusinessPayStoreEntityMatchRequest : WechatTenpayRequest + { + public static class Types + { + public class MatchDetail + { + /// + /// 获取或设置门店统一社会信用代码。 + /// + [Newtonsoft.Json.JsonProperty("organization_code")] + [System.Text.Json.Serialization.JsonPropertyName("organization_code")] + public string OrganizationCode { get; set; } = string.Empty; + + /// + /// 获取或设置门店名称。 + /// + [Newtonsoft.Json.JsonProperty("store_name")] + [System.Text.Json.Serialization.JsonPropertyName("store_name")] + public string StoreName { get; set; } = string.Empty; + + /// + /// 获取或设置需要查询的支付产品。 + /// + [Newtonsoft.Json.JsonProperty("product_type")] + [System.Text.Json.Serialization.JsonPropertyName("product_type")] + public string? ProductType { get; set; } + } + } + + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置商户主体匹配批次单号。 + /// + [Newtonsoft.Json.JsonProperty("out_batch_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_batch_id")] + public string OutBatchId { get; set; } = string.Empty; + + /// + /// 获取或设置主体匹配明细列表。 + /// + [Newtonsoft.Json.JsonProperty("match_details")] + [System.Text.Json.Serialization.JsonPropertyName("match_details")] + public IList? MatchDetailList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchResponse.cs new file mode 100644 index 00000000..f64976b2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchResponse.cs @@ -0,0 +1,47 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/stores/entity-matches 接口的响应。 + /// + public class CreateWeBusinessPayStoreEntityMatchResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置商户主体匹配批次单号。 + /// + [Newtonsoft.Json.JsonProperty("out_batch_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_batch_id")] + public string OutBatchId { get; set; } = default!; + + /// + /// 获取或设置微信支付主体匹配批次单号。 + /// + [Newtonsoft.Json.JsonProperty("batch_id")] + [System.Text.Json.Serialization.JsonPropertyName("batch_id")] + public string BatchId { get; set; } = default!; + + /// + /// 获取或设置批次状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public string State { get; set; } = default!; + + /// + /// 获取或设置创建时间。 + /// + [Newtonsoft.Json.JsonProperty("time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset CreateTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdRequest.cs new file mode 100644 index 00000000..8d436943 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/stores/entity-matches/{batch_id} 接口的请求。 + /// + public class GetWeBusinessPayStoreEntityMatchByBatchIdRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? MerchantId { get; set; } + + /// + /// 获取或设置微信支付主体匹配批次单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string BatchId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdResponse.cs new file mode 100644 index 00000000..253ada15 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdResponse.cs @@ -0,0 +1,70 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/stores/entity-matches/{batch_id} 接口的响应。 + /// + public class GetWeBusinessPayStoreEntityMatchByBatchIdResponse : WechatTenpayResponse + { + public static class Types + { + public class MatchResult + { + /// + /// 获取或设置门店统一社会信用代码。 + /// + [Newtonsoft.Json.JsonProperty("organization_code")] + [System.Text.Json.Serialization.JsonPropertyName("organization_code")] + public string OrganizationCode { get; set; } = default!; + + /// + /// 获取或设置门店名称。 + /// + [Newtonsoft.Json.JsonProperty("store_name")] + [System.Text.Json.Serialization.JsonPropertyName("store_name")] + public string StoreName { get; set; } = default!; + + /// + /// 获取或设置是否存在满足条件微信支付商户号。 + /// + [Newtonsoft.Json.JsonProperty("has_valid_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("has_valid_mchid")] + public bool HasValidMerchantId { get; set; } + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置商户主体匹配批次单号。 + /// + [Newtonsoft.Json.JsonProperty("out_batch_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_batch_id")] + public string OutBatchId { get; set; } = default!; + + /// + /// 获取或设置微信支付主体匹配批次单号。 + /// + [Newtonsoft.Json.JsonProperty("batch_id")] + [System.Text.Json.Serialization.JsonPropertyName("batch_id")] + public string BatchId { get; set; } = default!; + + /// + /// 获取或设置批次状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public string State { get; set; } = default!; + + /// + /// 获取或设置主体匹配明细列表。 + /// + [Newtonsoft.Json.JsonProperty("match_results")] + [System.Text.Json.Serialization.JsonPropertyName("match_results")] + public Types.MatchResult[] MatchResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateRequest.cs new file mode 100644 index 00000000..c8b77338 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/users/{user_id}/authorization-state 接口的请求。 + /// + public class GetWeBusinessPayUserAuthorizationStateRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置企业员工 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string UserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateResponse.cs new file mode 100644 index 00000000..e5fe1ab6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateResponse.cs @@ -0,0 +1,76 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /webizpay/users/{user_id}/authorization-state 接口的响应。 + /// + public class GetWeBusinessPayUserAuthorizationStateResponse : WechatTenpayResponse + { + public static class Types + { + public class Employee + { + /// + /// 获取或设置微信授权关系 ID。 + /// + [Newtonsoft.Json.JsonProperty("employee_id")] + [System.Text.Json.Serialization.JsonPropertyName("employee_id")] + public string EmployeeId { get; set; } = default!; + + /// + /// 获取或设置授权状态。 + /// + [Newtonsoft.Json.JsonProperty("authorization_state")] + [System.Text.Json.Serialization.JsonPropertyName("authorization_state")] + public string AuthorizationState { get; set; } = default!; + + /// + /// 获取或设置授权时间。 + /// + [Newtonsoft.Json.JsonProperty("authorization_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("authorization_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset AuthorizeTime { get; set; } + + /// + /// 获取或设置解除授权时间。 + /// + [Newtonsoft.Json.JsonProperty("authorization_revoked_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("authorization_revoked_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset? RevokeTime { get; set; } + } + } + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置商户企业员工 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_id")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置微信授权关系列表。 + /// + [Newtonsoft.Json.JsonProperty("employee_list")] + [System.Text.Json.Serialization.JsonPropertyName("employee_list")] + public Types.Employee[]? EmployeeList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlRequest.cs new file mode 100644 index 00000000..c68c5ef7 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlRequest.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/users/{user_id}/authorization-url 接口的请求。 + /// + public class GetWeBusinessPayUserAuthorizationUrlRequest : WechatTenpayRequest + { + /// + /// 获取或设置微信商户号。如果不指定将使用构造 时的 参数。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置商户企业员工 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string UserId { get; set; } = string.Empty; + + /// + /// 获取或设置企业支付额度卡卡号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string CardNumber { get; set; } = string.Empty; + + /// + /// 获取或设置企业应用类型。 + /// + [Newtonsoft.Json.JsonProperty("application_type")] + [System.Text.Json.Serialization.JsonPropertyName("application_type")] + public string ApplicationType { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlResponse.cs new file mode 100644 index 00000000..fbcebbd1 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlResponse.cs @@ -0,0 +1,68 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /webizpay/users/{user_id}/authorization-url 接口的响应。 + /// + public class GetWeBusinessPayUserAuthorizationUrlResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("sp_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置商户企业员工 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_id")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置企业应用类型。 + /// + [Newtonsoft.Json.JsonProperty("application_type")] + [System.Text.Json.Serialization.JsonPropertyName("application_type")] + public string ApplicationType { get; set; } = default!; + + /// + /// 获取或设置跳转链接。 + /// + [Newtonsoft.Json.JsonProperty("authorization_url")] + [System.Text.Json.Serialization.JsonPropertyName("authorization_url")] + public string? AuthorizationUrl { get; set; } + + /// + /// 获取或设置小程序查询参数。 + /// + [Newtonsoft.Json.JsonProperty("mp_query")] + [System.Text.Json.Serialization.JsonPropertyName("mp_query")] + public string? MiniProgramQueryString { get; set; } + + /// + /// 获取或设置小程序业务类型。 + /// + [Newtonsoft.Json.JsonProperty("mp_business_type")] + [System.Text.Json.Serialization.JsonPropertyName("mp_business_type")] + public string? MiniProgramBusinessType { get; set; } + + /// + /// 获取或设置链接失效时间。 + /// + [Newtonsoft.Json.JsonProperty("expire_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("expire_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] + public DateTimeOffset ExpireTime { get; set; } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofRequest.json new file mode 100644 index 00000000..77e68702 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofRequest.json @@ -0,0 +1,8 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "start_date": "2025-04-23", + "end_date": "2025-04-23", + "entity_name": "某某科技有限公司", + "out_operation_id": "operation12345678" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofResponse.json new file mode 100644 index 00000000..2ef5f773 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillProofResponse.json @@ -0,0 +1,13 @@ +{ + "sp_mchid": "12341234", + "out_operation_id": "operation12345678", + "operation_id": "1030000071201xxxxx", + "sub_mchid": "43214321", + "start_date": "2025-04-23", + "end_date": "2025-04-23", + "entity_name": "某某科技有限公司", + "proof_id": "proof12345678", + "download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx", + "created_time": "2023-06-08T10:34:56+08:00", + "updated_time": "2023-06-08T10:34:56+08:00" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillRequest.json new file mode 100644 index 00000000..a325eaf8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillRequest.json @@ -0,0 +1,6 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "date": "2025-04-23", + "type": "QYZFALL" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillResponse.json new file mode 100644 index 00000000..ff5b6688 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Bill/GetWeBusinessPayBillTradeBillResponse.json @@ -0,0 +1,9 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "date": "2025-04-23", + "type": "QYZFALL", + "download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx", + "hash_type": "SHA1", + "hash_value": "79bb0f45fc4c42234a918000b2668d689e2bde04" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardRequest.json new file mode 100644 index 00000000..dec99773 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardRequest.json @@ -0,0 +1,5 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "reason": "商户主动作废" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardResponse.json new file mode 100644 index 00000000..fa88829b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CancelWeBusinessPayEmployeeQuotaCardResponse.json @@ -0,0 +1,8 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c", + "card_no": "1068019671702503425", + "card_state": "DISABLED", + "card_disabled_time": "2023-12-31T23:59:59+08:00" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardRequest.json new file mode 100644 index 00000000..961982e1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardRequest.json @@ -0,0 +1,10 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "card_template_id": "template_123", + "amount": 10000, + "card_name": "报销额度卡", + "out_card_no": "out_card_123456", + "effective_end_time": "2023-12-31T23:59:59+08:00", + "card_remark": "2023年1月差旅报销" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardResponse.json new file mode 100644 index 00000000..cf70bb28 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/CreateWeBusinessPayEmployeeQuotaCardResponse.json @@ -0,0 +1,9 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "out_card_no": "mch_card_123456", + "employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c", + "card_no": "1068019671702503425", + "effective_begin_time": "2023-01-01T00:00+08:00", + "effective_end_time": "2023-12-31T23:59:59+08:00" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse.json new file mode 100644 index 00000000..ecf88b16 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse.json @@ -0,0 +1,21 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "card_no": "1068019671702503425", + "out_card_no": "mch_card_123456", + "employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c", + "card_template_id": "template_123", + "card_rule": "SINGLE", + "refund_rule": "RETURN", + "amount": 10000, + "remain_amount": 8000, + "effective_end_time": "2023-12-31T23:59:59+08:00", + "effective_begin_time": "2023-01-01T00:00:00+08:00", + "card_state": "ACTIVE", + "card_name": "报销额度卡", + "reason": "有效期结束", + "card_usage_time": "2023-06-08T10:34:56+08:00", + "transaction_id": "4200000123202306081234567890", + "card_disabled_time": "2023-12-31T23:59:59+08:00", + "card_remark": "2023年1月差旅报销" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse.json new file mode 100644 index 00000000..ecf88b16 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse.json @@ -0,0 +1,21 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "card_no": "1068019671702503425", + "out_card_no": "mch_card_123456", + "employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c", + "card_template_id": "template_123", + "card_rule": "SINGLE", + "refund_rule": "RETURN", + "amount": 10000, + "remain_amount": 8000, + "effective_end_time": "2023-12-31T23:59:59+08:00", + "effective_begin_time": "2023-01-01T00:00:00+08:00", + "card_state": "ACTIVE", + "card_name": "报销额度卡", + "reason": "有效期结束", + "card_usage_time": "2023-06-08T10:34:56+08:00", + "transaction_id": "4200000123202306081234567890", + "card_disabled_time": "2023-12-31T23:59:59+08:00", + "card_remark": "2023年1月差旅报销" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse.json new file mode 100644 index 00000000..c6861e3a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse.json @@ -0,0 +1,11 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c", + "card_no": "1068019671702503425", + "expire_time": "2023-06-08T11:34:56+08:00", + "payment_url": "weixin://dl/liteapp?url=https%3A%2F%2Fliteapp.wxpapp.weixin.qq.com%2Fq%2FgjoM7g%3Ftoken%3D123%23wechat_pay", + "application_type": "H5", + "mp_query": "token=123", + "mp_business_type": "liteAppWebizPayRegister" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeRequest.json new file mode 100644 index 00000000..c72d7697 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeRequest.json @@ -0,0 +1,4 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeResponse.json new file mode 100644 index 00000000..8950f132 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Employees/RevokeGetWeBusinessPayEmployeeResponse.json @@ -0,0 +1,8 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "user_id": "employee123", + "authorization_state": "REVOKED", + "authorization_revoked_time": "2023-12-31T23:59:59+08:00", + "reason": "用户主动撤销" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchRequest.json new file mode 100644 index 00000000..387850c2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchRequest.json @@ -0,0 +1,11 @@ +{ + "sp_mchid": "12341234", + "out_batch_id": "batch12345678", + "match_details": [ + { + "organization_code": "91110000710926094P", + "store_name": "微信小店", + "product_type": "CODE_PAY" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchResponse.json new file mode 100644 index 00000000..3210bede --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/CreateWeBusinessPayStoreEntityMatchResponse.json @@ -0,0 +1,7 @@ +{ + "sp_mchid": "12341234", + "out_batch_id": "batch12345678", + "batch_id": "1030000071201xxxxx", + "time": "2023-06-08T10:34:56+08:00", + "state": "ACCEPTED" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdResponse.json new file mode 100644 index 00000000..5c19f3a6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Stores/GetWeBusinessPayStoreEntityMatchByBatchIdResponse.json @@ -0,0 +1,13 @@ +{ + "sp_mchid": "12341234", + "out_batch_id": "batch12345678", + "batch_id": "1030000071201xxxxx", + "state": "ACCEPTED", + "match_results": [ + { + "organization_code": "911100007109260000", + "store_name": "微信小店", + "has_valid_mchid": true + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateResponse.json new file mode 100644 index 00000000..ca9139bb --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationStateResponse.json @@ -0,0 +1,13 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "user_id": "employee123", + "employee_list": [ + { + "employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c", + "authorization_state": "AUTHORIZED", + "authorization_time": "2018-06-08T10:34:56+08:00", + "authorization_revoked_time": "2018-06-08T10:34:56+08:00" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlRequest.json new file mode 100644 index 00000000..8097800a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlRequest.json @@ -0,0 +1,5 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "application_type": "H5" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlResponse.json new file mode 100644 index 00000000..b016cc7a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/WeBusinessPay/Users/GetWeBusinessPayUserAuthorizationUrlResponse.json @@ -0,0 +1,10 @@ +{ + "sp_mchid": "12341234", + "sub_mchid": "43214321", + "user_id": "employee123", + "authorization_url": "weixin://dl/liteapp?url=https%3A%2F%2Fliteapp.wxpapp.weixin.qq.com%2Fq%2FgjoM7g%3Ftoken%3D123%23wechat_pay", + "expire_time": "2015-05-20T13:29:35+08:00", + "application_type": "H5", + "mp_query": "token=123", + "mp_business_type": "liteAppWebizPayRegister" +}