diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteIoTManageExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteIoTManageExtensions.cs
new file mode 100644
index 00000000..da75ecf4
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteIoTManageExtensions.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+using Flurl.Http;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
+{
+ public static class WechatTenpayClientExecuteIoTManageExtensions
+ {
+ ///
+ /// 异步调用 [GET] /iotmanage/devices 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/point/iotmanage-devices.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteQueryIoTManageDevicesAsync(this WechatTenpayClient client, Models.QueryIoTManageDevicesRequest 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, "iotmanage", "devices");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesRequest.cs
new file mode 100644
index 00000000..37c530ac
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /iotmanage/devices 接口的请求。
+ ///
+ public class QueryIoTManageDevicesRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置分页大小。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int Limit { get; set; } = 10;
+
+ ///
+ /// 获取或设置分页开始位置。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int Offset { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesResponse.cs
new file mode 100644
index 00000000..8636ad68
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesResponse.cs
@@ -0,0 +1,158 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /iotmanage/devices 接口的响应。
+ ///
+ public class QueryIoTManageDevicesResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class Device
+ {
+ ///
+ /// 获取或设置设备序列号。
+ ///
+ [Newtonsoft.Json.JsonProperty("device_sn")]
+ [System.Text.Json.Serialization.JsonPropertyName("device_sn")]
+ public string? DeviceSerialNumber { get; set; }
+
+ ///
+ /// 获取或设置摄像头序列号。
+ ///
+ [Newtonsoft.Json.JsonProperty("camera_sn")]
+ [System.Text.Json.Serialization.JsonPropertyName("camera_sn")]
+ public string? CameraSerialNumber { get; set; }
+
+ ///
+ /// 获取或设置设备品类代码。
+ ///
+ [Newtonsoft.Json.JsonProperty("device_category_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("device_category_code")]
+ public string? DeviceCategoryCode { get; set; }
+
+ ///
+ /// 获取或设置设备品类。
+ ///
+ [Newtonsoft.Json.JsonProperty("device_category")]
+ [System.Text.Json.Serialization.JsonPropertyName("device_category")]
+ public string? DeviceCategory { get; set; }
+
+ ///
+ /// 获取或设置设备类型代码。
+ ///
+ [Newtonsoft.Json.JsonProperty("device_class_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("device_class_code")]
+ public string? DeviceClassCode { get; set; }
+
+ ///
+ /// 获取或设置设备类型。
+ ///
+ [Newtonsoft.Json.JsonProperty("device_class")]
+ [System.Text.Json.Serialization.JsonPropertyName("device_class")]
+ public string? DeviceClass { get; set; }
+
+ ///
+ /// 获取或设置设备型号。
+ ///
+ [Newtonsoft.Json.JsonProperty("device_model")]
+ [System.Text.Json.Serialization.JsonPropertyName("device_model")]
+ public string? DeviceModel { get; set; }
+
+ ///
+ /// 获取或设置刷脸应用软件模式代码。
+ ///
+ [Newtonsoft.Json.JsonProperty("app_scene_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("app_scene_code")]
+ public string? AppSceneCode { get; set; }
+
+ ///
+ /// 获取或设置刷脸应用软件模式。
+ ///
+ [Newtonsoft.Json.JsonProperty("app_scene")]
+ [System.Text.Json.Serialization.JsonPropertyName("app_scene")]
+ public string? AppScene { get; set; }
+
+ ///
+ /// 获取或设置刷脸应用操作系统。
+ ///
+ [Newtonsoft.Json.JsonProperty("operating_system")]
+ [System.Text.Json.Serialization.JsonPropertyName("operating_system")]
+ public string? OperatingSystem { get; set; }
+
+ ///
+ /// 获取或设置激活状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("activation_status")]
+ [System.Text.Json.Serialization.JsonPropertyName("activation_status")]
+ public string? ActivationStatus { get; set; }
+
+ ///
+ /// 获取或设置激活时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("activation_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("activation_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? ActivationTime { get; set; }
+
+ ///
+ /// 获取或设置商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public string? MerchantId { get; set; }
+
+ ///
+ /// 获取或设置商户简称。
+ ///
+ [Newtonsoft.Json.JsonProperty("merchant_shortname")]
+ [System.Text.Json.Serialization.JsonPropertyName("merchant_shortname")]
+ public string? MerchantShortName { get; set; }
+
+ ///
+ /// 获取或设置子商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
+ public string? SubMerchantId { get; set; }
+
+ ///
+ /// 获取或设置子商户简称。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_merchant_shortname")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_merchant_shortname")]
+ public string? SubMerchantShortName { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置设备列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("data")]
+ [System.Text.Json.Serialization.JsonPropertyName("data")]
+ public Types.Device[] DeviceList { get; set; } = default!;
+
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonProperty("offset")]
+ [System.Text.Json.Serialization.JsonPropertyName("offset")]
+ public int Offset { get; set; }
+
+ ///
+ /// 获取或设置分页大小。
+ ///
+ [Newtonsoft.Json.JsonProperty("limit")]
+ [System.Text.Json.Serialization.JsonPropertyName("limit")]
+ public int Limit { get; set; }
+
+ ///
+ /// 获取或设置总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total_count")]
+ [System.Text.Json.Serialization.JsonPropertyName("total_count")]
+ public int TotalCount { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs
index 824b4131..06609708 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs
@@ -27,7 +27,7 @@
public int? Offset { get; set; }
///
- /// 获取或设置分页每页数量。
+ /// 获取或设置分页大小。
///
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs
index 0beec987..d612f934 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs
@@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public int Offset { get; set; }
///
- /// 获取或设置分页每页数量。
+ /// 获取或设置分页大小。
/// 默认值:10
///
[Newtonsoft.Json.JsonIgnore]
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs
index d877cae7..529b5e32 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs
@@ -54,7 +54,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
public int Offset { get; set; }
///
- /// 获取或设置分页每页数量。
+ /// 获取或设置分页大小。
///
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs
index 81bb4da4..44e02c5d 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs
@@ -27,7 +27,7 @@
public int? Offset { get; set; }
///
- /// 获取或设置分页每页数量。
+ /// 获取或设置分页大小。
///
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs
index 12c74389..9605996b 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs
@@ -27,7 +27,7 @@
public int? Offset { get; set; }
///
- /// 获取或设置分页每页数量。
+ /// 获取或设置分页大小。
///
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs
index 4325b5d7..8dc3ab6b 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs
@@ -42,7 +42,7 @@
public int Offset { get; set; } = 0;
///
- /// 获取或设置分页每页数量。
+ /// 获取或设置分页大小。
/// 默认值:10
///
[Newtonsoft.Json.JsonProperty("limit")]