diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBankTransferExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBankTransferExtensions.cs
new file mode 100644
index 00000000..e2f50291
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBankTransferExtensions.cs
@@ -0,0 +1,210 @@
+using System;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+using Flurl;
+using Flurl.Http;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
+{
+ public static class WechatTenpayClientExecuteBankTransferExtensions
+ {
+ #region Batches
+ ///
+ /// 异步调用 [POST] /bank-transfer/batches 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_2_1.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateBankTransferBatchAsync(this WechatTenpayClient client, Models.CreateBankTransferBatchRequest 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, "bank-transfer", "batches");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /bank-transfer/batches/out-batch-no/{out_batch_no} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_4.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBankTransferBatchByOutBatchNumberAsync(this WechatTenpayClient client, Models.GetBankTransferBatchByOutBatchNumberRequest 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, "bank-transfer", "batches", "out-batch-no", request.OutBatchNumber)
+ .SetQueryParam("need_query_detail", request.RequireQueryDetail);
+
+ if (request.DetailStatus != null)
+ flurlReq.SetQueryParam("detail_status", request.DetailStatus);
+
+ if (request.Offset != null)
+ flurlReq.SetQueryParam("offset", request.Offset.Value);
+
+ if (request.Limit != null)
+ flurlReq.SetQueryParam("limit", request.Limit.Value);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /bank-transfer/batches/batch-id/{batch_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_2_2.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBankTransferBatchByBatchIdAsync(this WechatTenpayClient client, Models.GetBankTransferBatchByBatchIdRequest 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, "bank-transfer", "batches", "batch-id", request.BatchId)
+ .SetQueryParam("need_query_detail", request.RequireQueryDetail);
+
+ if (request.DetailStatus != null)
+ flurlReq.SetQueryParam("detail_state", request.DetailStatus);
+
+ if (request.Offset != null)
+ flurlReq.SetQueryParam("offset", request.Offset.Value);
+
+ if (request.Limit != null)
+ flurlReq.SetQueryParam("limit", request.Limit.Value);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /bank-transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_5.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBankTransferBatchDetailByOutDetailNumberAsync(this WechatTenpayClient client, Models.GetBankTransferBatchDetailByOutDetailNumberRequest 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, "bank-transfer", "batches", "out-batch-no", request.OutBatchNumber, "details", "out-detail-no", request.OutDetailNumber);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /bank-transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_3.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBankTransferBatchDetailByDetailIdAsync(this WechatTenpayClient client, Models.GetBankTransferBatchDetailByDetailIdRequest 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, "bank-transfer", "batches", "batch-id", request.BatchId, "details", "detail-id", request.DetailId);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ #endregion
+
+ #region Receipt
+ ///
+ /// 异步调用 [POST] /bank-batch-transfer/receipt/summary-receipts 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_2_6.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateBankBatchTransferSummaryReceiptAsync(this WechatTenpayClient client, Models.CreateBankBatchTransferSummaryReceiptRequest 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, "bank-batch-transfer", "receipt", "summary-receipts");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /bank-batch-transfer/receipt/summary-receipts 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_2_7.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBankBatchTransferSummaryReceiptByOutBatchNumberAsync(this WechatTenpayClient client, Models.GetBankBatchTransferSummaryReceiptByOutBatchNumberRequest 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, "bank-batch-transfer", "receipt", "summary-receipts")
+ .SetQueryParam("out_batch_no", request.OutBatchNumber);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /bank-batch-transfer/receipt/detail-receipts 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_2_8.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateBankBatchTransferDetailReceiptAsync(this WechatTenpayClient client, Models.CreateBankBatchTransferDetailReceiptRequest 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, "bank-batch-transfer", "receipt", "detail-receipts");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [GET] /bank-batch-transfer/receipt/detail-receipts 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_2_9.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBankBatchTransferDetailReceiptByOutDetailNumberAsync(this WechatTenpayClient client, Models.GetBankBatchTransferDetailReceiptByOutDetailNumberRequest 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, "bank-batch-transfer", "receipt", "detail-receipts")
+ .SetQueryParam("out_batch_no", request.OutBatchNumber)
+ .SetQueryParam("out_detail_no", request.OutDetailNumber);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ #endregion
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerTransferExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerTransferExtensions.cs
index f1151241..f6afbcf3 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerTransferExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePartnerTransferExtensions.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
@@ -29,54 +29,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
- ///
- /// 异步调用 [GET] /partner-transfer/batches/batch-id/{batch_id} 接口。
- /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_2.shtml
- ///
- ///
- ///
- ///
- ///
- public static async Task ExecuteGetPartnerTransferBatchByBatchIdAsync(this WechatTenpayClient client, Models.GetPartnerTransferBatchByBatchIdRequest 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, "partner-transfer", "batches", "batch-id", request.BatchId)
- .SetQueryParam("need_query_detail", request.RequireQueryDetail);
-
- if (request.DetailStatus != null)
- flurlReq.SetQueryParam("detail_status", request.DetailStatus);
-
- if (request.Offset != null)
- flurlReq.SetQueryParam("offset", request.Offset.Value);
-
- if (request.Limit != null)
- flurlReq.SetQueryParam("limit", request.Limit.Value);
-
- return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
- }
-
- ///
- /// 异步调用 [GET] /partner-transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口。
- /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_3.shtml
- ///
- ///
- ///
- ///
- ///
- public static async Task ExecuteGetPartnerTransferBatchDetailByDetailIdAsync(this WechatTenpayClient client, Models.GetPartnerTransferBatchDetailByDetailIdRequest 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, "partner-transfer", "batches", "batch-id", request.BatchId, "details", "detail-id", request.DetailId);
-
- return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
- }
-
///
/// 异步调用 [GET] /partner-transfer/batches/out-batch-no/{out_batch_no} 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_4.shtml
@@ -106,6 +58,35 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+ ///
+ /// 异步调用 [GET] /partner-transfer/batches/batch-id/{batch_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_2.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetPartnerTransferBatchByBatchIdAsync(this WechatTenpayClient client, Models.GetPartnerTransferBatchByBatchIdRequest 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, "partner-transfer", "batches", "batch-id", request.BatchId)
+ .SetQueryParam("need_query_detail", request.RequireQueryDetail);
+
+ if (request.DetailStatus != null)
+ flurlReq.SetQueryParam("detail_status", request.DetailStatus);
+
+ if (request.Offset != null)
+ flurlReq.SetQueryParam("offset", request.Offset.Value);
+
+ if (request.Limit != null)
+ flurlReq.SetQueryParam("limit", request.Limit.Value);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
///
/// 异步调用 [GET] /partner-transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no} 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_5.shtml
@@ -124,6 +105,25 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+
+ ///
+ /// 异步调用 [GET] /partner-transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transfer_partner/chapter3_3.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetPartnerTransferBatchDetailByDetailIdAsync(this WechatTenpayClient client, Models.GetPartnerTransferBatchDetailByDetailIdRequest 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, "partner-transfer", "batches", "batch-id", request.BatchId, "details", "detail-id", request.DetailId);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
#endregion
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteTransferExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteTransferExtensions.cs
index 4a2919b4..bb75afe1 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteTransferExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteTransferExtensions.cs
@@ -29,54 +29,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
- ///
- /// 异步调用 [GET] /transfer/batches/batch-id/{batch_id} 接口。
- /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_2.shtml
- ///
- ///
- ///
- ///
- ///
- public static async Task ExecuteGetTransferBatchByBatchIdAsync(this WechatTenpayClient client, Models.GetTransferBatchByBatchIdRequest 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, "transfer", "batches", "batch-id", request.BatchId)
- .SetQueryParam("need_query_detail", request.RequireQueryDetail);
-
- if (request.DetailStatus != null)
- flurlReq.SetQueryParam("detail_status", request.DetailStatus);
-
- if (request.Offset != null)
- flurlReq.SetQueryParam("offset", request.Offset.Value);
-
- if (request.Limit != null)
- flurlReq.SetQueryParam("limit", request.Limit.Value);
-
- return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
- }
-
- ///
- /// 异步调用 [GET] /transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口。
- /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_2.shtml
- ///
- ///
- ///
- ///
- ///
- public static async Task ExecuteGetTransferBatchDetailByDetailIdAsync(this WechatTenpayClient client, Models.GetTransferBatchDetailByDetailIdRequest 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, "transfer", "batches", "batch-id", request.BatchId, "details", "detail-id", request.DetailId);
-
- return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
- }
-
///
/// 异步调用 [GET] /transfer/batches/out-batch-no/{out_batch_no} 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_5.shtml
@@ -106,6 +58,35 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+ ///
+ /// 异步调用 [GET] /transfer/batches/batch-id/{batch_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_2.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetTransferBatchByBatchIdAsync(this WechatTenpayClient client, Models.GetTransferBatchByBatchIdRequest 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, "transfer", "batches", "batch-id", request.BatchId)
+ .SetQueryParam("need_query_detail", request.RequireQueryDetail);
+
+ if (request.DetailStatus != null)
+ flurlReq.SetQueryParam("detail_status", request.DetailStatus);
+
+ if (request.Offset != null)
+ flurlReq.SetQueryParam("offset", request.Offset.Value);
+
+ if (request.Limit != null)
+ flurlReq.SetQueryParam("limit", request.Limit.Value);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
///
/// 异步调用 [GET] /transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no} 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_6.shtml
@@ -124,6 +105,25 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+
+ ///
+ /// 异步调用 [GET] /transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_2.shtml
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetTransferBatchDetailByDetailIdAsync(this WechatTenpayClient client, Models.GetTransferBatchDetailByDetailIdRequest 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, "transfer", "batches", "batch-id", request.BatchId, "details", "detail-id", request.DetailId);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
#endregion
#region BillReceipt
@@ -168,7 +168,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
}
#endregion
- #region Detail
+ #region DetailReceipt
///
/// 异步调用 [POST] /transfer-detail/electronic-receipts 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter4_3_9.shtml
@@ -214,8 +214,5 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
-
- #region Transfer
- #endregion
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/CreateTransferDetailElectronicReceiptRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/CreateTransferDetailElectronicReceiptRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/CreateTransferDetailElectronicReceiptResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/CreateTransferDetailElectronicReceiptResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/GetTransferDetailElectronicReceiptByOutDetailNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/GetTransferDetailElectronicReceiptByOutDetailNumberRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/GetTransferDetailElectronicReceiptByOutDetailNumberRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/GetTransferDetailElectronicReceiptByOutDetailNumberRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Detail/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/DetailReceipt/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_AcquiringBank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/CreateBankTransferBatchRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/CreateBankTransferBatchRequest.cs
new file mode 100644
index 00000000..7c8b7e0e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/CreateBankTransferBatchRequest.cs
@@ -0,0 +1,115 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /bank-transfer/batches 接口的请求。
+ ///
+ public class CreateBankTransferBatchRequest : WechatTenpayRequest
+ {
+ public static class Types
+ {
+ public class TransferDetail : CreateTransferBatchRequest.Types.TransferDetail
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置服务平台商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("platform_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("platform_mchid")]
+ public string PlatformMerchantId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置付款企业商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("specialized_payment_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("specialized_payment_mchid")]
+ public string SpecializedPaymentMerchantId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置实际出资商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("sponsor_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sponsor_mchid")]
+ public string SponsorMerchantId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置用户授权商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_mchid")]
+ public string UserAuthorizedMerchantId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置用户授权 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_appid")]
+ public string UserAuthorizedAppId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置批次名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_name")]
+ public string BatchName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置批次备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_remark")]
+ public string BatchRemark { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置附加信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("attach_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("attach_remark")]
+ public string? Attachment { get; set; }
+
+ ///
+ /// 获取或设置转账总金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_amount")]
+ public int TotalAmount { get; set; }
+
+ ///
+ /// 获取或设置转账总笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置转账明细列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_detail_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_detail_list")]
+ public IList TransferDetailList { get; set; } = new List();
+
+ ///
+ /// 获取或设置转账场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_scene")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_scene")]
+ public string? TransferScene { get; set; }
+
+ ///
+ /// 获取或设置转账用途。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_purpose")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_purpose")]
+ public string? TransferPurpose { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/CreateBankTransferBatchResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/CreateBankTransferBatchResponse.cs
new file mode 100644
index 00000000..8ee97081
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/CreateBankTransferBatchResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /bank-transfer/batches 接口的响应。
+ ///
+ public class CreateBankTransferBatchResponse : CreateTransferBatchResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdRequest.cs
new file mode 100644
index 00000000..a8610ff2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/batch-id/{batch_id} 接口的请求。
+ ///
+ public class GetBankTransferBatchByBatchIdRequest : GetTransferBatchByBatchIdRequest
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdResponse.cs
new file mode 100644
index 00000000..156c9acf
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdResponse.cs
@@ -0,0 +1,189 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/batch-id/{batch_id} 接口的响应。
+ ///
+ public class GetBankTransferBatchByBatchIdResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class TransferDetail : GetBankTransferBatchByOutBatchNumberResponse.Types.TransferDetail
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置银行服务商号。
+ ///
+ [Newtonsoft.Json.JsonProperty("bank_sp_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("bank_sp_mchid")]
+ public string BankMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置服务平台商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("platform_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("platform_mchid")]
+ public string PlatformMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款企业商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("specialized_payment_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("specialized_payment_mchid")]
+ public string SpecializedPaymentMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置实际出资商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("sponsor_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sponsor_mchid")]
+ public string SponsorMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置用户授权商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_mchid")]
+ public string UserAuthorizedMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置用户授权 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_appid")]
+ public string UserAuthorizedAppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_id")]
+ public string BatchId { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_state")]
+ public string BatchStatus { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_name")]
+ public string BatchName { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_remark")]
+ public string BatchRemark { get; set; } = default!;
+
+ ///
+ /// 获取或设置附加信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("attach_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("attach_remark")]
+ public string? Attachment { get; set; }
+
+ ///
+ /// 获取或设置批次关闭原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("close_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("close_reason")]
+ public string? CloseReason { get; set; }
+
+ ///
+ /// 获取或设置转账总金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_amount")]
+ public int TotalAmount { get; set; }
+
+ ///
+ /// 获取或设置转账总笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置批次创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset CreateTime { get; set; }
+
+ ///
+ /// 获取或设置批次更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? UpdateTime { get; set; }
+
+ ///
+ /// 获取或设置转账成功金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("success_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("success_amount")]
+ public int SuccessAmount { get; set; }
+
+ ///
+ /// 获取或设置转账成功笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("success_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("success_count")]
+ public int SuccessCount { get; set; }
+
+ ///
+ /// 获取或设置转账失败金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("fail_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("fail_amount")]
+ public int FailAmount { get; set; }
+
+ ///
+ /// 获取或设置转账失败笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("fail_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("fail_count")]
+ public int FailCount { get; set; }
+
+ ///
+ /// 获取或设置转账场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_scene")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_scene")]
+ public string? TransferScene { get; set; }
+
+ ///
+ /// 获取或设置转账用途。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_purpose")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_purpose")]
+ public string? TransferPurpose { get; set; }
+
+ ///
+ /// 获取或设置转账明细单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_detail_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_detail_list")]
+ public Types.TransferDetail[]? TransferDetailList { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberRequest.cs
new file mode 100644
index 00000000..cae64042
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/out-batch-no/{out_batch_no} 接口的请求。
+ ///
+ public class GetBankTransferBatchByOutBatchNumberRequest : GetTransferBatchByOutBatchNumberRequest
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberResponse.cs
new file mode 100644
index 00000000..1ba2558b
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberResponse.cs
@@ -0,0 +1,216 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/out-batch-no/{out_batch_no} 接口的响应。
+ ///
+ public class GetBankTransferBatchByOutBatchNumberResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class TransferDetail
+ {
+ ///
+ /// 获取或设置商户明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_detail_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_detail_no")]
+ public string OutDetailNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("detail_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("detail_id")]
+ public string DetailId { get; set; } = default!;
+
+ ///
+ /// 获取或设置明细状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("detail_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("detail_state")]
+ public string DetailStatus { get; set; } = default!;
+
+ ///
+ /// 获取或设置失败原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("fail_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("fail_reason")]
+ public string? FailReason { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置银行服务商号。
+ ///
+ [Newtonsoft.Json.JsonProperty("bank_sp_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("bank_sp_mchid")]
+ public string BankMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置服务平台商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("platform_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("platform_mchid")]
+ public string PlatformMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款企业商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("specialized_payment_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("specialized_payment_mchid")]
+ public string SpecializedPaymentMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置实际出资商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("sponsor_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sponsor_mchid")]
+ public string SponsorMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置用户授权商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_mchid")]
+ public string UserAuthorizedMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置用户授权 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_appid")]
+ public string UserAuthorizedAppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_id")]
+ public string BatchId { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_state")]
+ public string BatchStatus { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_name")]
+ public string BatchName { get; set; } = default!;
+
+ ///
+ /// 获取或设置批次备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_remark")]
+ public string BatchRemark { get; set; } = default!;
+
+ ///
+ /// 获取或设置附加信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("attach_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("attach_remark")]
+ public string? Attachment { get; set; }
+
+ ///
+ /// 获取或设置批次关闭原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("close_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("close_reason")]
+ public string? CloseReason { get; set; }
+
+ ///
+ /// 获取或设置转账总金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_amount")]
+ public int TotalAmount { get; set; }
+
+ ///
+ /// 获取或设置转账总笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+
+ ///
+ /// 获取或设置批次创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset CreateTime { get; set; }
+
+ ///
+ /// 获取或设置批次更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? UpdateTime { get; set; }
+
+ ///
+ /// 获取或设置转账成功金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("success_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("success_amount")]
+ public int SuccessAmount { get; set; }
+
+ ///
+ /// 获取或设置转账成功笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("success_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("success_count")]
+ public int SuccessCount { get; set; }
+
+ ///
+ /// 获取或设置转账失败金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("fail_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("fail_amount")]
+ public int FailAmount { get; set; }
+
+ ///
+ /// 获取或设置转账失败笔数。
+ ///
+ [Newtonsoft.Json.JsonProperty("fail_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("fail_count")]
+ public int FailCount { get; set; }
+
+ ///
+ /// 获取或设置转账场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_scene")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_scene")]
+ public string? TransferScene { get; set; }
+
+ ///
+ /// 获取或设置转账用途。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_purpose")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_purpose")]
+ public string? TransferPurpose { get; set; }
+
+ ///
+ /// 获取或设置转账明细单列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_detail_list")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_detail_list")]
+ public Types.TransferDetail[]? TransferDetailList { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdRequest.cs
new file mode 100644
index 00000000..08907feb
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口的请求。
+ ///
+ public class GetBankTransferBatchDetailByDetailIdRequest : GetTransferBatchDetailByDetailIdRequest
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdResponse.cs
new file mode 100644
index 00000000..c74d641c
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/batch-id/{batch_id}/details/detail-id/{detail_id} 接口的响应。
+ ///
+ public class GetBankTransferBatchDetailByDetailIdResponse : GetBankTransferBatchDetailByOutDetailNumberResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberRequest.cs
new file mode 100644
index 00000000..4dee1145
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberRequest.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no} 接口的请求。
+ ///
+ public class GetBankTransferBatchDetailByOutDetailNumberRequest : GetTransferBatchDetailByOutDetailNumberRequest
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberResponse.cs
new file mode 100644
index 00000000..6c2cfac0
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberResponse.cs
@@ -0,0 +1,171 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no} 接口的响应。
+ ///
+ [WechatTenpaySensitive]
+ public class GetBankTransferBatchDetailByOutDetailNumberResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置银行服务商号。
+ ///
+ [Newtonsoft.Json.JsonProperty("bank_sp_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("bank_sp_mchid")]
+ public string BankMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置服务平台商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("platform_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("platform_mchid")]
+ public string PlatformMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置付款企业商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("specialized_payment_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("specialized_payment_mchid")]
+ public string SpecializedPaymentMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置实际出资商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("sponsor_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sponsor_mchid")]
+ public string SponsorMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置用户授权商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_mchid")]
+ public string UserAuthorizedMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置用户授权 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("user_authorized_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("user_authorized_appid")]
+ public string UserAuthorizedAppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("batch_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("batch_id")]
+ public string BatchId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商户明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_detail_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_detail_no")]
+ public string OutDetailNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("detail_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("detail_id")]
+ public string DetailId { get; set; } = default!;
+
+ ///
+ /// 获取或设置明细状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("detail_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("detail_state")]
+ public string DetailStatus { get; set; } = default!;
+
+ ///
+ /// 获取或设置转账金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_amount")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_amount")]
+ public int TransferAmount { get; set; }
+
+ ///
+ /// 获取或设置转账备注。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_remark")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_remark")]
+ public string TransferRemark { get; set; } = default!;
+
+ ///
+ /// 获取或设置转账场景。
+ ///
+ [Newtonsoft.Json.JsonProperty("transfer_scene")]
+ [System.Text.Json.Serialization.JsonPropertyName("transfer_scene")]
+ public string? TransferScene { get; set; }
+
+ ///
+ /// 获取或设置失败原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("fail_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("fail_reason")]
+ public string? FailReason { get; set; }
+
+ ///
+ /// 获取或设置收款账户类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("account_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("account_type")]
+ public string AccountType { get; set; } = default!;
+
+ ///
+ /// 获取或设置收款用户 OpenId。
+ ///
+ [Newtonsoft.Json.JsonProperty("openid")]
+ [System.Text.Json.Serialization.JsonPropertyName("openid")]
+ public string OpenId { get; set; } = default!;
+
+ ///
+ /// 获取或设置收款用户姓名(需使用商户私钥解密)。
+ ///
+ [Newtonsoft.Json.JsonProperty("username")]
+ [System.Text.Json.Serialization.JsonPropertyName("username")]
+ [WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_RSA_2048_WITH_SHA256, algorithm: Constants.EncryptionAlgorithms.RSA_2048_ECB_PKCS8_OAEP_WITH_SHA1_AND_MGF1)]
+ [WechatTenpaySensitiveProperty(scheme: Constants.SignSchemes.WECHATPAY2_SM2_WITH_SM3, algorithm: Constants.EncryptionAlgorithms.SM2_C1C3C2_ASN1)]
+ public string UserName { get; set; } = default!;
+
+ ///
+ /// 获取或设置银行名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("bank_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("bank_name")]
+ public string? BankName { get; set; }
+
+ ///
+ /// 获取或设置银行卡尾号。
+ ///
+ [Newtonsoft.Json.JsonProperty("bank_card_number_tail")]
+ [System.Text.Json.Serialization.JsonPropertyName("bank_card_number_tail")]
+ public string? BankCardNumberTail { get; set; }
+
+ ///
+ /// 获取或设置转账发起时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("initiate_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("initiate_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset InitiateTime { get; set; }
+
+ ///
+ /// 获取或设置明细更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset UpdateTime { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptRequest.cs
new file mode 100644
index 00000000..70d9004f
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /bank-batch-transfer/receipt/detail-receipts 接口的请求。
+ ///
+ public class CreateBankBatchTransferDetailReceiptRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置银行明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_detail_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_detail_no")]
+ public string OutDetailNumber { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptResponse.cs
new file mode 100644
index 00000000..5be078e4
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /bank-batch-transfer/receipt/detail-receipts 接口的响应。
+ ///
+ public class CreateBankBatchTransferDetailReceiptResponse : GetBankBatchTransferDetailReceiptByOutDetailNumberResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptRequest.cs
new file mode 100644
index 00000000..83c02287
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /bank-batch-transfer/receipt/summary-receipts 接口的请求。
+ ///
+ public class CreateBankBatchTransferSummaryReceiptRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptResponse.cs
new file mode 100644
index 00000000..2a9cb729
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptResponse.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /bank-batch-transfer/receipt/summary-receipts 接口的响应。
+ ///
+ public class CreateBankBatchTransferSummaryReceiptResponse : GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberRequest.cs
new file mode 100644
index 00000000..45c9b5fa
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-batch-transfer/receipt/detail-receipts 接口的请求。
+ ///
+ public class GetBankBatchTransferDetailReceiptByOutDetailNumberRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string OutBatchNumber { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置银行明细单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string OutDetailNumber { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberResponse.cs
new file mode 100644
index 00000000..6ad1b35a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberResponse.cs
@@ -0,0 +1,57 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-batch-transfer/receipt/detail-receipts 接口的响应。
+ ///
+ public class GetBankBatchTransferDetailReceiptByOutDetailNumberResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置银行明细单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_detail_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_detail_no")]
+ public string OutDetailNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子回单申请单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("receipt_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("receipt_no")]
+ public string ReceiptNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子回单状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("receipt_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("receipt_state")]
+ public string? ReceiptStatus { get; set; }
+
+ ///
+ /// 获取或设置电子回单文件的哈希方法。
+ ///
+ [Newtonsoft.Json.JsonProperty("hash_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("hash_type")]
+ public string? HashType { get; set; }
+
+ ///
+ /// 获取或设置电子回单文件的哈希值。
+ ///
+ [Newtonsoft.Json.JsonProperty("hash_value")]
+ [System.Text.Json.Serialization.JsonPropertyName("hash_value")]
+ public string? HashValue { get; set; }
+
+ ///
+ /// 获取或设置电子回单文件的下载地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("download_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("download_url")]
+ public string? DownloadUrl { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberRequest.cs
new file mode 100644
index 00000000..7906146e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-batch-transfer/receipt/summary-receipts 接口的请求。
+ ///
+ public class GetBankBatchTransferSummaryReceiptByOutBatchNumberRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string OutBatchNumber { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse.cs
new file mode 100644
index 00000000..fab7332e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse.cs
@@ -0,0 +1,70 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /bank-batch-transfer/receipt/summary-receipts 接口的响应。
+ ///
+ public class GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置银行批次单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_batch_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
+ public string OutBatchNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子回单申请单号。
+ ///
+ [Newtonsoft.Json.JsonProperty("receipt_no")]
+ [System.Text.Json.Serialization.JsonPropertyName("receipt_no")]
+ public string ReceiptNumber { get; set; } = default!;
+
+ ///
+ /// 获取或设置电子回单状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("receipt_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("receipt_state")]
+ public string? ReceiptStatus { get; set; }
+
+ ///
+ /// 获取或设置电子回单文件的哈希方法。
+ ///
+ [Newtonsoft.Json.JsonProperty("hash_type")]
+ [System.Text.Json.Serialization.JsonPropertyName("hash_type")]
+ public string? HashType { get; set; }
+
+ ///
+ /// 获取或设置电子回单文件的哈希值。
+ ///
+ [Newtonsoft.Json.JsonProperty("hash_value")]
+ [System.Text.Json.Serialization.JsonPropertyName("hash_value")]
+ public string? HashValue { get; set; }
+
+ ///
+ /// 获取或设置电子回单文件的下载地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("download_url")]
+ [System.Text.Json.Serialization.JsonPropertyName("download_url")]
+ public string? DownloadUrl { get; set; }
+
+ ///
+ /// 获取或设置创建时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("create_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("create_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? CreateTime { get; set; }
+
+ ///
+ /// 获取或设置更新时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("update_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("update_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? UpdateTime { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Transfer/Batches/GetPartnerTransferBatchByOutBatchNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Transfer/Batches/GetPartnerTransferBatchByOutBatchNumberResponse.cs
index 9d470774..c9654f58 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Transfer/Batches/GetPartnerTransferBatchByOutBatchNumberResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/Transfer/Batches/GetPartnerTransferBatchByOutBatchNumberResponse.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/Detail/CreateTransferDetailElectronicReceiptRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/Detail/CreateTransferDetailElectronicReceiptRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/Detail/CreateTransferDetailElectronicReceiptResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/Detail/CreateTransferDetailElectronicReceiptResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/DetailReceipt/CreateTransferDetailElectronicReceiptResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/Detail/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/DetailReceipt/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/Detail/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/Transfer/DetailReceipt/GetTransferDetailElectronicReceiptByOutDetailNumberResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/ApplyMarketingWeeklyDiscountActivityResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/GetApplyMarketingWeeklyDiscountActivityByActivityIdResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MarketingWeeklyDiscount/QueryApplyMarketingWeeklyDiscountActivitiesResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/CreateMerchantOperateRiskWithdrawlApplyResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByApplymentIdResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/MerchantOperate/GetMerchantOperateRiskWithdrawlApplyByOutRequestNumberResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/ApplyPayScoreAcquiringBankPermissionsResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/GetPayScoreAcquiringBankPermissionsByAuthorizationCodeResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/Permissions/TerminatePayScoreAcquiringBankPermissionsByAuthorizationCodeRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/CancelPayScoreAcquiringBankServiceOrderRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/CreatePayScoreAcquiringBankServiceOrderResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByOutOrderNumberResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderByQueryIdResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/GetPayScoreAcquiringBankServiceOrderDeductionResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/RegisterPayScoreAcquiringBankServiceOrderDeductionResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_AcquiringBank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/PayScore/ServiceOrder/SetPayScoreAcquiringBankServiceOrderCompleteRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/CreateBankTransferBatchRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/CreateBankTransferBatchRequest.json
new file mode 100644
index 00000000..c28ee61e
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/CreateBankTransferBatchRequest.json
@@ -0,0 +1,24 @@
+{
+ "attach_remark": "付款专用商户单号11111",
+ "batch_name": "2019年1月深圳分部报销单",
+ "batch_remark": "2019年1月深圳分部报销单",
+ "out_batch_no": "plfk2020042013",
+ "platform_mchid": "1900001109",
+ "specialized_payment_mchid": "1900001109",
+ "sponsor_mchid": "1900001109",
+ "total_amount": 4000000,
+ "total_count": 200,
+ "transfer_detail_list": [
+ {
+ "openid": "o-MYE42l80oelYMDE34nYD456Xoy",
+ "out_detail_no": "x23zy545Bd5436",
+ "transfer_amount": 200000,
+ "transfer_remark": "2020年4月报销"
+
+ }
+ ],
+ "transfer_purpose": "COMMISSION",
+ "transfer_scene": "ORDINARY_TRANSFER",
+ "user_authorized_appid": "wxaffdakkk11112e3",
+ "user_authorized_mchid": "1900001109"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/CreateBankTransferBatchResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/CreateBankTransferBatchResponse.json
new file mode 100644
index 00000000..6e74fa59
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/CreateBankTransferBatchResponse.json
@@ -0,0 +1,5 @@
+{
+ "batch_id": "1130000071100999991182020050700019480001",
+ "create_time": "2015-05-20T13:29:35+08:00",
+ "out_batch_no": "plfk2020042013"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdResponse.json
new file mode 100644
index 00000000..79ed2dd9
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchByBatchIdResponse.json
@@ -0,0 +1,33 @@
+{
+ "attach_remark": "付款专用商户单号11111",
+ "bank_sp_mchid": "1900001109",
+ "batch_id": "1130000071100999991182020050700019480001",
+ "batch_name": "2019年1月深圳分部报销单",
+ "batch_remark": "2019年1月深圳分部报销单",
+ "batch_state": "ACCEPTED",
+ "close_reason": "OVERDUE_CLOSE",
+ "create_time": "2015-05-20T13:29:35+08:00",
+ "fail_amount": 100000,
+ "fail_count": 1,
+ "out_batch_no": "plfk2020042013",
+ "platform_mchid": "1900001109",
+ "specialized_payment_mchid": "1900001109",
+ "sponsor_mchid": "1900001109",
+ "success_amount": 3900000,
+ "success_count": 199,
+ "total_amount": 4000000,
+ "total_count": 200,
+ "transfer_detail_list": [
+ {
+ "detail_id": "1140000071100999991182020050700019500100",
+ "detail_state": "SUCCESS",
+ "fail_reason": "ACCOUNT_FROZEN",
+ "out_detail_no": "x23zy545Bd5436"
+ }
+ ],
+ "transfer_purpose": "COMMISSION",
+ "transfer_scene": "ORDINARY_TRANSFER",
+ "update_time": "2015-05-20T13:29:35+08:00",
+ "user_authorized_appid": "wxf636efh567hg4356",
+ "user_authorized_mchid": "1900001109"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberResponse.json
new file mode 100644
index 00000000..79ed2dd9
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchByOutBatchNumberResponse.json
@@ -0,0 +1,33 @@
+{
+ "attach_remark": "付款专用商户单号11111",
+ "bank_sp_mchid": "1900001109",
+ "batch_id": "1130000071100999991182020050700019480001",
+ "batch_name": "2019年1月深圳分部报销单",
+ "batch_remark": "2019年1月深圳分部报销单",
+ "batch_state": "ACCEPTED",
+ "close_reason": "OVERDUE_CLOSE",
+ "create_time": "2015-05-20T13:29:35+08:00",
+ "fail_amount": 100000,
+ "fail_count": 1,
+ "out_batch_no": "plfk2020042013",
+ "platform_mchid": "1900001109",
+ "specialized_payment_mchid": "1900001109",
+ "sponsor_mchid": "1900001109",
+ "success_amount": 3900000,
+ "success_count": 199,
+ "total_amount": 4000000,
+ "total_count": 200,
+ "transfer_detail_list": [
+ {
+ "detail_id": "1140000071100999991182020050700019500100",
+ "detail_state": "SUCCESS",
+ "fail_reason": "ACCOUNT_FROZEN",
+ "out_detail_no": "x23zy545Bd5436"
+ }
+ ],
+ "transfer_purpose": "COMMISSION",
+ "transfer_scene": "ORDINARY_TRANSFER",
+ "update_time": "2015-05-20T13:29:35+08:00",
+ "user_authorized_appid": "wxf636efh567hg4356",
+ "user_authorized_mchid": "1900001109"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdResponse.json
new file mode 100644
index 00000000..f8236da2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchDetailByDetailIdResponse.json
@@ -0,0 +1,24 @@
+{
+ "account_type": "BANK_ACCOUNT",
+ "bank_card_number_tail": "1234",
+ "bank_name": "招商银行",
+ "bank_sp_mchid": "1900001109",
+ "batch_id": "1130000071100999991182020050700019480001",
+ "detail_id": "1140000071100999991182020050700019500100",
+ "detail_state": "SUCCESS",
+ "fail_reason": "ACCOUNT_FROZEN",
+ "initiate_time": "2015-05-20T13:29:35+08:00",
+ "openid": "o-MYE42l80oelYMDE34nYD456Xoy",
+ "out_batch_no": "plfk2020042013",
+ "out_detail_no": "x23zy545Bd5436",
+ "platform_mchid": "1900001109",
+ "specialized_payment_mchid": "1900001109",
+ "sponsor_mchid": "1900001109",
+ "transfer_amount": 200000,
+ "transfer_remark": "2020年4月报销",
+ "transfer_scene": "PAYROLL_CARD_TRANSFER",
+ "update_time": "2015-05-20T13:29:35+08:00",
+ "user_authorized_appid": "wxaffdakkk11112e3",
+ "user_authorized_mchid": "1900001109",
+ "username": "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberResponse.json
new file mode 100644
index 00000000..f8236da2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Batches/GetBankTransferBatchDetailByOutDetailNumberResponse.json
@@ -0,0 +1,24 @@
+{
+ "account_type": "BANK_ACCOUNT",
+ "bank_card_number_tail": "1234",
+ "bank_name": "招商银行",
+ "bank_sp_mchid": "1900001109",
+ "batch_id": "1130000071100999991182020050700019480001",
+ "detail_id": "1140000071100999991182020050700019500100",
+ "detail_state": "SUCCESS",
+ "fail_reason": "ACCOUNT_FROZEN",
+ "initiate_time": "2015-05-20T13:29:35+08:00",
+ "openid": "o-MYE42l80oelYMDE34nYD456Xoy",
+ "out_batch_no": "plfk2020042013",
+ "out_detail_no": "x23zy545Bd5436",
+ "platform_mchid": "1900001109",
+ "specialized_payment_mchid": "1900001109",
+ "sponsor_mchid": "1900001109",
+ "transfer_amount": 200000,
+ "transfer_remark": "2020年4月报销",
+ "transfer_scene": "PAYROLL_CARD_TRANSFER",
+ "update_time": "2015-05-20T13:29:35+08:00",
+ "user_authorized_appid": "wxaffdakkk11112e3",
+ "user_authorized_mchid": "1900001109",
+ "username": "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptRequest.json
new file mode 100644
index 00000000..f8d90070
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptRequest.json
@@ -0,0 +1,4 @@
+{
+ "out_batch_no": "GD2021011610162610BBdkkIwcu3",
+ "out_detail_no": "mx0911231610162610v4CNkO4HAf"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptResponse.json
new file mode 100644
index 00000000..c845bf90
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferDetailReceiptResponse.json
@@ -0,0 +1,9 @@
+{
+ "download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx",
+ "hash_type": "SHA256",
+ "hash_value": "DE731F35146A0BEFADE5DB9D1E468D96C01CA8898119C674FEE9F11F4DBE5529",
+ "out_batch_no": "GD2021011610162610BBdkkIwcu3",
+ "out_detail_no": "mx0911231610162610v4CNkO4HAf",
+ "receipt_no": "1050000010509999485212020110200058820001",
+ "receipt_state": "ACCEPTED"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptRequest.json
new file mode 100644
index 00000000..b6b4b346
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptRequest.json
@@ -0,0 +1,3 @@
+{
+ "out_batch_no": "GD2021011610162610BBdkkIwcu3"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptResponse.json
new file mode 100644
index 00000000..63c7e113
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/CreateBankBatchTransferSummaryReceiptResponse.json
@@ -0,0 +1,10 @@
+{
+ "create_time": "2020-05-20T13:29:35.120+08:00",
+ "download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx",
+ "hash_type": "SHA256",
+ "hash_value": "DE731F35146A0BEFADE5DB9D1E468D96C01CA8898119C674FEE9F11F4DBE5529",
+ "out_batch_no": "plfk2020042013",
+ "receipt_no": "1050000010509999485212020110200058820001",
+ "receipt_state": "ACCEPTED",
+ "update_time": "2020-05-21T13:29:35.120+08:00"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberResponse.json
new file mode 100644
index 00000000..c845bf90
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/GetBankBatchTransferDetailReceiptByOutDetailNumberResponse.json
@@ -0,0 +1,9 @@
+{
+ "download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx",
+ "hash_type": "SHA256",
+ "hash_value": "DE731F35146A0BEFADE5DB9D1E468D96C01CA8898119C674FEE9F11F4DBE5529",
+ "out_batch_no": "GD2021011610162610BBdkkIwcu3",
+ "out_detail_no": "mx0911231610162610v4CNkO4HAf",
+ "receipt_no": "1050000010509999485212020110200058820001",
+ "receipt_state": "ACCEPTED"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse.json
new file mode 100644
index 00000000..63c7e113
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_Bank/Transfer/Receipt/GetBankBatchTransferSummaryReceiptByOutBatchNumberResponse.json
@@ -0,0 +1,10 @@
+{
+ "create_time": "2020-05-20T13:29:35.120+08:00",
+ "download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx",
+ "hash_type": "SHA256",
+ "hash_value": "DE731F35146A0BEFADE5DB9D1E468D96C01CA8898119C674FEE9F11F4DBE5529",
+ "out_batch_no": "plfk2020042013",
+ "receipt_no": "1050000010509999485212020110200058820001",
+ "receipt_state": "ACCEPTED",
+ "update_time": "2020-05-21T13:29:35.120+08:00"
+}