diff --git a/docs/WechatTenpayV3/Basic_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md
index 6e22ac9c..5d1efab1 100644
--- a/docs/WechatTenpayV3/Basic_ModelDefinition.md
+++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md
@@ -61,6 +61,8 @@
| √ | 运营工具:点金计划 | 合作伙伴 | |
| × | 运营工具:现金红包 | 直连商户 & 合作伙伴 | 官方未提供 v3 API |
| √ | 运营工具:品牌红包 | 直连商户 | |
+| √ | 运营工具:品牌门店(商家券) | 直连商户 & 合作伙伴 | |
+| √ | 运营工具:品牌门店(商品券) | 合作伙伴 | |
| √ | 运营工具:商家名片会员 | 合作伙伴 | |
| √ | 扩展工具:分账 | 直连商户 & 合作伙伴 | |
| √ | 扩展工具:连锁品牌分账 | 合作伙伴 | |
@@ -75,7 +77,6 @@
| √ | 其他:代扣服务切卡组件 | 直连商户 & 合作伙伴 | |
| √ | 其他:图片上传(营销专用) | 直连商户 & 合作伙伴 | |
| √ | 其他:微信先享卡 | 直连商户 | |
-| √ | 其他:连锁品牌门店 | 合作伙伴 | |
| √ | 其他:品牌小店营销 | 合作伙伴 | |
| √ | 其他:租用充电宝隔夜归还 | 直连商户 | |
| √ | 其他:ETC 扣费 | 合作伙伴 | |
@@ -520,6 +521,18 @@
- 微信支付明细单号查询明细单:`GetFundAppBrandRedPacketBrandMerchantBatchDetailByDetailNumber`
+ - 品牌门店(商家券)
+
+ - 创建门店:`CreateMerchantStore`
+
+ - 查询门店:`GetMerchantStoreByStoreId`
+
+ - 修改门店:`ModifyMerchantStore`
+
+ - 绑定门店收款信息:`BindMerchantStoreRecipient`
+
+ - 解除门店收款信息绑定:`UnbindMerchantStoreRecipient`
+
- 商家充值
- 申请银行转账充值:`ApplyBankTransferRecharge`
@@ -1326,6 +1339,32 @@
- 关闭广告展示:`CloseGoldPlanAdvertisingShow`
+ - 品牌门店(商家券)
+
+ - 创建品牌门店:`CreateMerchantStore`
+
+ - 查询品牌门店:`GetMerchantStoreByStoreId`
+
+ - 修改品牌门店:`ModifyMerchantStore`
+
+ - 绑定品牌门店收款商户号:`BindMerchantStoreRecipient`
+
+ - 解绑品牌门店收款商户号:`UnbindMerchantStoreRecipient`
+
+ - 品牌门店(商品券)
+
+ - 创建品牌门店:`CreateBrandPartnerStore`
+
+ - 删除品牌门店:`DeleteBrandPartnerStore`
+
+ - 更新品牌门店:`ModifyBrandPartnerStore`
+
+ - 查询品牌门店:`GetBrandPartnerStoreByStoreId`
+
+ - 绑定收款商户号:`BindBrandPartnerStoreRecipient`
+
+ - 解绑收款商户号:`UnbindBrandPartnerStoreRecipient`
+
- 商家名片会员
- 会员卡模板管理:
@@ -1576,18 +1615,6 @@
- 出行券切卡组件预下单:`CreateIndustryCouponToken`
- - 连锁品牌门店
-
- - 创建门店:`CreateMerchantStore`
-
- - 查询门店:`GetMerchantStoreByStoreId`
-
- - 修改门店:`ModifyMerchantStore`
-
- - 绑定门店收款信息:`BindMerchantStoreRecipient`
-
- - 解除门店收款信息绑定:`UnbindMerchantStoreRecipient`
-
- 品牌小店营销
- 查询零售小店活动业务代理:`QueryMarketingGoodsSubsidyActivityRetailStoreRepresentatives`
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandPartnerStoreExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandPartnerStoreExtensions.cs
new file mode 100644
index 00000000..f035f958
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteBrandPartnerStoreExtensions.cs
@@ -0,0 +1,145 @@
+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 WechatTenpayClientExecuteBrandPartnerStoreExtensions
+ {
+ ///
+ /// 异步调用 [POST] /brand/partner/store/brandstores 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateBrandPartnerStoreAsync(this WechatTenpayClient client, Models.CreateBrandPartnerStoreRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "store", "brandstores");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [GET] /brand/partner/store/brandstores/{store_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteGetBrandPartnerStoreByStoreIdAsync(this WechatTenpayClient client, Models.GetBrandPartnerStoreByStoreIdRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Get, "brand", "partner", "store", "brandstores", request.StoreId)
+ .SetQueryParam("brand_id", request.BrandId);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [PATCH] /brand/partner/store/brandstores/{store_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteModifyBrandPartnerStoreAsync(this WechatTenpayClient client, Models.ModifyBrandPartnerStoreRequest 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
+ .CreateFlurlRequest(request, new HttpMethod("PATCH"), "brand", "partner", "store", "brandstores", request.StoreId);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [DELETE] /brand/partner/store/brandstores/{store_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteDeleteBrandPartnerStoreAsync(this WechatTenpayClient client, Models.DeleteBrandPartnerStoreRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Delete, "brand", "partner", "store", "brandstores", request.StoreId);
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /brand/partner/store/brandstores/{store_id}/bindrecipient 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteBindBrandPartnerStoreRecipientAsync(this WechatTenpayClient client, Models.BindBrandPartnerStoreRecipientRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "store", "brandstores", request.StoreId, "bindrecipient");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// 异步调用 [POST] /brand/partner/store/brandstores/{store_id}/unbindrecipient 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteUnbindBrandPartnerStoreRecipientAsync(this WechatTenpayClient client, Models.UnbindBrandPartnerStoreRecipientRequest 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
+ .CreateFlurlRequest(request, HttpMethod.Post, "brand", "partner", "store", "brandstores", request.StoreId, "unbindrecipient");
+
+ return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
+ }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantStoreExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantStoreExtensions.cs
index aa9dcd75..813d969b 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantStoreExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantStoreExtensions.cs
@@ -11,6 +11,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
{
///
/// 异步调用 [POST] /merchant-store/stores 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
///
///
///
@@ -29,6 +34,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
///
/// 异步调用 [GET] /merchant-store/stores/{store_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
///
///
///
@@ -48,6 +58,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
///
/// 异步调用 [PATCH] /merchant-store/stores/{store_id} 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
///
///
///
@@ -64,9 +79,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
- #region
///
/// 异步调用 [POST] /merchant-store/stores/{store_id}/recipients/bind 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
///
///
///
@@ -85,6 +104,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
///
/// 异步调用 [POST] /merchant-store/stores/{store_id}/recipients/unbind 接口。
+ ///
+ /// REF:
+ ///
+ ///
+ ///
///
///
///
@@ -100,6 +124,5 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
- #endregion
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/BindMerchantStoreRecipientRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/BindMerchantStoreRecipientRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/BindMerchantStoreRecipientResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/BindMerchantStoreRecipientResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/CreateMerchantStoreRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/CreateMerchantStoreRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/CreateMerchantStoreRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/CreateMerchantStoreRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/CreateMerchantStoreResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/CreateMerchantStoreResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/CreateMerchantStoreResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/CreateMerchantStoreResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/GetMerchantStoreByStoreIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/GetMerchantStoreByStoreIdRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/GetMerchantStoreByStoreIdRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/GetMerchantStoreByStoreIdRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/GetMerchantStoreByStoreIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/GetMerchantStoreByStoreIdResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/GetMerchantStoreByStoreIdResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/GetMerchantStoreByStoreIdResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/ModifyMerchantStoreRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/ModifyMerchantStoreRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/ModifyMerchantStoreRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/ModifyMerchantStoreRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/ModifyMerchantStoreResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/ModifyMerchantStoreResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/ModifyMerchantStoreResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/ModifyMerchantStoreResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/UnbindMerchantStoreRecipientRequest.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientRequest.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/UnbindMerchantStoreRecipientRequest.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/UnbindMerchantStoreRecipientResponse.cs
similarity index 100%
rename from src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientResponse.cs
rename to src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantStore/UnbindMerchantStoreRecipientResponse.cs
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientRequest.cs
new file mode 100644
index 00000000..9e9bb3a2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientRequest.cs
@@ -0,0 +1,36 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /brand/partner/store/brandstores/{store_id}/bindrecipient 接口的请求。
+ ///
+ public class BindBrandPartnerStoreRecipientRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string StoreId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置门店收款商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public string MerchantId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置门店收款主体。
+ ///
+ [Newtonsoft.Json.JsonProperty("company_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("company_name")]
+ public string CompanyName { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientResponse.cs
new file mode 100644
index 00000000..675cee62
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientResponse.cs
@@ -0,0 +1,43 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /brand/partner/store/brandstores/{store_id}/bindrecipient 接口的响应。
+ ///
+ public class BindBrandPartnerStoreRecipientResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_id")]
+ public string StoreId { get; set; } = default!;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = default!;
+
+ ///
+ /// 获取或设置门店收款商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public string MerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置门店收款主体。
+ ///
+ [Newtonsoft.Json.JsonProperty("company_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("company_name")]
+ public string CompanyName { get; set; } = default!;
+
+ ///
+ /// 获取或设置收款绑定状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("recipient_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("recipient_state")]
+ public string RecipientState { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/CreateBrandPartnerStoreRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/CreateBrandPartnerStoreRequest.cs
new file mode 100644
index 00000000..b3c596d2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/CreateBrandPartnerStoreRequest.cs
@@ -0,0 +1,111 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /brand/partner/store/brandstores 接口的请求。
+ ///
+ public class CreateBrandPartnerStoreRequest : WechatTenpayRequest
+ {
+ public static class Types
+ {
+ public class Basic
+ {
+ ///
+ /// 获取或设置商家门店编号。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_reference_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_reference_id")]
+ public string? StoreReferenceId { get; set; }
+
+ ///
+ /// 获取或设置分店名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("branch_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("branch_name")]
+ public string? BranchName { get; set; }
+ }
+
+ public class Address
+ {
+ ///
+ /// 获取或设置门店省市编码。
+ ///
+ [Newtonsoft.Json.JsonProperty("address_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("address_code")]
+ public string? AddressCode { get; set; }
+
+ ///
+ /// 获取或设置门店地址。
+ ///
+ [Newtonsoft.Json.JsonProperty("address_detail")]
+ [System.Text.Json.Serialization.JsonPropertyName("address_detail")]
+ public string? AddressDetail { get; set; }
+
+ ///
+ /// 获取或设置门店地址辅助描述。
+ ///
+ [Newtonsoft.Json.JsonProperty("address_complements")]
+ [System.Text.Json.Serialization.JsonPropertyName("address_complements")]
+ public string? AddressComplements { get; set; }
+
+ ///
+ /// 获取或设置门店经度。
+ ///
+ [Newtonsoft.Json.JsonProperty("longitude")]
+ [System.Text.Json.Serialization.JsonPropertyName("longitude")]
+ public string? Longitude { get; set; }
+
+ ///
+ /// 获取或设置门店纬度。
+ ///
+ [Newtonsoft.Json.JsonProperty("latitude")]
+ [System.Text.Json.Serialization.JsonPropertyName("latitude")]
+ public string? Latitude { get; set; }
+ }
+
+ public class Business
+ {
+ ///
+ /// 获取或设置门店服务电话。
+ ///
+ [Newtonsoft.Json.JsonProperty("service_phone")]
+ [System.Text.Json.Serialization.JsonPropertyName("service_phone")]
+ public string? ServicePhoneNumber { get; set; }
+
+ ///
+ /// 获取或设置门店经营时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("business_hours")]
+ [System.Text.Json.Serialization.JsonPropertyName("business_hours")]
+ public string? BusinessHours { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置门店基础信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_basics")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_basics")]
+ public Types.Basic Basic { get; set; } = new Types.Basic();
+
+ ///
+ /// 获取或设置门店地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_address")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_address")]
+ public Types.Address Address { get; set; } = new Types.Address();
+
+ ///
+ /// 获取或设置门店经营信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_business")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_business")]
+ public Types.Business Business { get; set; } = new Types.Business();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/CreateBrandPartnerStoreResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/CreateBrandPartnerStoreResponse.cs
new file mode 100644
index 00000000..99373ecd
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/CreateBrandPartnerStoreResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /brand/partner/store/brandstores 接口的响应。
+ ///
+ public class CreateBrandPartnerStoreResponse : GetBrandPartnerStoreByStoreIdResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreRequest.cs
new file mode 100644
index 00000000..c4c4f6ee
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [DELETE] /brand/partner/store/brandstores/{store_id} 接口的请求。
+ ///
+ public class DeleteBrandPartnerStoreRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string StoreId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreResponse.cs
new file mode 100644
index 00000000..7f6866b9
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [DELETE] /brand/partner/store/brandstores/{store_id} 接口的响应。
+ ///
+ public class DeleteBrandPartnerStoreResponse : WechatTenpayResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdRequest.cs
new file mode 100644
index 00000000..00d98841
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /brand/partner/store/brandstores/{store_id} 接口的请求。
+ ///
+ public class GetBrandPartnerStoreByStoreIdRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string StoreId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string BrandId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdResponse.cs
new file mode 100644
index 00000000..bc01f422
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdResponse.cs
@@ -0,0 +1,110 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [GET] /brand/partner/store/brandstores/{store_id} 接口的响应。
+ ///
+ public class GetBrandPartnerStoreByStoreIdResponse : WechatTenpayResponse
+ {
+ public static class Types
+ {
+ public class Basic : CreateBrandPartnerStoreRequest.Types.Basic
+ {
+ }
+
+ public class Address : CreateBrandPartnerStoreRequest.Types.Address
+ {
+ }
+
+ public class Business : CreateBrandPartnerStoreRequest.Types.Business
+ {
+ }
+
+ public class Recipient
+ {
+ ///
+ /// 获取或设置门店收款商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public string? MerchantId { get; set; }
+
+ ///
+ /// 获取或设置门店收款主体。
+ ///
+ [Newtonsoft.Json.JsonProperty("company_name")]
+ [System.Text.Json.Serialization.JsonPropertyName("company_name")]
+ public string? CompanyName { get; set; }
+
+ ///
+ /// 获取或设置收款绑定状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("recipient_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("recipient_state")]
+ public string? RecipientState { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_id")]
+ public string StoreId { get; set; } = default!;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = default!;
+
+ ///
+ /// 获取或设置门店状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_state")]
+ public string StoreState { get; set; } = default!;
+
+ ///
+ /// 获取或设置审核状态。
+ ///
+ [Newtonsoft.Json.JsonProperty("audit_state")]
+ [System.Text.Json.Serialization.JsonPropertyName("audit_state")]
+ public string AuditState { get; set; } = default!;
+
+ ///
+ /// 获取或设置审核失败原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("review_reject_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("review_reject_reason")]
+ public string? ReviewRejectReason { get; set; }
+
+ ///
+ /// 获取或设置门店基础信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_basics")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_basics")]
+ public Types.Basic Basic { get; set; } = default!;
+
+ ///
+ /// 获取或设置门店地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_address")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_address")]
+ public Types.Address Address { get; set; } = default!;
+
+ ///
+ /// 获取或设置门店经营信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_business")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_business")]
+ public Types.Business Business { get; set; } = default!;
+
+ ///
+ /// 获取或设置门店收款信息列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_recipient")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_recipient")]
+ public Types.Recipient[] RecipientList { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreRequest.cs
new file mode 100644
index 00000000..19e13930
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreRequest.cs
@@ -0,0 +1,58 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [PATCH] /brand/partner/store/brandstores/{store_id} 接口的请求。
+ ///
+ public class ModifyBrandPartnerStoreRequest : WechatTenpayRequest
+ {
+ public static class Types
+ {
+ public class Basic : CreateBrandPartnerStoreRequest.Types.Basic
+ {
+ }
+
+ public class Address : CreateBrandPartnerStoreRequest.Types.Address
+ {
+ }
+
+ public class Business : CreateBrandPartnerStoreRequest.Types.Business
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string StoreId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置门店基础信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_basics")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_basics")]
+ public Types.Basic? Basic { get; set; }
+
+ ///
+ /// 获取或设置门店地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_address")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_address")]
+ public Types.Address? Address { get; set; }
+
+ ///
+ /// 获取或设置门店经营信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("store_business")]
+ [System.Text.Json.Serialization.JsonPropertyName("store_business")]
+ public Types.Business? Business { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreResponse.cs
new file mode 100644
index 00000000..763acade
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [PATCH] /brand/partner/store/brandstores/{store_id} 接口的响应。
+ ///
+ public class ModifyBrandPartnerStoreResponse : GetBrandPartnerStoreByStoreIdResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientRequest.cs
new file mode 100644
index 00000000..928daa0d
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientRequest.cs
@@ -0,0 +1,29 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /brand/partner/store/brandstores/{store_id}/unbindrecipient 接口的请求。
+ ///
+ public class UnbindBrandPartnerStoreRecipientRequest : WechatTenpayRequest
+ {
+ ///
+ /// 获取或设置门店 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public string StoreId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置品牌 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("brand_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("brand_id")]
+ public string BrandId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置门店收款商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public string MerchantId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientResponse.cs
new file mode 100644
index 00000000..66e85cd9
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientResponse.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+{
+ ///
+ /// 表示 [POST] /brand/partner/store/brandstores/{store_id}/unbindrecipient 接口的响应。
+ ///
+ public class UnbindBrandPartnerStoreRecipientResponse : WechatTenpayResponse
+ {
+ ///
+ /// 获取或设置解绑失败原因。
+ ///
+ [Newtonsoft.Json.JsonProperty("failed_reason")]
+ [System.Text.Json.Serialization.JsonPropertyName("failed_reason")]
+ public string? FailedReason { get; set; }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/BindMerchantStoreRecipientRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/BindMerchantStoreRecipientRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/BindMerchantStoreRecipientResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/BindMerchantStoreRecipientResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/BindMerchantStoreRecipientResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/CreateMerchantStoreRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/CreateMerchantStoreRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/CreateMerchantStoreRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/CreateMerchantStoreRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/CreateMerchantStoreResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/CreateMerchantStoreResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/CreateMerchantStoreResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/CreateMerchantStoreResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/GetMerchantStoreByStoreIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/GetMerchantStoreByStoreIdResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/GetMerchantStoreByStoreIdResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/GetMerchantStoreByStoreIdResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/ModifyMerchantStoreRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/ModifyMerchantStoreRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/ModifyMerchantStoreRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/ModifyMerchantStoreRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/UnbindMerchantStoreRecipientRequest.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientRequest.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/UnbindMerchantStoreRecipientRequest.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/UnbindMerchantStoreRecipientResponse.json
similarity index 100%
rename from test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantStore/Recipients/UnbindMerchantStoreRecipientResponse.json
rename to test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MerchantStore/UnbindMerchantStoreRecipientResponse.json
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientRequest.json
new file mode 100644
index 00000000..52353c25
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientRequest.json
@@ -0,0 +1,5 @@
+{
+ "brand_id": "123456789",
+ "mchid": "1230000109",
+ "company_name": "腾讯科技(深圳)有限公司"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientResponse.json
new file mode 100644
index 00000000..f1621d34
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/BindBrandPartnerStoreRecipientResponse.json
@@ -0,0 +1,7 @@
+{
+ "brand_id": "123456789",
+ "store_id": "1234567890123456",
+ "mchid": "1230000109",
+ "company_name": "腾讯科技(深圳)有限公司",
+ "recipient_state": "CONFIRMED"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/CreateBrandPartnerStoreRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/CreateBrandPartnerStoreRequest.json
new file mode 100644
index 00000000..e192f376
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/CreateBrandPartnerStoreRequest.json
@@ -0,0 +1,18 @@
+{
+ "brand_id": "123456789",
+ "store_basics": {
+ "store_reference_id": "MDL001",
+ "branch_name": "海岸城店"
+ },
+ "store_address": {
+ "address_code": "440305",
+ "address_detail": "深南大道10000号腾讯大厦1楼",
+ "address_complements": "地铁A口右侧100米",
+ "longitude": "112.63484",
+ "latitude": "37.75464"
+ },
+ "store_business": {
+ "service_phone": "0755-86013388",
+ "business_hours": "周一至周五 09:00-20:00"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/CreateBrandPartnerStoreResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/CreateBrandPartnerStoreResponse.json
new file mode 100644
index 00000000..5b2bb990
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/CreateBrandPartnerStoreResponse.json
@@ -0,0 +1,29 @@
+{
+ "brand_id": "123456789",
+ "store_id": "1234567890123456",
+ "store_state": "OPEN",
+ "audit_state": "SUCCESS",
+ "review_reject_reason": "通过核实,您提交的电话错误,请核实手机号码或座机号码是否正确",
+ "store_basics": {
+ "store_reference_id": "MDL001",
+ "branch_name": "海岸城店"
+ },
+ "store_address": {
+ "address_code": "440305",
+ "address_detail": "深南大道10000号腾讯大厦1楼",
+ "address_complements": "地铁A口右侧100米",
+ "longitude": "112.63484",
+ "latitude": "37.75464"
+ },
+ "store_business": {
+ "service_phone": "0755-86013388",
+ "business_hours": "周一至周五 09:00-20:00"
+ },
+ "store_recipient": [
+ {
+ "mchid": "1230000109",
+ "company_name": "腾讯科技(深圳)有限公司",
+ "recipient_state": "CONFIRMED"
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreRequest.json
new file mode 100644
index 00000000..c38debfa
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/DeleteBrandPartnerStoreRequest.json
@@ -0,0 +1,3 @@
+{
+ "brand_id": "123456789"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdResponse.json
new file mode 100644
index 00000000..5b2bb990
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/GetBrandPartnerStoreByStoreIdResponse.json
@@ -0,0 +1,29 @@
+{
+ "brand_id": "123456789",
+ "store_id": "1234567890123456",
+ "store_state": "OPEN",
+ "audit_state": "SUCCESS",
+ "review_reject_reason": "通过核实,您提交的电话错误,请核实手机号码或座机号码是否正确",
+ "store_basics": {
+ "store_reference_id": "MDL001",
+ "branch_name": "海岸城店"
+ },
+ "store_address": {
+ "address_code": "440305",
+ "address_detail": "深南大道10000号腾讯大厦1楼",
+ "address_complements": "地铁A口右侧100米",
+ "longitude": "112.63484",
+ "latitude": "37.75464"
+ },
+ "store_business": {
+ "service_phone": "0755-86013388",
+ "business_hours": "周一至周五 09:00-20:00"
+ },
+ "store_recipient": [
+ {
+ "mchid": "1230000109",
+ "company_name": "腾讯科技(深圳)有限公司",
+ "recipient_state": "CONFIRMED"
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreRequest.json
new file mode 100644
index 00000000..e192f376
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreRequest.json
@@ -0,0 +1,18 @@
+{
+ "brand_id": "123456789",
+ "store_basics": {
+ "store_reference_id": "MDL001",
+ "branch_name": "海岸城店"
+ },
+ "store_address": {
+ "address_code": "440305",
+ "address_detail": "深南大道10000号腾讯大厦1楼",
+ "address_complements": "地铁A口右侧100米",
+ "longitude": "112.63484",
+ "latitude": "37.75464"
+ },
+ "store_business": {
+ "service_phone": "0755-86013388",
+ "business_hours": "周一至周五 09:00-20:00"
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreResponse.json
new file mode 100644
index 00000000..5b2bb990
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/ModifyBrandPartnerStoreResponse.json
@@ -0,0 +1,29 @@
+{
+ "brand_id": "123456789",
+ "store_id": "1234567890123456",
+ "store_state": "OPEN",
+ "audit_state": "SUCCESS",
+ "review_reject_reason": "通过核实,您提交的电话错误,请核实手机号码或座机号码是否正确",
+ "store_basics": {
+ "store_reference_id": "MDL001",
+ "branch_name": "海岸城店"
+ },
+ "store_address": {
+ "address_code": "440305",
+ "address_detail": "深南大道10000号腾讯大厦1楼",
+ "address_complements": "地铁A口右侧100米",
+ "longitude": "112.63484",
+ "latitude": "37.75464"
+ },
+ "store_business": {
+ "service_phone": "0755-86013388",
+ "business_hours": "周一至周五 09:00-20:00"
+ },
+ "store_recipient": [
+ {
+ "mchid": "1230000109",
+ "company_name": "腾讯科技(深圳)有限公司",
+ "recipient_state": "CONFIRMED"
+ }
+ ]
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientRequest.json
new file mode 100644
index 00000000..b4b215f0
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientRequest.json
@@ -0,0 +1,4 @@
+{
+ "brand_id": "123456789",
+ "mchid": "1230000109"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientResponse.json
new file mode 100644
index 00000000..624ce8e9
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/BrandPartnerStore/UnbindBrandPartnerStoreRecipientResponse.json
@@ -0,0 +1,3 @@
+{
+ "failed_reason": "example_failed_reason"
+}