diff --git a/docs/WechatTenpayV3/Basic_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md index 2167358f..0d58b963 100644 --- a/docs/WechatTenpayV3/Basic_ModelDefinition.md +++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md @@ -1574,7 +1574,7 @@ - 视频上传:`UploadMerchantMediaVideo` - - 修改主体信息 + - 修改商户主体信息 - 提交申请单:`CreateMerchantAlterApplyMerchantSubjectAlterApplyment` @@ -1582,6 +1582,14 @@ - 查询申请单状态:`GetMerchantAlterApplyMerchantSubjectAlterApplymentByApplymentId` / `GetMerchantAlterApplyMerchantSubjectAlterApplymentByOutRequestNumber` + - 修改商户简称 + + - 提交申请单:`CreateMerchantAlterApplyMerchantNameAlterApplyment` + + - 撤销申请单:`RevokeMerchantAlterApplyMerchantNameAlterApplyment` + + - 查询申请单:`GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentId` / `GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumber` + - 商户开户意愿确认 - 提交申请单:`CreateApplyForSubjectApplyment` diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantAlterApplyExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantAlterApplyExtensions.cs index 464351be..013b3e08 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantAlterApplyExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantAlterApplyExtensions.cs @@ -98,6 +98,96 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 } #endregion + #region MerchantName + /// + /// 异步调用 [POST] /mchalterapply/merchantnamealterapplyment 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCreateMerchantAlterApplyMerchantNameAlterApplymentAsync(this WechatTenpayClient client, Models.CreateMerchantAlterApplyMerchantNameAlterApplymentRequest 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, "mchalterapply", "merchantnamealterapplyment"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /mchalterapply/merchantnamealterapplyment/{apply_id}/revoke 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteRevokeMerchantAlterApplyMerchantNameAlterApplymentAsync(this WechatTenpayClient client, Models.RevokeMerchantAlterApplyMerchantNameAlterApplymentRequest 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, "mchalterapply", "merchantnamealterapplyment", request.ApplymentId, "revoke"); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /mchalterapply/merchantnamealterapplyment/merchant/{sub_mchid}/out-request-no/{out_request_no} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberAsync(this WechatTenpayClient client, Models.GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberRequest 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, "mchalterapply", "merchantnamealterapplyment", "merchant", request.SubMerchantId, "out-request-no", request.OutRequestNumber); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [GET] /mchalterapply/merchantnamealterapplyment/{apply_id} 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteGetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdAsync(this WechatTenpayClient client, Models.GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdRequest 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, "mchalterapply", "merchantnamealterapplyment", request.ApplymentId); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + #region MerchantSubject /// /// 异步调用 [POST] /mchalterapply/mchsubjectalterapplyment 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentRequest.cs new file mode 100644 index 00000000..5f93d94f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /mchalterapply/merchantnamealterapplyment 接口的请求。 + /// + public class CreateMerchantAlterApplyMerchantNameAlterApplymentRequest : WechatTenpayRequest + { + /// + /// 获取或设置特约商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置业务申请编号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = string.Empty; + + /// + /// 获取或设置商户简称。 + /// + [Newtonsoft.Json.JsonProperty("merchant_shortname")] + [System.Text.Json.Serialization.JsonPropertyName("merchant_shortname")] + public string MerchantShortName { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentResponse.cs new file mode 100644 index 00000000..22e8ef5f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /mchalterapply/merchantnamealterapplyment 接口的响应。 + /// + public class CreateMerchantAlterApplyMerchantNameAlterApplymentResponse : WechatTenpayResponse + { + /// + /// 获取或设置申请单号。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + public string ApplymentId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdRequest.cs new file mode 100644 index 00000000..668a4f3a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /mchalterapply/merchantnamealterapplyment/{apply_id} 接口的请求。 + /// + public class GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdRequest : WechatTenpayRequest + { + /// + /// 获取或设置申请单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ApplymentId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse.cs new file mode 100644 index 00000000..d7432659 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /mchalterapply/merchantnamealterapplyment/{apply_id} 接口的响应。 + /// + public class GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse : GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberRequest.cs new file mode 100644 index 00000000..9a7cd613 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /mchalterapply/merchantnamealterapplyment/merchant/{sub_mchid}/out-request-no/{out_request_no} 接口的请求。 + /// + public class GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberRequest : WechatTenpayRequest + { + /// + /// 获取或设置特约商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置业务申请编号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string OutRequestNumber { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse.cs new file mode 100644 index 00000000..99d55e9a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /mchalterapply/merchantnamealterapplyment/merchant/{sub_mchid}/out-request-no/{out_request_no} 接口的响应。 + /// + public class GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse : WechatTenpayResponse + { + /// + /// 获取或设置特约商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置业务申请编号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = default!; + + /// + /// 获取或设置申请单号。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + public string ApplymentId { get; set; } = default!; + + /// + /// 获取或设置申请单状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public string ApplymentState { get; set; } = default!; + + /// + /// 获取或设置驳回原因。 + /// + [Newtonsoft.Json.JsonProperty("audit_reject_reason")] + [System.Text.Json.Serialization.JsonPropertyName("audit_reject_reason")] + public string? AuditRejectReason { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentRequest.cs new file mode 100644 index 00000000..4025b7b7 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /mchalterapply/merchantnamealterapplyment/{apply_id}/revoke 接口的请求。 + /// + public class RevokeMerchantAlterApplyMerchantNameAlterApplymentRequest : WechatTenpayRequest + { + /// + /// 获取或设置申请单号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ApplymentId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse.cs new file mode 100644 index 00000000..e5084b89 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /mchalterapply/merchantnamealterapplyment/{apply_id}/revoke 接口的响应。 + /// + public class RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse : WechatTenpayResponse + { + /// + /// 获取或设置申请单号。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + public string ApplymentId { get; set; } = default!; + + /// + /// 获取或设置申请单状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public string ApplymentState { get; set; } = default!; + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentRequest.json new file mode 100644 index 00000000..4b88b5f7 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentRequest.json @@ -0,0 +1,5 @@ +{ + "sub_mchid": "2492185251", + "out_request_no": "1900013511_10000", + "merchant_shortname": "新疆大枣专卖店" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentResponse.json new file mode 100644 index 00000000..cf644311 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/CreateMerchantAlterApplyMerchantNameAlterApplymentResponse.json @@ -0,0 +1,3 @@ +{ + "apply_id": "20220617143306000013906025001" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse.json new file mode 100644 index 00000000..2e35236d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByApplymentIdResponse.json @@ -0,0 +1,7 @@ +{ + "apply_id": "20220617143306000013906025001", + "out_request_no": "1900013511_10000", + "sub_mchid": "1900006491", + "state": "APPLYMENT_STATE_AUDITING", + "audit_reject_reason": "身份证背面识别失败,请上传更清晰的身份证图片。" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse.json new file mode 100644 index 00000000..2e35236d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/GetMerchantAlterApplyMerchantNameAlterApplymentByOutRequestNumberResponse.json @@ -0,0 +1,7 @@ +{ + "apply_id": "20220617143306000013906025001", + "out_request_no": "1900013511_10000", + "sub_mchid": "1900006491", + "state": "APPLYMENT_STATE_AUDITING", + "audit_reject_reason": "身份证背面识别失败,请上传更清晰的身份证图片。" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse.json new file mode 100644 index 00000000..81eeb3e3 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/_Partner/MerchantAlterApply/MerchantName/RevokeMerchantAlterApplyMerchantNameAlterApplymentResponse.json @@ -0,0 +1,4 @@ +{ + "apply_id": "20220617143306000013906025001", + "state": "APPLYMENT_STATE_CANCELED" +}