diff --git a/docs/WechatTenpayV3/Basic_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md index 8a978229..dcc6a6be 100644 --- a/docs/WechatTenpayV3/Basic_ModelDefinition.md +++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md @@ -64,6 +64,7 @@ | × | 其他能力:清关报关 | 直连商户 | 官方未提供 v3 API | | √ | 其他能力:图片上传 | 直连商户 & 服务商 | | | √ | 其他能力:视频上传 | 直连商户 & 服务商 | | +| √ | 其他能力:优惠费率活动 | 服务商 | | | √ | 境外支付:子商户进件 | 服务商 | | | √ | 境外支付:融合钱包 | 服务商 | | | √ | 境外支付:报关 | 服务商 | | diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRateActivityExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRateActivityExtensions.cs new file mode 100644 index 00000000..5fe89c41 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteRateActivityExtensions.cs @@ -0,0 +1,72 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供优惠费率活动相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecuteRateActivityExtensions + { + /// + /// 异步调用 [POST] /rate-activity/applications 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_7_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateRateActivityApplicationAsync(this WechatTenpayClient client, Models.CreateRateActivityApplicationRequest 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, "rate-activity", "applications"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /rate-activity/applications/id/{application_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_7_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetRateActivityApplicationByApplicationIdAsync(this WechatTenpayClient client, Models.GetRateActivityApplicationByApplicationIdRequest 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, "rate-activity", "applications", "id", request.ApplicationId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [PATCH] /rate-activity/applications/id/{application_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_7_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteUpdateRateActivityApplicationAsync(this WechatTenpayClient client, Models.UpdateRateActivityApplicationRequest 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, new HttpMethod("PATCH"), "rate-activity", "applications", "id", request.ApplicationId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/GetMerchantServiceComplaintByComplaintIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/GetMerchantServiceComplaintByComplaintIdResponse.cs index 0386869f..e4f30a52 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/GetMerchantServiceComplaintByComplaintIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/GetMerchantServiceComplaintByComplaintIdResponse.cs @@ -75,7 +75,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string? State { get; set; } } - public class AdditionalInfo + public class AdditionalInfomation { public static class Types { @@ -237,6 +237,6 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("additional_info")] [System.Text.Json.Serialization.JsonPropertyName("additional_info")] - public Types.AdditionalInfo? AdditionalInfo { get; set; } + public Types.AdditionalInfomation? AdditionalInfomation { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/QueryMerchantServiceComplaintsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/QueryMerchantServiceComplaintsResponse.cs index f324f407..882a8893 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/QueryMerchantServiceComplaintsResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantService/ComplaintsV2/QueryMerchantServiceComplaintsResponse.cs @@ -26,7 +26,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { } - public class AdditionalInfo : GetMerchantServiceComplaintByComplaintIdResponse.Types.AdditionalInfo + public class AdditionalInfomation : GetMerchantServiceComplaintByComplaintIdResponse.Types.AdditionalInfomation { } } @@ -160,7 +160,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("additional_info")] [System.Text.Json.Serialization.JsonPropertyName("additional_info")] - public Types.AdditionalInfo? AdditionalInfo { get; set; } + public Types.AdditionalInfomation? AdditionalInfomation { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/CreateRateActivityApplicationRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/CreateRateActivityApplicationRequest.cs new file mode 100644 index 00000000..d8a5dfdd --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/CreateRateActivityApplicationRequest.cs @@ -0,0 +1,109 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /rate-activity/applications 接口的请求。 + /// + public class CreateRateActivityApplicationRequest : WechatTenpayRequest + { + public static class Types + { + public class ActivityDetail + { + public static class Types + { + public class Material + { + /// + /// 获取或设置材料 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_material_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_material_id")] + public string? MaterialId { get; set; } + + /// + /// 获取或设置材料 MediaId 列表。 + /// + [Newtonsoft.Json.JsonProperty("apply_material_information")] + [System.Text.Json.Serialization.JsonPropertyName("apply_material_information")] + public IList? MaterialMediaIdList { get; set; } + } + } + + /// + /// 获取或设置活动 ID。 + /// + [Newtonsoft.Json.JsonProperty("activity_id")] + [System.Text.Json.Serialization.JsonPropertyName("activity_id")] + public string ActivityId { get; set; } = string.Empty; + + /// + /// 获取或设置活动费率字符串。 + /// + [Newtonsoft.Json.JsonProperty("activity_rate")] + [System.Text.Json.Serialization.JsonPropertyName("activity_rate")] + public string? ActivityRateString { get; set; } + + /// + /// 获取或设置申请材料列表。 + /// + [Newtonsoft.Json.JsonProperty("activity_apply_information")] + [System.Text.Json.Serialization.JsonPropertyName("activity_apply_information")] + public IList? MaterialList { get; set; } + } + + public class AdditionalInfomation + { + /// + /// 获取或设置补充说明。 + /// + [Newtonsoft.Json.JsonProperty("additional_message")] + [System.Text.Json.Serialization.JsonPropertyName("additional_message")] + public string? AdditionalMessage { get; set; } + + /// + /// 获取或设置补充材料 MediaId 列表。 + /// + [Newtonsoft.Json.JsonProperty("additional_material")] + [System.Text.Json.Serialization.JsonPropertyName("additional_material")] + public IList? AdditionalMaterialMediaIdList { get; set; } + } + } + + /// + /// 获取或设置从业机构号。 + /// + [Newtonsoft.Json.JsonProperty("acquiring_bank_id")] + [System.Text.Json.Serialization.JsonPropertyName("acquiring_bank_id")] + public string AcquiringBankId { get; set; } = string.Empty; + + /// + /// 获取或设置渠道商户号。 + /// + [Newtonsoft.Json.JsonProperty("channel_id")] + [System.Text.Json.Serialization.JsonPropertyName("channel_id")] + public string ChannelId { get; set; } = string.Empty; + + /// + /// 获取或设置从业机构特约商户号 。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置报名活动详情。 + /// + [Newtonsoft.Json.JsonProperty("activity_detail")] + [System.Text.Json.Serialization.JsonPropertyName("activity_detail")] + public Types.ActivityDetail ActivityDetail { get; set; } = new Types.ActivityDetail(); + + /// + /// 获取或设置补充信息。 + /// + [Newtonsoft.Json.JsonProperty("additional_information")] + [System.Text.Json.Serialization.JsonPropertyName("additional_information")] + public Types.AdditionalInfomation? AdditionalInfomation { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/CreateRateActivityApplicationResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/CreateRateActivityApplicationResponse.cs new file mode 100644 index 00000000..8be6cb7c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/CreateRateActivityApplicationResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /rate-activity/applications 接口的响应。 + /// + public class CreateRateActivityApplicationResponse : WechatTenpayResponse + { + /// + /// 获取或设置申请单编号。 + /// + [Newtonsoft.Json.JsonProperty("application_id")] + [System.Text.Json.Serialization.JsonPropertyName("application_id")] + public string ApplicationId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/GetRateActivityApplicationByApplicationIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/GetRateActivityApplicationByApplicationIdRequest.cs new file mode 100644 index 00000000..c05a1437 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/GetRateActivityApplicationByApplicationIdRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /rate-activity/applications/id/{application_id} 接口的请求。 + /// + public class GetRateActivityApplicationByApplicationIdRequest : WechatTenpayRequest + { + /// + /// 获取或设置申请单编号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ApplicationId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/GetRateActivityApplicationByApplicationIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/GetRateActivityApplicationByApplicationIdResponse.cs new file mode 100644 index 00000000..37a1f516 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/GetRateActivityApplicationByApplicationIdResponse.cs @@ -0,0 +1,47 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /rate-activity/applications/id/{application_id} 接口的响应。 + /// + public class GetRateActivityApplicationByApplicationIdResponse : WechatTenpayResponse + { + /// + /// 获取或设置申请单状态。 + /// + [Newtonsoft.Json.JsonProperty("application_state")] + [System.Text.Json.Serialization.JsonPropertyName("application_state")] + public string ApplicationState { get; set; } = default!; + + /// + /// 获取或设置从业机构特约商户号 。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置驳回参数。 + /// + [Newtonsoft.Json.JsonProperty("reject_parameter")] + [System.Text.Json.Serialization.JsonPropertyName("reject_parameter")] + public string? RejectParameter { get; set; } + + /// + /// 获取或设置驳回原因。 + /// + [Newtonsoft.Json.JsonProperty("reject_reason")] + [System.Text.Json.Serialization.JsonPropertyName("reject_reason")] + public string? RejectReason { get; set; } + + /// + /// 获取或设置审核通过时间。 + /// + [Newtonsoft.Json.JsonProperty("pass_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("pass_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? PassTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/UpdateRateActivityApplicationRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/UpdateRateActivityApplicationRequest.cs new file mode 100644 index 00000000..1aafe307 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/UpdateRateActivityApplicationRequest.cs @@ -0,0 +1,62 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [PATCH] /rate-activity/applications/id/{application_id} 接口的请求。 + /// + public class UpdateRateActivityApplicationRequest : WechatTenpayRequest + { + public static class Types + { + public class ActivityDetail + { + public static class Types + { + public class Material : CreateRateActivityApplicationRequest.Types.ActivityDetail.Types.Material + { + } + } + + /// + /// 获取或设置活动费率字符串。 + /// + [Newtonsoft.Json.JsonProperty("activity_rate")] + [System.Text.Json.Serialization.JsonPropertyName("activity_rate")] + public string? ActivityRateString { get; set; } + + /// + /// 获取或设置申请材料列表。 + /// + [Newtonsoft.Json.JsonProperty("activity_apply_information")] + [System.Text.Json.Serialization.JsonPropertyName("activity_apply_information")] + public IList? MaterialList { get; set; } + } + + public class AdditionalInfomation : CreateRateActivityApplicationRequest.Types.AdditionalInfomation + { + } + } + + /// + /// 获取或设置申请单编号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ApplicationId { get; set; } = string.Empty; + + /// + /// 获取或设置报名活动详情。 + /// + [Newtonsoft.Json.JsonProperty("activity_detail_modification")] + [System.Text.Json.Serialization.JsonPropertyName("activity_detail_modification")] + public Types.ActivityDetail? ActivityDetail { get; set; } + + /// + /// 获取或设置补充信息。 + /// + [Newtonsoft.Json.JsonProperty("additional_information")] + [System.Text.Json.Serialization.JsonPropertyName("additional_information")] + public Types.AdditionalInfomation? AdditionalInfomation { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/UpdateRateActivityApplicationResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/UpdateRateActivityApplicationResponse.cs new file mode 100644 index 00000000..05b3e004 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/RateActivity/UpdateRateActivityApplicationResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [PATCH] /rate-activity/applications/id/{application_id} 接口的响应。 + /// + public class UpdateRateActivityApplicationResponse : WechatTenpayResponse + { + /// + /// 获取或设置申请单编号。 + /// + [Newtonsoft.Json.JsonProperty("application_id")] + [System.Text.Json.Serialization.JsonPropertyName("application_id")] + public string ApplicationId { get; set; } = default!; + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/CreateRateActivityApplicationRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/CreateRateActivityApplicationRequest.json new file mode 100644 index 00000000..58b477ee --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/CreateRateActivityApplicationRequest.json @@ -0,0 +1,32 @@ +{ + "acquiring_bank_id": "1356485", + "additional_information": { + "additional_message": "特殊情况,说明原因", + "additional_material": [ + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo", + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo" + ] + }, + "activity_detail": { + "activity_id": "schoolcanteen_001", + "activity_rate": "0.6", + "activity_apply_information": [ + { + "apply_material_id": "SCHOOL_QUALIFICATION_PROOF", + "apply_material_information": [ + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo", + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo" + ] + }, + { + "apply_material_id": "CANTEEN_FRONT_PHOTO", + "apply_material_information": [ + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo", + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo" + ] + } + ] + }, + "sub_mchid": "1346578", + "channel_id": "20001111" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/CreateRateActivityApplicationResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/CreateRateActivityApplicationResponse.json new file mode 100644 index 00000000..bf924a58 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/CreateRateActivityApplicationResponse.json @@ -0,0 +1,3 @@ +{ + "application_id": "20000000011111" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/GetRateActivityApplicationByApplicationIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/GetRateActivityApplicationByApplicationIdResponse.json new file mode 100644 index 00000000..0393e9f9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/GetRateActivityApplicationByApplicationIdResponse.json @@ -0,0 +1,7 @@ +{ + "application_state": "APPLICATION_STATE_PASSED", + "sub_mchid": "1346578", + "reject_parameter": "merchant_name", + "reject_reason": "公司名称与工商局登记不一致", + "pass_time": "2015-05-20T13:29:35+08:00" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/UpdateRateActivityApplicationRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/UpdateRateActivityApplicationRequest.json new file mode 100644 index 00000000..9a8e39a8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/UpdateRateActivityApplicationRequest.json @@ -0,0 +1,28 @@ +{ + "additional_information": { + "additional_message": "特殊情况,说明原因", + "additional_material": [ + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo", + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo" + ] + }, + "activity_detail_modification": { + "activity_rate": "0.6", + "activity_apply_information": [ + { + "apply_material_id": "SCHOOL_QUALIFICATION_PROOF", + "apply_material_information": [ + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo", + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo" + ] + }, + { + "apply_material_id": "CANTEEN_FRONT_PHOTO", + "apply_material_information": [ + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo", + "0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo" + ] + } + ] + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/UpdateRateActivityApplicationResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/UpdateRateActivityApplicationResponse.json new file mode 100644 index 00000000..bf924a58 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/RateActivity/UpdateRateActivityApplicationResponse.json @@ -0,0 +1,3 @@ +{ + "application_id": "20000000011111" +}