diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs deleted file mode 100644 index 1f6db1fb..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceApplymentsExtensions.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通进件相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceApplymentsExtensions - { - /// - /// 异步调用 [POST] /ecommerce/applyments/ 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceApplymentAsync(this WechatTenpayClient client, Models.CreateEcommerceApplymentRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - // NOTICE: 注意本接口 URL 结尾的反斜杠不能删除 - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "applyments/"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/applyments/{applyment_id} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceApplymentByApplymentIdAsync(this WechatTenpayClient client, Models.GetEcommerceApplymentByApplymentIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "applyments", request.ApplymentId.ToString()); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/applyments/out-request-no/{out_request_no} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceApplymentByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetEcommerceApplymentByOutRequestNumberRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "applyments", "out-request-no", request.OutRequestNumber); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs deleted file mode 100644 index 0e24114b..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceBillExtensions.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通账单相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceBillExtensions - { - /// - /// 异步调用 [GET] /ecommerce/bill/fundflowbill 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_9_5.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceBillFundflowBillAsync(this WechatTenpayClient client, Models.GetEcommerceBillFundflowBillRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "bill", "fundflowbill") - .SetQueryParam("bill_date", request.BillDateString) - .SetQueryParam("account_type", request.AccountType) - .SetQueryParam("algorithm", request.Algorithm); - - if (request.TarType != null) - flurlReq.SetQueryParam("tar_type", request.TarType); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs new file mode 100644 index 00000000..b0af692f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceExtensions.cs @@ -0,0 +1,561 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供电商收付通相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecuteEcommerceExtensions + { + #region Applyments + /// + /// 异步调用 [POST] /ecommerce/applyments/ 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceApplymentAsync(this WechatTenpayClient client, Models.CreateEcommerceApplymentRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + // NOTICE: 注意本接口 URL 结尾的反斜杠不能删除 + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "applyments/"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/applyments/{applyment_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceApplymentByApplymentIdAsync(this WechatTenpayClient client, Models.GetEcommerceApplymentByApplymentIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "applyments", request.ApplymentId.ToString()); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/applyments/out-request-no/{out_request_no} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceApplymentByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetEcommerceApplymentByOutRequestNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "applyments", "out-request-no", request.OutRequestNumber); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region Bill + /// + /// 异步调用 [GET] /ecommerce/bill/fundflowbill 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_9_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceBillFundflowBillAsync(this WechatTenpayClient client, Models.GetEcommerceBillFundflowBillRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "bill", "fundflowbill") + .SetQueryParam("bill_date", request.BillDateString) + .SetQueryParam("account_type", request.AccountType) + .SetQueryParam("algorithm", request.Algorithm); + + if (request.TarType != null) + flurlReq.SetQueryParam("tar_type", request.TarType); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region Fund + /// + /// 异步调用 [GET] /ecommerce/fund/balance/{sub_mchid} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_1.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_1.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter5_1.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter5_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceFundBalanceAsync(this WechatTenpayClient client, Models.GetEcommerceFundBalanceRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "balance", request.SubMerchantId); + + if (request.AccountType != null) + flurlReq.SetQueryParam("account_type", request.AccountType); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/fund/enddaybalance/{sub_mchid} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_2.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter5_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceFundDayendBalanceAsync(this WechatTenpayClient client, Models.GetEcommerceFundDayendBalanceRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "enddaybalance", request.SubMerchantId) + .SetQueryParam("date", request.DateString); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/fund/withdraw 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_2.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceFundWithdrawAsync(this WechatTenpayClient client, Models.CreateEcommerceFundWithdrawRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "fund", "withdraw") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/fund/withdraw/out-request-no/{out_request_no} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceFundWithdrawByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetEcommerceFundWithdrawByOutRequestNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "withdraw", "out-request-no", request.OutRequestNumber) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/fund/withdraw/{withdraw_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceFundWithdrawByWithdrawIdAsync(this WechatTenpayClient client, Models.GetEcommerceFundWithdrawByWithdrawIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "withdraw", request.WithdrawId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region ProfitSharing + /// + /// 异步调用 [POST] /ecommerce/profitsharing/orders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceProfitSharingOrderAsync(this WechatTenpayClient client, Models.CreateEcommerceProfitSharingOrderRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "orders") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/profitsharing/orders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceProfitSharingOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingOrderByOutOrderNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "orders") + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("transaction_id", request.TransactionId) + .SetQueryParam("out_order_no", request.OutOrderNumber); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/profitsharing/returnorders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceProfitSharingReturnOrderAsync(this WechatTenpayClient client, Models.CreateEcommerceProfitSharingReturnOrderRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "returnorders") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/profitsharing/returnorders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceProfitSharingReturnOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingReturnOrderByOutOrderNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("out_order_no", request.OutOrderNumber) + .SetQueryParam("out_return_no", request.OutReturnNumber); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/profitsharing/returnorders 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceProfitSharingReturnOrderByOrderIdAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingReturnOrderByOrderIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("order_id", request.OrderId) + .SetQueryParam("out_return_no", request.OutReturnNumber); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/profitsharing/finish-order 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteSetEcommerceProfitSharingOrderFinishAsync(this WechatTenpayClient client, Models.SetEcommerceProfitSharingOrderFinishRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "finish-order") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/profitsharing/orders/{transaction_id}/amounts 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_9.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceProfitSharingOrderAmountsAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingOrderAmountsRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "orders", request.TransactionId, "amounts") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/profitsharing/receivers/add 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_7.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteAddEcommerceProfitSharingReceiverAsync(this WechatTenpayClient client, Models.AddEcommerceProfitSharingReceiverRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "add") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/profitsharing/receivers/delete 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_8.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteDeleteEcommerceProfitSharingReceiverAsync(this WechatTenpayClient client, Models.DeleteEcommerceProfitSharingReceiverRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "delete") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region Refunds + /// + /// 异步调用 [POST] /ecommerce/refunds/apply 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceRefundAsync(this WechatTenpayClient client, Models.CreateEcommerceRefundRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "refunds", "apply") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceRefundByOutRefundNumberAsync(this WechatTenpayClient client, Models.GetEcommerceRefundByOutRefundNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/refunds/id/{refund_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceRefundByRefundIdAsync(this WechatTenpayClient client, Models.GetEcommerceRefundByRefundIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/refunds/{refund_id}/return-advance 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceRefundReturnAdvanceAsync(this WechatTenpayClient client, Models.CreateEcommerceRefundReturnAdvanceRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "refunds", request.RefundId, "return-advance") + ; + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /ecommerce/refunds/{refund_id}/return-advance 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetEcommerceRefundReturnAdvanceAsync(this WechatTenpayClient client, Models.GetEcommerceRefundReturnAdvanceRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", request.RefundId, "return-advance") + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region Subsidies + /// + /// 异步调用 [POST] /ecommerce/subsidies/create 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceSubsidyAsync(this WechatTenpayClient client, Models.CreateEcommerceSubsidyRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "create"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/subsidies/return 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateEcommerceSubsidyReturnAsync(this WechatTenpayClient client, Models.CreateEcommerceSubsidyReturnRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "return"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /ecommerce/subsidies/cancel 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCancelEcommerceSubsidyAsync(this WechatTenpayClient client, Models.CancelEcommerceSubsidyRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "cancel"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs deleted file mode 100644 index 4273d6cd..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundBalanceExtensions.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通二级商户余额相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceFundBalanceExtensions - { - /// - /// 异步调用 [GET] /ecommerce/fund/balance/{sub_mchid} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_1.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_1.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter5_1.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter5_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceFundBalanceAsync(this WechatTenpayClient client, Models.GetEcommerceFundBalanceRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "balance", request.SubMerchantId); - - if (request.AccountType != null) - flurlReq.SetQueryParam("account_type", request.AccountType); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/fund/enddaybalance/{sub_mchid} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_2.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter5_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceFundDayendBalanceAsync(this WechatTenpayClient client, Models.GetEcommerceFundDayendBalanceRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "enddaybalance", request.SubMerchantId) - .SetQueryParam("date", request.DateString); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs deleted file mode 100644 index 99a93028..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceFundWithdrawExtensions.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通二级商户提现相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceFundWithdrawExtensions - { - /// - /// 异步调用 [POST] /ecommerce/fund/withdraw 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_2.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceFundWithdrawAsync(this WechatTenpayClient client, Models.CreateEcommerceFundWithdrawRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "fund", "withdraw") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/fund/withdraw/out-request-no/{out_request_no} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceFundWithdrawByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetEcommerceFundWithdrawByOutRequestNumberRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "withdraw", "out-request-no", request.OutRequestNumber) - .SetQueryParam("sub_mchid", request.SubMerchantId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/fund/withdraw/{withdraw_id} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceFundWithdrawByWithdrawIdAsync(this WechatTenpayClient client, Models.GetEcommerceFundWithdrawByWithdrawIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "fund", "withdraw", request.WithdrawId) - .SetQueryParam("sub_mchid", request.SubMerchantId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs deleted file mode 100644 index bbc0ef92..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceProfitSharingExtensions.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通分账相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceProfitSharingExtensions - { - /// - /// 异步调用 [POST] /ecommerce/profitsharing/orders 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceProfitSharingOrderAsync(this WechatTenpayClient client, Models.CreateEcommerceProfitSharingOrderRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "orders") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/profitsharing/orders 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceProfitSharingOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingOrderByOutOrderNumberRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "orders") - .SetQueryParam("sub_mchid", request.SubMerchantId) - .SetQueryParam("transaction_id", request.TransactionId) - .SetQueryParam("out_order_no", request.OutOrderNumber); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/profitsharing/returnorders 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceProfitSharingReturnOrderAsync(this WechatTenpayClient client, Models.CreateEcommerceProfitSharingReturnOrderRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "returnorders") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/profitsharing/returnorders 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_4.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceProfitSharingReturnOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingReturnOrderByOutOrderNumberRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") - .SetQueryParam("sub_mchid", request.SubMerchantId) - .SetQueryParam("out_order_no", request.OutOrderNumber) - .SetQueryParam("out_return_no", request.OutReturnNumber); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/profitsharing/returnorders 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_4.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceProfitSharingReturnOrderByOrderIdAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingReturnOrderByOrderIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "returnorders") - .SetQueryParam("sub_mchid", request.SubMerchantId) - .SetQueryParam("order_id", request.OrderId) - .SetQueryParam("out_return_no", request.OutReturnNumber); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/profitsharing/finish-order 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_5.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteSetEcommerceProfitSharingOrderFinishAsync(this WechatTenpayClient client, Models.SetEcommerceProfitSharingOrderFinishRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "finish-order") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/profitsharing/orders/{transaction_id}/amounts 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_9.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceProfitSharingOrderAmountsAsync(this WechatTenpayClient client, Models.GetEcommerceProfitSharingOrderAmountsRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "profitsharing", "orders", request.TransactionId, "amounts") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/profitsharing/receivers/add 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_7.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteAddEcommerceProfitSharingReceiverAsync(this WechatTenpayClient client, Models.AddEcommerceProfitSharingReceiverRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "add") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/profitsharing/receivers/delete 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_8.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteDeleteEcommerceProfitSharingReceiverAsync(this WechatTenpayClient client, Models.DeleteEcommerceProfitSharingReceiverRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "profitsharing", "receivers", "delete") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs deleted file mode 100644 index 34389072..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceRefundsExtensions.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通退款相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceRefundsExtensions - { - /// - /// 异步调用 [POST] /ecommerce/refunds/apply 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceRefundAsync(this WechatTenpayClient client, Models.CreateEcommerceRefundRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "refunds", "apply") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/refunds/out-refund-no/{out_refund_no} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceRefundByOutRefundNumberAsync(this WechatTenpayClient client, Models.GetEcommerceRefundByOutRefundNumberRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", "out-refund-no", request.OutRefundNumber) - .SetQueryParam("sub_mchid", request.SubMerchantId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/refunds/id/{refund_id} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceRefundByRefundIdAsync(this WechatTenpayClient client, Models.GetEcommerceRefundByRefundIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", "id", request.RefundId) - .SetQueryParam("sub_mchid", request.SubMerchantId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/refunds/{refund_id}/return-advance 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_4.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceRefundReturnAdvanceAsync(this WechatTenpayClient client, Models.CreateEcommerceRefundReturnAdvanceRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "refunds", request.RefundId, "return-advance") - ; - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /ecommerce/refunds/{refund_id}/return-advance 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_5.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetEcommerceRefundReturnAdvanceAsync(this WechatTenpayClient client, Models.GetEcommerceRefundReturnAdvanceRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "ecommerce", "refunds", request.RefundId, "return-advance") - .SetQueryParam("sub_mchid", request.SubMerchantId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs deleted file mode 100644 index 45a17dc8..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteEcommerceSubsidiesExtensions.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通补差相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteEcommerceSubsidiesExtensions - { - /// - /// 异步调用 [POST] /ecommerce/subsidies/create 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceSubsidyAsync(this WechatTenpayClient client, Models.CreateEcommerceSubsidyRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "create"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/subsidies/return 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateEcommerceSubsidyReturnAsync(this WechatTenpayClient client, Models.CreateEcommerceSubsidyReturnRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "return"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /ecommerce/subsidies/cancel 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCancelEcommerceSubsidyAsync(this WechatTenpayClient client, Models.CancelEcommerceSubsidyRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "ecommerce", "subsidies", "cancel"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs deleted file mode 100644 index ecb2d937..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundBalanceExtensions.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通电商平台余额相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteMerchantFundBalanceExtensions - { - /// - /// 异步调用 [GET] /merchant/fund/balance/{account_type} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_3.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter5_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetMerchantFundBalanceAsync(this WechatTenpayClient client, Models.GetMerchantFundBalanceRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "balance", request.AccountType); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /merchant/fund/dayendbalance/{account_type} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_4.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter5_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetMerchantFundDayendBalanceAsync(this WechatTenpayClient client, Models.GetMerchantFundDayendBalanceRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "dayendbalance", request.AccountType) - .SetQueryParam("date", request.DateString); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundExtensions.cs new file mode 100644 index 00000000..3621e4a9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundExtensions.cs @@ -0,0 +1,195 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供电商收付通电商平台资金相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecuteMerchantFundExtensions + { + #region Balance + /// + /// 异步调用 [GET] /merchant/fund/balance/{account_type} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_3.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter5_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetMerchantFundBalanceAsync(this WechatTenpayClient client, Models.GetMerchantFundBalanceRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "balance", request.AccountType); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /merchant/fund/dayendbalance/{account_type} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_7_4.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter5_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetMerchantFundDayendBalanceAsync(this WechatTenpayClient client, Models.GetMerchantFundDayendBalanceRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "dayendbalance", request.AccountType) + .SetQueryParam("date", request.DateString); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region IncomeRecords + /// + /// 异步调用 [GET] /merchantfund/merchant/income-records 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter3_7.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter3_7.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteQueryMerchantFundMerchantIncomeRecordsAsync(this WechatTenpayClient client, Models.QueryMerchantFundMerchantIncomeRecordsRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchantfund", "merchant", "income-records") + .SetQueryParam("account_type", request.AccountType) + .SetQueryParam("date", request.DateString) + .SetQueryParam("limit", request.Limit); + + if (request.Offset != null) + flurlReq.SetQueryParam("offset", request.Offset); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /merchantfund/partner/income-records 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_6.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteQueryMerchantFundPartnerIncomeRecordsAsync(this WechatTenpayClient client, Models.QueryMerchantFundPartnerIncomeRecordsRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchantfund", "partner", "income-records") + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("account_type", request.AccountType) + .SetQueryParam("date", request.DateString) + .SetQueryParam("limit", request.Limit); + + if (request.Offset != null) + flurlReq.SetQueryParam("offset", request.Offset); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region Withdraw + /// + /// 异步调用 [POST] /merchant/fund/withdraw 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateMerchantFundWithdrawAsync(this WechatTenpayClient client, Models.CreateMerchantFundWithdrawRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "merchant", "fund", "withdraw"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /merchant/fund/withdraw/out-request-no/{out_request_no} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetMerchantFundWithdrawByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetMerchantFundWithdrawByOutRequestNumberRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", "out-request-no", request.OutRequestNumber); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /merchant/fund/withdraw/{withdraw_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetMerchantFundWithdrawByWithdrawIdAsync(this WechatTenpayClient client, Models.GetMerchantFundWithdrawByWithdrawIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", request.WithdrawId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /merchant/fund/withdraw/bill-type/{bill_type} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_4.shtml + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetMerchantFundWithdrawBillAsync(this WechatTenpayClient client, Models.GetMerchantFundWithdrawBillRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", "bill-type", request.BillType) + .SetQueryParam("bill_date", request.BillDateString); + + if (request.TarType != null) + flurlReq.SetQueryParam("tar_type", request.TarType); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundIncomeRecordsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundIncomeRecordsExtensions.cs deleted file mode 100644 index 7c15e5c7..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundIncomeRecordsExtensions.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供来账识别相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteMerchantFundIncomeRecordsExtensions - { - /// - /// 异步调用 [GET] /merchantfund/merchant/income-records 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter3_7.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer/chapter3_7.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteQueryMerchantFundMerchantIncomeRecordsAsync(this WechatTenpayClient client, Models.QueryMerchantFundMerchantIncomeRecordsRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchantfund", "merchant", "income-records") - .SetQueryParam("account_type", request.AccountType) - .SetQueryParam("date", request.DateString) - .SetQueryParam("limit", request.Limit); - - if (request.Offset != null) - flurlReq.SetQueryParam("offset", request.Offset); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /merchantfund/partner/income-records 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_6.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteQueryMerchantFundPartnerIncomeRecordsAsync(this WechatTenpayClient client, Models.QueryMerchantFundPartnerIncomeRecordsRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchantfund", "partner", "income-records") - .SetQueryParam("sub_mchid", request.SubMerchantId) - .SetQueryParam("account_type", request.AccountType) - .SetQueryParam("date", request.DateString) - .SetQueryParam("limit", request.Limit); - - if (request.Offset != null) - flurlReq.SetQueryParam("offset", request.Offset); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs deleted file mode 100644 index 8bd4438f..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantFundWithdrawExtensions.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供电商收付通电商平台提现相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecuteMerchantFundWithdrawExtensions - { - /// - /// 异步调用 [POST] /merchant/fund/withdraw 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_5.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteCreateMerchantFundWithdrawAsync(this WechatTenpayClient client, Models.CreateMerchantFundWithdrawRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "merchant", "fund", "withdraw"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /merchant/fund/withdraw/out-request-no/{out_request_no} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetMerchantFundWithdrawByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetMerchantFundWithdrawByOutRequestNumberRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", "out-request-no", request.OutRequestNumber); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /merchant/fund/withdraw/{withdraw_id} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetMerchantFundWithdrawByWithdrawIdAsync(this WechatTenpayClient client, Models.GetMerchantFundWithdrawByWithdrawIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", request.WithdrawId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /merchant/fund/withdraw/bill-type/{bill_type} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_8_4.shtml - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter6_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetMerchantFundWithdrawBillAsync(this WechatTenpayClient client, Models.GetMerchantFundWithdrawBillRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "merchant", "fund", "withdraw", "bill-type", request.BillType) - .SetQueryParam("bill_date", request.BillDateString); - - if (request.TarType != null) - flurlReq.SetQueryParam("tar_type", request.TarType); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreExtensions.cs similarity index 63% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreExtensions.cs index 91d59fd7..299beccc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreServiceOrderExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScoreExtensions.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; @@ -10,8 +10,109 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// /// 为 提供微信支付分相关的 API 扩展方法。 /// - public static class WechatTenpayClientExecutePayScoreServiceOrderExtensions + public static class WechatTenpayClientExecutePayScoreExtensions { + #region Permissions + /// + /// 异步调用 [POST] /payscore/permissions 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteApplyPayScorePermissionsAsync(this WechatTenpayClient client, Models.ApplyPayScorePermissionsRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "payscore", "permissions"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/permissions/authorization-code/{authorization_code} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.GetPayScorePermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "payscore", "permissions", "authorization-code", request.AuthorizationCode) + .SetQueryParam("service_id", request.ServiceId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/permissions/authorization-code/{authorization_code}/terminate 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteTerminatePayScorePermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.TerminatePayScorePermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "payscore", "permissions", "authorization-code", request.AuthorizationCode, "terminate"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/permissions/openid/{openid} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePermissionsByOpenIdAsync(this WechatTenpayClient client, Models.GetPayScorePermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "payscore", "permissions", "openid", request.OpenId!) + .SetQueryParam("appid", request.AppId) + .SetQueryParam("service_id", request.ServiceId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/permissions/openid/{openid}/terminate 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_6.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteTerminatePayScorePermissionsByOpenIdAsync(this WechatTenpayClient client, Models.TerminatePayScorePermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "payscore", "permissions", "openid", request.OpenId!, "terminate"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region ServiceOrder /// /// 异步调用 [POST] /payscore/serviceorder/direct-complete 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml @@ -188,5 +289,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerExtensions.cs similarity index 60% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerExtensions.cs index 298a245b..6f232b69 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerExtensions.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; @@ -10,8 +10,118 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 /// /// 为 提供微信支付分服务商相关的 API 扩展方法。 /// - public static class WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions + public static class WechatTenpayClientExecutePayScorePartnerExtensions { + #region Permissions + /// + /// 异步调用 [POST] /payscore/partner/permissions 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteApplyPayScorePartnerPermissionsAsync(this WechatTenpayClient client, Models.ApplyPayScorePartnerPermissionsRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/partner/permissions/authorization-code/{authorization_code} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePartnerPermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode) + .SetQueryParam("service_id", request.ServiceId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/partner/permissions/authorization-code/{authorization_code}/terminate 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteTerminatePayScorePartnerPermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode, "terminate"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/partner/permissions/search 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePartnerPermissionsByOpenIdAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "permissions", "search") + .SetQueryParam("service_id", request.ServiceId) + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("appid", request.AppId) + .SetQueryParam("sub_appid", request.SubAppId); + + if (request.OpenId != null) + flurlReq.SetQueryParam("openid", request.OpenId); + + if (request.SubOpenId != null) + flurlReq.SetQueryParam("sub_openid", request.SubOpenId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/partner/permissions/terminate 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteTerminatePayScorePartnerPermissionsByOpenIdAsync(this WechatTenpayClient client, Models.TerminatePayScorePartnerPermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) + { + if (client is null) throw new ArgumentNullException(nameof(client)); + if (request is null) throw new ArgumentNullException(nameof(request)); + + IFlurlRequest flurlReq = client + .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "terminate"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region ServiceOrder /// /// 异步调用 [POST] /payscore/partner/serviceorder 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_1.shtml @@ -169,5 +279,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs deleted file mode 100644 index 57f23049..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs +++ /dev/null @@ -1,122 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供微信支付分服务商(免确认模式)相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecutePayScorePartnerPermissionsExtensions - { - /// - /// 异步调用 [POST] /payscore/partner/permissions 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_1.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteApplyPayScorePartnerPermissionsAsync(this WechatTenpayClient client, Models.ApplyPayScorePartnerPermissionsRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /payscore/partner/permissions/authorization-code/{authorization_code} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetPayScorePartnerPermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode) - .SetQueryParam("service_id", request.ServiceId) - .SetQueryParam("sub_mchid", request.SubMerchantId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /payscore/partner/permissions/authorization-code/{authorization_code}/terminate 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_4.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteTerminatePayScorePartnerPermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode, "terminate"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /payscore/partner/permissions/search 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetPayScorePartnerPermissionsByOpenIdAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "payscore", "partner", "permissions", "search") - .SetQueryParam("service_id", request.ServiceId) - .SetQueryParam("sub_mchid", request.SubMerchantId) - .SetQueryParam("appid", request.AppId) - .SetQueryParam("sub_appid", request.SubAppId); - - if (request.OpenId != null) - flurlReq.SetQueryParam("openid", request.OpenId); - - if (request.SubOpenId != null) - flurlReq.SetQueryParam("sub_openid", request.SubOpenId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /payscore/partner/permissions/terminate 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_5.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteTerminatePayScorePartnerPermissionsByOpenIdAsync(this WechatTenpayClient client, Models.TerminatePayScorePartnerPermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "terminate"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs deleted file mode 100644 index 727d43ce..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs +++ /dev/null @@ -1,113 +0,0 @@ -using System; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; -using Flurl; -using Flurl.Http; - -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 -{ - /// - /// 为 提供微信支付分(免确认预授权模式)相关的 API 扩展方法。 - /// - public static class WechatTenpayClientExecutePayScorePermissionsExtensions - { - /// - /// 异步调用 [POST] /payscore/permissions 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteApplyPayScorePermissionsAsync(this WechatTenpayClient client, Models.ApplyPayScorePermissionsRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "payscore", "permissions"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /payscore/permissions/authorization-code/{authorization_code} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_3.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetPayScorePermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.GetPayScorePermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "payscore", "permissions", "authorization-code", request.AuthorizationCode) - .SetQueryParam("service_id", request.ServiceId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /payscore/permissions/authorization-code/{authorization_code}/terminate 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_4.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteTerminatePayScorePermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.TerminatePayScorePermissionsByAuthorizationCodeRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "payscore", "permissions", "authorization-code", request.AuthorizationCode, "terminate"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [GET] /payscore/permissions/openid/{openid} 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_5.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteGetPayScorePermissionsByOpenIdAsync(this WechatTenpayClient client, Models.GetPayScorePermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Get, "payscore", "permissions", "openid", request.OpenId!) - .SetQueryParam("appid", request.AppId) - .SetQueryParam("service_id", request.ServiceId); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - - /// - /// 异步调用 [POST] /payscore/permissions/openid/{openid}/terminate 接口。 - /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_6.shtml - /// - /// - /// - /// - /// - public static async Task ExecuteTerminatePayScorePermissionsByOpenIdAsync(this WechatTenpayClient client, Models.TerminatePayScorePermissionsByOpenIdRequest request, CancellationToken cancellationToken = default) - { - if (client is null) throw new ArgumentNullException(nameof(client)); - if (request is null) throw new ArgumentNullException(nameof(request)); - - IFlurlRequest flurlReq = client - .CreateRequest(request, HttpMethod.Post, "payscore", "permissions", "openid", request.OpenId!, "terminate"); - - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/CreateEcommerceApplymentRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/CreateEcommerceApplymentRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/CreateEcommerceApplymentResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/CreateEcommerceApplymentResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/CreateEcommerceApplymentResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByApplymentIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByApplymentIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByApplymentIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByApplymentIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByApplymentIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByApplymentIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByApplymentIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByApplymentIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByOutRequestNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByOutRequestNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByOutRequestNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByOutRequestNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByOutRequestNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByOutRequestNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceApplyments/GetEcommerceApplymentByOutRequestNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Applyments/GetEcommerceApplymentByOutRequestNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceBill/GetEcommerceBillFundflowBillRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Bill/GetEcommerceBillFundflowBillRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceBill/GetEcommerceBillFundflowBillRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Bill/GetEcommerceBillFundflowBillRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceBill/GetEcommerceBillFundflowBillResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Bill/GetEcommerceBillFundflowBillResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceBill/GetEcommerceBillFundflowBillResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Bill/GetEcommerceBillFundflowBillResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundBalanceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundBalanceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundBalanceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundBalanceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundBalanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundBalanceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundBalanceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundBalanceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundDayendBalanceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundDayendBalanceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundDayendBalanceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundDayendBalanceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundDayendBalanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundDayendBalanceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundBalance/GetEcommerceFundDayendBalanceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Balance/GetEcommerceFundDayendBalanceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/CreateEcommerceFundWithdrawRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/CreateEcommerceFundWithdrawRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/CreateEcommerceFundWithdrawResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/CreateEcommerceFundWithdrawResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByOutRequestNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByOutRequestNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByOutRequestNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByOutRequestNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByWithdrawIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByWithdrawIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByWithdrawIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByWithdrawIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceFundWithdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/CreateEcommerceRefundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/CreateEcommerceRefundRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/CreateEcommerceRefundRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/CreateEcommerceRefundRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/CreateEcommerceRefundResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/CreateEcommerceRefundResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/CreateEcommerceRefundResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/CreateEcommerceRefundResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByOutRefundNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByOutRefundNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByOutRefundNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByOutRefundNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByRefundIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByRefundIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByRefundIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByRefundIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByRefundIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByRefundIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/GetEcommerceRefundByRefundIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/GetEcommerceRefundByRefundIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceRefunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Refunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CancelEcommerceSubsidyRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CancelEcommerceSubsidyRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CancelEcommerceSubsidyRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CancelEcommerceSubsidyRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CancelEcommerceSubsidyResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CancelEcommerceSubsidyResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CancelEcommerceSubsidyResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CancelEcommerceSubsidyResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyReturnRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyReturnRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyReturnResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/EcommerceSubsidies/CreateEcommerceSubsidyReturnResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundBalanceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundBalanceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundBalanceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundBalanceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundBalanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundBalanceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundBalanceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundBalanceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundDayendBalanceRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundDayendBalanceRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundDayendBalanceRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundDayendBalanceRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundDayendBalanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundDayendBalanceResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundBalance/GetMerchantFundDayendBalanceResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Balance/GetMerchantFundDayendBalanceResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundPartnerIncomeRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundPartnerIncomeRecordsRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundPartnerIncomeRecordsRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundPartnerIncomeRecordsRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundIncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/Bill/GetMerchantFundWithdrawBillRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/Bill/GetMerchantFundWithdrawBillRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/Bill/GetMerchantFundWithdrawBillRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/Bill/GetMerchantFundWithdrawBillRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/Bill/GetMerchantFundWithdrawBillResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/Bill/GetMerchantFundWithdrawBillResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/Bill/GetMerchantFundWithdrawBillResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/Bill/GetMerchantFundWithdrawBillResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/CreateMerchantFundWithdrawRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/CreateMerchantFundWithdrawRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/CreateMerchantFundWithdrawRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/CreateMerchantFundWithdrawRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/CreateMerchantFundWithdrawResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/CreateMerchantFundWithdrawResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/CreateMerchantFundWithdrawResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/CreateMerchantFundWithdrawResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByOutRequestNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByOutRequestNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByOutRequestNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByOutRequestNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByWithdrawIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByWithdrawIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByWithdrawIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByWithdrawIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByWithdrawIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByWithdrawIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFundWithdraw/GetMerchantFundWithdrawByWithdrawIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/Withdraw/GetMerchantFundWithdrawByWithdrawIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/ApplyPayScorePermissionsRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/ApplyPayScorePermissionsRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/ApplyPayScorePermissionsResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/ApplyPayScorePermissionsResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByOpenIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByOpenIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByOpenIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/GetPayScorePermissionsByOpenIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByAuthorizationCodeResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByAuthorizationCodeResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByAuthorizationCodeResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByOpenIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByOpenIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByOpenIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/Permissions/TerminatePayScorePermissionsByOpenIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CancelPayScoreServiceOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CancelPayScoreServiceOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CancelPayScoreServiceOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CancelPayScoreServiceOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/CreatePayScoreServiceOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/ModifyPayScoreServiceOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/ModifyPayScoreServiceOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/ModifyPayScoreServiceOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/ModifyPayScoreServiceOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderPayRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderPayRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderPayResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderPayResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/CreateEcommerceApplymentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/CreateEcommerceApplymentRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/CreateEcommerceApplymentRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/CreateEcommerceApplymentRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/CreateEcommerceApplymentResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/CreateEcommerceApplymentResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/CreateEcommerceApplymentResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/CreateEcommerceApplymentResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/GetEcommerceApplymentByApplymentIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/GetEcommerceApplymentByApplymentIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/GetEcommerceApplymentByApplymentIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/GetEcommerceApplymentByApplymentIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/GetEcommerceApplymentByOutRequestNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/GetEcommerceApplymentByOutRequestNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceApplyments/GetEcommerceApplymentByOutRequestNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Applyments/GetEcommerceApplymentByOutRequestNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceBill/GetEcommerceBillFundflowBillResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Bill/GetEcommerceBillFundflowBillResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceBill/GetEcommerceBillFundflowBillResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Bill/GetEcommerceBillFundflowBillResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundBalance/GetEcommerceFundBalanceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Balance/GetEcommerceFundBalanceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundBalance/GetEcommerceFundBalanceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Balance/GetEcommerceFundBalanceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundBalance/GetEcommerceFundDayendBalanceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Balance/GetEcommerceFundDayendBalanceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundBalance/GetEcommerceFundDayendBalanceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Balance/GetEcommerceFundDayendBalanceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/CreateEcommerceFundWithdrawRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/CreateEcommerceFundWithdrawRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/CreateEcommerceFundWithdrawResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/CreateEcommerceFundWithdrawResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/CreateEcommerceFundWithdrawResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByOutRequestNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceFundWithdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Fund/Withdraw/GetEcommerceFundWithdrawByWithdrawIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Amounts/GetEcommerceProfitSharingOrderAmountsResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingOrderResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingOrderResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/CreateEcommerceProfitSharingReturnOrderResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/GetEcommerceProfitSharingOrderByOutOrderNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOrderIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/GetEcommerceProfitSharingReturnOrderByOutOrderNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/AddEcommerceProfitSharingReceiverResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/Receivers/DeleteEcommerceProfitSharingReceiverResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/ProfitSharing/SetEcommerceProfitSharingOrderFinishResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/CreateEcommerceRefundRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/CreateEcommerceRefundRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/CreateEcommerceRefundRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/CreateEcommerceRefundRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/CreateEcommerceRefundResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/CreateEcommerceRefundResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/CreateEcommerceRefundResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/CreateEcommerceRefundResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/GetEcommerceRefundByOutRefundNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/GetEcommerceRefundByOutRefundNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/GetEcommerceRefundByOutRefundNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/GetEcommerceRefundByRefundIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/GetEcommerceRefundByRefundIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/GetEcommerceRefundByRefundIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/GetEcommerceRefundByRefundIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/ReturnAdvance/CreateEcommerceRefundReturnAdvanceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceRefunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Refunds/ReturnAdvance/GetEcommerceRefundReturnAdvanceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CancelEcommerceSubsidyRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CancelEcommerceSubsidyRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CancelEcommerceSubsidyRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CancelEcommerceSubsidyRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CancelEcommerceSubsidyResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CancelEcommerceSubsidyResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CancelEcommerceSubsidyResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CancelEcommerceSubsidyResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyReturnRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyReturnRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyReturnResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/EcommerceSubsidies/CreateEcommerceSubsidyReturnResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Ecommerce/Subsidies/CreateEcommerceSubsidyReturnResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundBalance/GetMerchantFundBalanceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Balance/GetMerchantFundBalanceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundBalance/GetMerchantFundBalanceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Balance/GetMerchantFundBalanceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundBalance/GetMerchantFundDayendBalanceResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Balance/GetMerchantFundDayendBalanceResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundBalance/GetMerchantFundDayendBalanceResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Balance/GetMerchantFundDayendBalanceResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundIncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundIncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundIncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/IncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundIncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/IncomeRecords/QueryMerchantFundPartnerIncomeRecordsResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/Bill/GetMerchantFundWithdrawBillResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/Bill/GetMerchantFundWithdrawBillResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/Bill/GetMerchantFundWithdrawBillResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/Bill/GetMerchantFundWithdrawBillResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/CreateMerchantFundWithdrawRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/CreateMerchantFundWithdrawRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/CreateMerchantFundWithdrawRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/CreateMerchantFundWithdrawRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/CreateMerchantFundWithdrawResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/CreateMerchantFundWithdrawResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/CreateMerchantFundWithdrawResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/CreateMerchantFundWithdrawResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/GetMerchantFundWithdrawByOutRequestNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/GetMerchantFundWithdrawByWithdrawIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/GetMerchantFundWithdrawByWithdrawIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFundWithdraw/GetMerchantFundWithdrawByWithdrawIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MerchantFund/Withdraw/GetMerchantFundWithdrawByWithdrawIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/ApplyPayScorePermissionsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/ApplyPayScorePermissionsRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/ApplyPayScorePermissionsRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/ApplyPayScorePermissionsRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/ApplyPayScorePermissionsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/ApplyPayScorePermissionsResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/ApplyPayScorePermissionsResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/ApplyPayScorePermissionsResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/GetPayScorePermissionsByAuthorizationCodeResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/GetPayScorePermissionsByOpenIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/GetPayScorePermissionsByOpenIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/GetPayScorePermissionsByOpenIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/GetPayScorePermissionsByOpenIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/TerminatePayScorePermissionsByAuthorizationCodeRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/TerminatePayScorePermissionsByOpenIdRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/Permissions/TerminatePayScorePermissionsByOpenIdRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CancelPayScoreServiceOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CancelPayScoreServiceOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CancelPayScoreServiceOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CancelPayScoreServiceOrderResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CancelPayScoreServiceOrderResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CancelPayScoreServiceOrderResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderDirectCompleteResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/CreatePayScoreServiceOrderResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/GetPayScoreServiceOrderByQueryIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/ModifyPayScoreServiceOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/ModifyPayScoreServiceOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/ModifyPayScoreServiceOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/ModifyPayScoreServiceOrderResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/ModifyPayScoreServiceOrderResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/ModifyPayScoreServiceOrderResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderCompleteResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderPayRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderPayRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderPayResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderPayResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderPayResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderPayResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderSyncResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScoreServiceOrder/SetPayScoreServiceOrderSyncResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScore/ServiceOrder/SetPayScoreServiceOrderSyncResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/ApplyPayScorePartnerPermissionsResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByOpenIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/GetPayScorePartnerPermissionsByOpenIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/Permissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/CancelPayScorePartnerServiceOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/CancelPayScorePartnerServiceOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/CreatePayScorePartnerServiceOrderResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/ModifyPayScorePartnerServiceOrderRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/ModifyPayScorePartnerServiceOrderRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderPayRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderPayRequest.json diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.json rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/PayScorePartner/ServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.json