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"
+}