mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-15 14:04:32 +08:00
feat(tenpayv3): 新增服务商优惠费率活动相关接口
This commit is contained in:
parent
61a5169c15
commit
bdd1ccac59
@ -64,6 +64,7 @@
|
||||
| × | <del>其他能力:清关报关</del> | 直连商户 | 官方未提供 v3 API |
|
||||
| √ | 其他能力:图片上传 | 直连商户 & 服务商 | |
|
||||
| √ | 其他能力:视频上传 | 直连商户 & 服务商 | |
|
||||
| √ | 其他能力:优惠费率活动 | 服务商 | |
|
||||
| √ | 境外支付:子商户进件 | 服务商 | |
|
||||
| √ | 境外支付:融合钱包 | 服务商 | |
|
||||
| √ | 境外支付:报关 | 服务商 | |
|
||||
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// 为 <see cref="WechatTenpayClient"/> 提供优惠费率活动相关的 API 扩展方法。
|
||||
/// </summary>
|
||||
public static class WechatTenpayClientExecuteRateActivityExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /rate-activity/applications 接口。</para>
|
||||
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_7_1.shtml </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateRateActivityApplicationResponse> 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<Models.CreateRateActivityApplicationResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /rate-activity/applications/id/{application_id} 接口。</para>
|
||||
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_7_2.shtml </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetRateActivityApplicationByApplicationIdResponse> 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<Models.GetRateActivityApplicationByApplicationIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [PATCH] /rate-activity/applications/id/{application_id} 接口。</para>
|
||||
/// <para>REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_7_3.shtml </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.UpdateRateActivityApplicationResponse> 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<Models.UpdateRateActivityApplicationResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("additional_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("additional_info")]
|
||||
public Types.AdditionalInfo? AdditionalInfo { get; set; }
|
||||
public Types.AdditionalInfomation? AdditionalInfomation { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("additional_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("additional_info")]
|
||||
public Types.AdditionalInfo? AdditionalInfo { get; set; }
|
||||
public Types.AdditionalInfomation? AdditionalInfomation { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,109 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /rate-activity/applications 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateRateActivityApplicationRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ActivityDetail
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Material
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置材料 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("apply_material_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("apply_material_id")]
|
||||
public string? MaterialId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置材料 MediaId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("apply_material_information")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("apply_material_information")]
|
||||
public IList<string>? MaterialMediaIdList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置活动 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_id")]
|
||||
public string ActivityId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置活动费率字符串。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_rate")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_rate")]
|
||||
public string? ActivityRateString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请材料列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_apply_information")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_apply_information")]
|
||||
public IList<Types.Material>? MaterialList { get; set; }
|
||||
}
|
||||
|
||||
public class AdditionalInfomation
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置补充说明。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("additional_message")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("additional_message")]
|
||||
public string? AdditionalMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置补充材料 MediaId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("additional_material")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("additional_material")]
|
||||
public IList<string>? AdditionalMaterialMediaIdList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置从业机构号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("acquiring_bank_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("acquiring_bank_id")]
|
||||
public string AcquiringBankId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置渠道商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("channel_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("channel_id")]
|
||||
public string ChannelId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置从业机构特约商户号 。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置报名活动详情。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_detail")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_detail")]
|
||||
public Types.ActivityDetail ActivityDetail { get; set; } = new Types.ActivityDetail();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置补充信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("additional_information")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("additional_information")]
|
||||
public Types.AdditionalInfomation? AdditionalInfomation { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /rate-activity/applications 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateRateActivityApplicationResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("application_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("application_id")]
|
||||
public string ApplicationId { get; set; } = default!;
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /rate-activity/applications/id/{application_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetRateActivityApplicationByApplicationIdRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ApplicationId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /rate-activity/applications/id/{application_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetRateActivityApplicationByApplicationIdResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("application_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("application_state")]
|
||||
public string ApplicationState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置从业机构特约商户号 。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置驳回参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reject_parameter")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reject_parameter")]
|
||||
public string? RejectParameter { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置驳回原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reject_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reject_reason")]
|
||||
public string? RejectReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核通过时间。
|
||||
/// </summary>
|
||||
[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; }
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [PATCH] /rate-activity/applications/id/{application_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class UpdateRateActivityApplicationRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ActivityDetail
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Material : CreateRateActivityApplicationRequest.Types.ActivityDetail.Types.Material
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置活动费率字符串。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_rate")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_rate")]
|
||||
public string? ActivityRateString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请材料列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_apply_information")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_apply_information")]
|
||||
public IList<Types.Material>? MaterialList { get; set; }
|
||||
}
|
||||
|
||||
public class AdditionalInfomation : CreateRateActivityApplicationRequest.Types.AdditionalInfomation
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ApplicationId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置报名活动详情。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("activity_detail_modification")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("activity_detail_modification")]
|
||||
public Types.ActivityDetail? ActivityDetail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置补充信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("additional_information")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("additional_information")]
|
||||
public Types.AdditionalInfomation? AdditionalInfomation { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [PATCH] /rate-activity/applications/id/{application_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class UpdateRateActivityApplicationResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置申请单编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("application_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("application_id")]
|
||||
public string ApplicationId { get; set; } = default!;
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"application_id": "20000000011111"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"application_id": "20000000011111"
|
||||
}
|
Loading…
Reference in New Issue
Block a user