mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-29 09:54:44 +08:00
feat(tenpayv3): 新增商户管理与交易拦截记录相关接口
This commit is contained in:
@@ -70,6 +70,7 @@
|
||||
| √ | 商户管理:商户开户意愿确认 | 合作伙伴 | |
|
||||
| √ | 商户管理:商户平台处置通知 | 合作伙伴 | |
|
||||
| √ | 商户管理:不活跃商户身份核实 | 合作伙伴 | |
|
||||
| √ | 商户管理:商户管理记录 | 合作伙伴 | |
|
||||
| √ | 其他:消费卡 | 直连商户 & 合作伙伴 | |
|
||||
| √ | 其他:代扣服务切卡组件 | 直连商户 & 合作伙伴 | |
|
||||
| √ | 其他:图片上传(营销专用) | 直连商户 & 合作伙伴 | |
|
||||
@@ -1524,6 +1525,24 @@
|
||||
|
||||
- 查询不活跃商户身份核实结果:`GetComplianceInactiveMerchantIdentityVerificationByVerificationId`
|
||||
|
||||
- 商户管理记录
|
||||
|
||||
- 分页查询子商户名下的商户管理记录:`QueryMerchantManageRecords`
|
||||
|
||||
- 查询子商户下指定商户管理记录:`GetMerchantManageRecord`
|
||||
|
||||
- 对指定商户管理记录提交资料:`CreateMerchantManageRecordSubmission`
|
||||
|
||||
- 上传商户提交资料文件:`UploadMerchantManageSubmissionFile`
|
||||
|
||||
- 分页查询子商户名下的交易拦截记录:`QueryTransactionBlockRecords`
|
||||
|
||||
- 查询子商户交易拦截记录详情:`GetTransactionBlockRecord`
|
||||
|
||||
- 发起交易拦截申诉:`CreateTransactionBlockSubmission`
|
||||
|
||||
- 查询交易拦截申诉详情:`GetTransactionBlockSubmission`
|
||||
|
||||
- 扩展工具
|
||||
|
||||
- 电商订单实名校验
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Flurl.Http;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
{
|
||||
using SKIT.FlurlHttpClient.Primitives;
|
||||
|
||||
public static class WechatTenpayClientExecuteMerchantManageExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /mch-manage/mch-manage-records/sub-mchid/{sub_mchid} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940381 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.QueryMerchantManageRecordsResponse> ExecuteQueryMerchantManageRecordsAsync(this WechatTenpayClient client, Models.QueryMerchantManageRecordsRequest 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, "mch-manage", "mch-manage-records", "sub-mchid", request.SubMerchantId)
|
||||
.SetQueryParam("manage_record_type", request.ManageRecordType)
|
||||
.SetQueryParam("manage_record_state", request.ManageRecordState)
|
||||
.SetQueryParam("limit", request.Limit)
|
||||
.SetQueryParam("offset", request.Offset);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.QueryMerchantManageRecordsResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /mch-manage/mch-manage-records/{manage_record_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940383 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetMerchantManageRecordResponse> ExecuteGetMerchantManageRecordAsync(this WechatTenpayClient client, Models.GetMerchantManageRecordRequest 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, "mch-manage", "mch-manage-records", request.ManageRecordId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetMerchantManageRecordResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /mch-manage/mch-manage-records/{manage_record_id}/mch-manage-submissions 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940417 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateMerchantManageRecordSubmissionResponse> ExecuteCreateMerchantManageRecordSubmissionAsync(this WechatTenpayClient client, Models.CreateMerchantManageRecordSubmissionRequest 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, "mch-manage", "mch-manage-records", request.ManageRecordId, "mch-manage-submissions");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateMerchantManageRecordSubmissionResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /mch-manage/submission-files/sub-mchid/{sub_mchid}/upload 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940425 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.UploadMerchantManageSubmissionFileResponse> ExecuteUploadMerchantManageSubmissionFileAsync(this WechatTenpayClient client, Models.UploadMerchantManageSubmissionFileRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.FileName is null)
|
||||
request.FileName = Guid.NewGuid().ToString("N").ToLower();
|
||||
|
||||
if (request.FileHash is null)
|
||||
request.FileHash = EncodedString.ToHexString(Utilities.SHA256Utility.Hash(request.FileBytes)).Value!.ToLower();
|
||||
|
||||
if (request.FileContentType is null)
|
||||
request.FileContentType = MimeTypes.GetMimeMapping(request.FileName!);
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "mch-manage", "submission-files", "sub-mchid", request.SubMerchantId, "upload");
|
||||
|
||||
using var httpContent = Utilities.HttpContentBuilder.BuildWithFile(fileName: request.FileName, fileBytes: request.FileBytes, fileContentType: request.FileContentType, fileMetaJson: client.JsonSerializer.Serialize(request), formDataName: "submission_file");
|
||||
httpContent.Add(new StringContent(request.ItemId), "item_id");
|
||||
return await client.SendFlurlRequestAsync<Models.UploadMerchantManageSubmissionFileResponse>(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Flurl.Http;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
{
|
||||
using SKIT.FlurlHttpClient.Primitives;
|
||||
|
||||
public static class WechatTenpayClientExecuteTransactionBlockExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /transaction-block/transaction-block-records/sub-mchid/{sub_mchid} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940432 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.QueryTransactionBlockRecordsResponse> ExecuteQueryTransactionBlockRecordsAsync(this WechatTenpayClient client, Models.QueryTransactionBlockRecordsRequest 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, "transaction-block", "transaction-block-records", "sub-mchid", request.SubMerchantId)
|
||||
.SetQueryParam("limit", request.Limit)
|
||||
.SetQueryParam("offset", request.Offset);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.QueryTransactionBlockRecordsResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /transaction-block/transaction-block-records/{block_record_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940435 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetTransactionBlockRecordResponse> ExecuteGetTransactionBlockRecordAsync(this WechatTenpayClient client, Models.GetTransactionBlockRecordRequest 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, "transaction-block", "transaction-block-records", request.BlockRecordId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetTransactionBlockRecordResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /transaction-block/transaction-block-submissions/sub-mchid/{sub_mchid} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940446 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateTransactionBlockSubmissionResponse> ExecuteCreateTransactionBlockSubmissionAsync(this WechatTenpayClient client, Models.CreateTransactionBlockSubmissionRequest 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, "transaction-block", "transaction-block-submissions", "sub-mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateTransactionBlockSubmissionResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /transaction-block/transaction-block-submissions/{block_submission_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014940449 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetTransactionBlockSubmissionResponse> ExecuteGetTransactionBlockSubmissionAsync(this WechatTenpayClient client, Models.GetTransactionBlockSubmissionRequest 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, "transaction-block", "transaction-block-submissions", request.BlockSubmissionId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetTransactionBlockSubmissionResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mch-manage/mch-manage-records/{manage_record_id}/mch-manage-submissions 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateMerchantManageRecordSubmissionRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ManageRecordId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置提交数据(JSON 格式)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_data")]
|
||||
public string SubmitData { get; set; } = "{}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mch-manage/mch-manage-records/{manage_record_id}/mch-manage-submissions 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateMerchantManageRecordSubmissionResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理提交资料记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_submission_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_submission_id")]
|
||||
public string ManageSubmissionId { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mch-manage/mch-manage-records/{manage_record_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetMerchantManageRecordRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ManageRecordId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mch-manage/mch-manage-records/{manage_record_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetMerchantManageRecordResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_record_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_record_id")]
|
||||
public string ManageRecordId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_record_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_record_type")]
|
||||
public string ManageRecordType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_record_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_record_state")]
|
||||
public string ManageRecordState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置管控时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset ManageTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置管控原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_reason")]
|
||||
public string ManageReason { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置限制功能。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("limit_ability")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("limit_ability")]
|
||||
public string? LimitAbility { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控方式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_way")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_way")]
|
||||
public string? RecoverWay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否允许提交资料。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("allow_submit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("allow_submit")]
|
||||
public bool IsAllowSubmit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置禁止提交资料原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("forbid_submit_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("forbid_submit_reason")]
|
||||
public string? ForbidSubmitReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置可提交资料开始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_start_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_start_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SubmitStartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置可提交资料结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SubmitEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置要求提交的资料(JSON 格式)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("requested_item_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("requested_item_info")]
|
||||
public string? RequestedData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_reason")]
|
||||
public string? RecoverReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? RecoverTime { 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("approve_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("approve_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? ApproveTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mch-manage/mch-manage-records/sub-mchid/{sub_mchid} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class QueryMerchantManageRecordsRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? ManageRecordType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? ManageRecordState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页大小。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页开始位置。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int? Offset { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /mch-manage/mch-manage-records/sub-mchid/{sub_mchid} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class QueryMerchantManageRecordsResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Record
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_record_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_record_id")]
|
||||
public string ManageRecordId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_record_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_record_type")]
|
||||
public string ManageRecordType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_record_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_record_state")]
|
||||
public string ManageRecordState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置管控时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset ManageTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置管控原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("manage_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("manage_reason")]
|
||||
public string ManageReason { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置限制功能。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("limit_ability")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("limit_ability")]
|
||||
public string? LimitAbility { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控方式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_way")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_way")]
|
||||
public string? RecoverWay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否允许提交资料。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("allow_submit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("allow_submit")]
|
||||
public bool IsAllowSubmit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置禁止提交资料原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("forbid_submit_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("forbid_submit_reason")]
|
||||
public string? ForbidSubmitReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置可提交资料开始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_start_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_start_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SubmitStartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置可提交资料结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? SubmitEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置要求提交的资料(JSON 格式)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("requested_item_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("requested_item_info")]
|
||||
public string? RequestedData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_reason")]
|
||||
public string? RecoverReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? RecoverTime { 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("approve_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("approve_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? ApproveTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户管理记录列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("data")]
|
||||
public Types.Record[] RecordList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页大小。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("limit")]
|
||||
public int Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页开始位置。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("offset")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("offset")]
|
||||
public int Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int TotalCount { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mch-manage/submission-files/sub-mchid/{sub_mchid}/upload 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class UploadMerchantManageSubmissionFileRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置资料项 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ItemId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置文件字节数组。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public byte[] FileBytes { get; set; } = Array.Empty<byte>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置文件名。如果不指定将由系统自动生成。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("file_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("file_name")]
|
||||
public string? FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置文件摘要。如果不指定将由系统自动生成。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("file_digest")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("file_digest")]
|
||||
public string? FileHash { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置文件 Conent-Type。如果不指定将由系统自动生成。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? FileContentType { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /mch-manage/submission-files/sub-mchid/{sub_mchid}/upload 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class UploadMerchantManageSubmissionFileResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置文件 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("file_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("file_id")]
|
||||
public string FileId { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /transaction-block/transaction-block-submissions/sub-mchid/{sub_mchid} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateTransactionBlockSubmissionRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户申诉单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merchant_submit_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merchant_submit_id")]
|
||||
public string MerchantSubmitId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置提交数据(JSON 格式)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_data")]
|
||||
public string SubmitData { get; set; } = "{}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /transaction-block/transaction-block-submissions/sub-mchid/{sub_mchid} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateTransactionBlockSubmissionResponse : GetTransactionBlockSubmissionResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /transaction-block/transaction-block-records/{block_record_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetTransactionBlockRecordRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易拦截记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string BlockRecordId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /transaction-block/transaction-block-records/{block_record_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetTransactionBlockRecordResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置交易拦截记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_record_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_record_id")]
|
||||
public string BlockRecordId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置拦截时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset BlockTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置拦截原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_reason")]
|
||||
public string BlockReason { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置拦截笔数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("number_of_block")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("number_of_block")]
|
||||
public string? NumberOfBlock { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控方式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_way")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_way")]
|
||||
public string? RecoverWay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置要求提交的资料(JSON 格式)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("requested_item_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("requested_item_info")]
|
||||
public string? RequestedData { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /transaction-block/transaction-block-submissions/{block_submission_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetTransactionBlockSubmissionRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置交易拦截申诉 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string BlockSubmissionId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /transaction-block/transaction-block-submissions/{block_submission_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetTransactionBlockSubmissionResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置交易拦截申诉 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_submission_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_submission_id")]
|
||||
public string BlockSubmissionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置提交时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("submit_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("submit_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset SubmitTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核结果。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("review_result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("review_result")]
|
||||
public string? ReviewResult { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("review_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("review_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? ReviewTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核驳回原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("review_reject_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("review_reject_reason")]
|
||||
public string? ReviewRejectReason { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /transaction-block/transaction-block-records/sub-mchid/{sub_mchid} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class QueryTransactionBlockRecordsRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页大小。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页开始位置。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int? Offset { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /transaction-block/transaction-block-records/sub-mchid/{sub_mchid} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class QueryTransactionBlockRecordsResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Record
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置交易拦截记录 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_record_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_record_id")]
|
||||
public string BlockRecordId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置拦截时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset BlockTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置拦截原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("block_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("block_reason")]
|
||||
public string BlockReason { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置拦截笔数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("number_of_block")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("number_of_block")]
|
||||
public string? NumberOfBlock { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除管控方式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recover_way")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recover_way")]
|
||||
public string? RecoverWay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置要求提交的资料(JSON 格式)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("requested_item_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("requested_item_info")]
|
||||
public string? RequestedData { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易拦截记录列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("data")]
|
||||
public Types.Record[] RecordList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页大小。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("limit")]
|
||||
public int Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页开始位置。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("offset")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("offset")]
|
||||
public int Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置券总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int TotalCount { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"submit_data": "{ \t\"record_fields\": [{ \t\t\"item_id\": 100001, \t\t\"name\": \"身份证号\", \t\t\"type\": 1, \t\t\"field_name\": \"FCertCardId\", \t\t\"repeated_field_data\": [\"ri8U5FUSmHh1peGNBUvG+VwGHl31ymiLms5V1yhTbBWUApJDInme1b+ndtrlAielJYpQE41sSxj46ePMto2mySBIJjgCIyChLCTQ580M5pNKglAkjTnXwzJXyPhpyzkpdeFfUDjWc+qd6G4UwrL70br/EEqfQbGNaUKX6jAGjB8wd8wndImMB3iB2vUuAOL+6giLWCBBaC50QRfCTDlGi0c41Gt92tCrRSI7pWzU1cxxJwng7M53/J5PhI+eikLqbhUYlRPHYl6j0ouRItWHCRORYKuz6enluXyFwUCaaR3IeINSM8CwjHp6spnTIo70UaRJWAcZ0jQp/lwX2JVxaw==\"] \t}, { \t\t\"item_id\": 100002, \t\t\"name\": \"门店照片\", \t\t\"type\": 2, \t\t\"field_name\": \"FImages\", \t\t\"repeated_field_data\": [\"xxx1.jpg\"] \t}, { \t\t\"item_id\": 100003, \t\t\"name\": \"身份证照片\", \t\t\"type\": 2, \t\t\"field_name\": \"FImages\", \t\t\"repeated_field_data\": [\"xxx1.jpg\", \"xxx2.jpg\"] \t}, { \t\t\"item_id\": 100004, \t\t\"name\": \"店铺地址\", \t\t\"type\": 3, \t\t\"field_name\": \"FAddRess\", \t\t\"repeated_field_data\": [\"{\\\"longitude\\\":\\\"37.5\\\",\\\"latitude\\\":\\\"123.5\\\",\\\"province\\\":\\\"广东省\\\",\\\"city\\\":\\\"深圳市\\\",\\\"area\\\":\\\"南山区\\\",\\\"street\\\":\\\"XX街道\\\",\\\"address\\\":\\\"XX路XX号\\\",\\\"name\\\":\\\"XXXX公司\\\"}\"] \t}, { \t\t\"item_id\": 100005, \t\t\"name\": \"经营场景\", \t\t\"type\": 4, \t\t\"field_name\": \"FBusinessScenarios\", \t\t\"repeated_field_data\": [\"线上经营\", \"线上线下经营\"] \t}, { \t\t\"item_id\": 100006, \t\t\"name\": \"营业时间\", \t\t\"type\": 4, \t\t\"field_name\": \"FOpeningHours\", \t\t\"repeated_field_data\": [\"09:00:00\", \"20:00:00\"] \t}] }",
|
||||
"sub_mchid": "123000110"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"manage_submission_id": "S0120190217140201012345672111223"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"sub_mchid": "123000110",
|
||||
"manage_record_id": "M1210999900435123451697535102441",
|
||||
"manage_record_type": "FUNCTIONAL_LIMIT_RECORD",
|
||||
"manage_time": "2018-06-08T10:34:56+08:00",
|
||||
"manage_reason": "涉嫌信用卡套现",
|
||||
"limit_ability": "关闭支付权限,关闭体现权限",
|
||||
"recover_way": "SUBMIT_INFORMATION",
|
||||
"allow_submit": true,
|
||||
"forbid_submit_reason": "应平台管理要求,此单据不支持申诉",
|
||||
"submit_start_time": "2018-06-08T10:34:56+08:00",
|
||||
"submit_end_time": "2018-06-08T10:34:56+08:00",
|
||||
"requested_item_info": "{ \t\"record_fields\": [{ \t\t\t\"item_id\": \"100004\", \t\t\t\"field_name\": \"legal_person_card_id\", \t\t\t\"name\": \"企业法人身份证号\", \t\t\t\"type\": 1, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请输入企业法人身份证号\", \t\t\t\"tooltip\": \"需要填写完整身份证号\", \t\t\t\"required\": 1, \t\t\t\"string_check_rule\": { \t\t\t\t\"min_string_length\": 1, \t\t\t\t\"max_string_length\": 50, \t\t\t\t\"validator\": \"idcard\" \t\t\t}, \t\t\t\"need_encrypt\": true \t\t}, \t\t{ \t\t\t\"item_id\": \"100005\", \t\t\t\"field_name\": \"legal_person_cert_type\", \t\t\t\"name\": \"企业法人证件类型\", \t\t\t\"type\": 4, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请选择证件类型\", \t\t\t\"tooltip\": \"\", \t\t\t\"required\": 0, \t\t\t\"enum_check_rule\": { \t\t\t\t\"min_list_length\": 1, \t\t\t\t\"max_list_length\": 1, \t\t\t\t\"enum_values\": [\"大陆居民身份证\", \"港澳台通行证\"] \t\t\t}, \t\t\t\"need_encrypt\": false \t\t}, \t\t{ \t\t\t\"item_id\": \"100006\", \t\t\t\"field_name\": \"inland_cert_card_image\", \t\t\t\"name\": \"大陆居民身份证照片\", \t\t\t\"type\": 2, \t\t\t\"tips\": \"请上传图片\", \t\t\t\"placeholder\": \"\", \t\t\t\"tooltip\": \"需要正面和反面两张照片\", \t\t\t\"required\": 1, \t\t\t\"need_encrypt\": false, \t\t\t\"file_check_rule\": { \t\t\t\t\"min_list_length\": 2, \t\t\t\t\"max_list_length\": 2, \t\t\t\t\"enum_file_exts\": [\"png\", \"jpg\", \"jpeg\"], \t\t\t\t\"max_file_size\": 5 \t\t\t}, \t\t\t\"relations\": [{ \t\t\t\t\"source_key\": 100005, \t\t\t\t\"source_value\": \"大陆居民身份证\" \t\t\t}] \t\t} \t] }",
|
||||
"manage_record_state": "PENDING",
|
||||
"recover_time": "2018-06-08T10:34:56+08:00",
|
||||
"recover_reason": "MERCHANT_SUBMIT_RECOVER",
|
||||
"reject_reason": "身份证信息遮挡,请上传清晰的身份证图片",
|
||||
"approve_time": "2018-06-08T10:34:56+08:00"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"sub_mchid": "123000110",
|
||||
"manage_record_id": "M1210999900435123451697535102441",
|
||||
"manage_record_type": "FUNCTIONAL_LIMIT_RECORD",
|
||||
"manage_time": "2018-06-08T10:34:56+08:00",
|
||||
"manage_reason": "涉嫌信用卡套现",
|
||||
"limit_ability": "关闭支付权限,关闭体现权限",
|
||||
"recover_way": "SUBMIT_INFORMATION",
|
||||
"allow_submit": true,
|
||||
"forbid_submit_reason": "应平台管理要求,此单据不支持申诉",
|
||||
"submit_start_time": "2018-06-08T10:34:56+08:00",
|
||||
"submit_end_time": "2018-06-08T10:34:56+08:00",
|
||||
"requested_item_info": "{ \t\"record_fields\": [{ \t\t\t\"item_id\": \"100004\", \t\t\t\"field_name\": \"legal_person_card_id\", \t\t\t\"name\": \"企业法人身份证号\", \t\t\t\"type\": 1, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请输入企业法人身份证号\", \t\t\t\"tooltip\": \"需要填写完整身份证号\", \t\t\t\"required\": 1, \t\t\t\"string_check_rule\": { \t\t\t\t\"min_string_length\": 1, \t\t\t\t\"max_string_length\": 50, \t\t\t\t\"validator\": \"idcard\" \t\t\t}, \t\t\t\"need_encrypt\": true \t\t}, \t\t{ \t\t\t\"item_id\": \"100005\", \t\t\t\"field_name\": \"legal_person_cert_type\", \t\t\t\"name\": \"企业法人证件类型\", \t\t\t\"type\": 4, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请选择证件类型\", \t\t\t\"tooltip\": \"\", \t\t\t\"required\": 0, \t\t\t\"enum_check_rule\": { \t\t\t\t\"min_list_length\": 1, \t\t\t\t\"max_list_length\": 1, \t\t\t\t\"enum_values\": [\"大陆居民身份证\", \"港澳台通行证\"] \t\t\t}, \t\t\t\"need_encrypt\": false \t\t}, \t\t{ \t\t\t\"item_id\": \"100006\", \t\t\t\"field_name\": \"inland_cert_card_image\", \t\t\t\"name\": \"大陆居民身份证照片\", \t\t\t\"type\": 2, \t\t\t\"tips\": \"请上传图片\", \t\t\t\"placeholder\": \"\", \t\t\t\"tooltip\": \"需要正面和反面两张照片\", \t\t\t\"required\": 1, \t\t\t\"need_encrypt\": false, \t\t\t\"file_check_rule\": { \t\t\t\t\"min_list_length\": 2, \t\t\t\t\"max_list_length\": 2, \t\t\t\t\"enum_file_exts\": [\"png\", \"jpg\", \"jpeg\"], \t\t\t\t\"max_file_size\": 5 \t\t\t}, \t\t\t\"relations\": [{ \t\t\t\t\"source_key\": 100005, \t\t\t\t\"source_value\": \"大陆居民身份证\" \t\t\t}] \t\t} \t] }",
|
||||
"manage_record_state": "PENDING",
|
||||
"recover_time": "2018-06-08T10:34:56+08:00",
|
||||
"recover_reason": "MERCHANT_SUBMIT_RECOVER",
|
||||
"reject_reason": "身份证信息遮挡,请上传清晰的身份证图片",
|
||||
"approve_time": "2018-06-08T10:34:56+08:00"
|
||||
}
|
||||
],
|
||||
"offset": 10,
|
||||
"limit": 5,
|
||||
"total_count": 1234
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"file_name": "filea.jpg",
|
||||
"file_digest": "B94D27B9934D3E08A52E52D7DA7DABFAC484EFE37A5380EE9088F7ACE2EFCDE9"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"file_id": "dklfjaljdflakjfkljasdf.jpg"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"submit_data": "{ \t\"record_fields\": [{ \t\t\"item_id\": 100001, \t\t\"name\": \"身份证号\", \t\t\"type\": 1, \t\t\"field_name\": \"FCertCardId\", \t\t\"repeated_field_data\": [\"ri8U5FUSmHh1peGNBUvG+VwGHl31ymiLms5V1yhTbBWUApJDInme1b+ndtrlAielJYpQE41sSxj46ePMto2mySBIJjgCIyChLCTQ580M5pNKglAkjTnXwzJXyPhpyzkpdeFfUDjWc+qd6G4UwrL70br/EEqfQbGNaUKX6jAGjB8wd8wndImMB3iB2vUuAOL+6giLWCBBaC50QRfCTDlGi0c41Gt92tCrRSI7pWzU1cxxJwng7M53/J5PhI+eikLqbhUYlRPHYl6j0ouRItWHCRORYKuz6enluXyFwUCaaR3IeINSM8CwjHp6spnTIo70UaRJWAcZ0jQp/lwX2JVxaw==\"] \t}, { \t\t\"item_id\": 100002, \t\t\"name\": \"门店照片\", \t\t\"type\": 2, \t\t\"field_name\": \"FImages\", \t\t\"repeated_field_data\": [\"xxx1.jpg\"] \t}, { \t\t\"item_id\": 100003, \t\t\"name\": \"身份证照片\", \t\t\"type\": 2, \t\t\"field_name\": \"FImages\", \t\t\"repeated_field_data\": [\"xxx1.jpg\", \"xxx2.jpg\"] \t}, { \t\t\"item_id\": 100004, \t\t\"name\": \"店铺地址\", \t\t\"type\": 3, \t\t\"field_name\": \"FAddRess\", \t\t\"repeated_field_data\": [\"{\\\"longitude\\\":\\\"37.5\\\",\\\"latitude\\\":\\\"123.5\\\",\\\"province\\\":\\\"广东省\\\",\\\"city\\\":\\\"深圳市\\\",\\\"area\\\":\\\"南山区\\\",\\\"street\\\":\\\"XX街道\\\",\\\"address\\\":\\\"XX路XX号\\\",\\\"name\\\":\\\"XXXX公司\\\"}\"] \t}, { \t\t\"item_id\": 100005, \t\t\"name\": \"经营场景\", \t\t\"type\": 4, \t\t\"field_name\": \"FBusinessScenarios\", \t\t\"repeated_field_data\": [\"线上经营\", \"线上线下经营\"] \t}, { \t\t\"item_id\": 100006, \t\t\"name\": \"营业时间\", \t\t\"type\": 4, \t\t\"field_name\": \"FOpeningHours\", \t\t\"repeated_field_data\": [\"09:00:00\", \"20:00:00\"] \t}] }",
|
||||
"merchant_submit_id": "ABC123456789"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"block_submission_id": "B021234566799876aacsecd",
|
||||
"submit_time": "2018-06-08T10:34:56+08:00",
|
||||
"review_result": "EMPTY",
|
||||
"review_time": "2018-06-08T10:34:56+08:00",
|
||||
"review_reject_reason": "身份证图片有遮挡,请上传清晰的身份证图片"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"block_record_id": "23400",
|
||||
"block_time": "2018-06-08T10:34:56+08:00",
|
||||
"block_reason": "涉嫌信用卡套现",
|
||||
"number_of_block": "LESS_THAN_TWENTY",
|
||||
"recover_way": "SUBMIT_INFORMATION",
|
||||
"requested_item_info": "{ \t\"record_fields\": [{ \t\t\t\"item_id\": \"100004\", \t\t\t\"field_name\": \"legal_person_card_id\", \t\t\t\"name\": \"企业法人身份证号\", \t\t\t\"type\": 1, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请输入企业法人身份证号\", \t\t\t\"tooltip\": \"需要填写完整身份证号\", \t\t\t\"required\": 1, \t\t\t\"string_check_rule\": { \t\t\t\t\"min_string_length\": 1, \t\t\t\t\"max_string_length\": 50, \t\t\t\t\"validator\": \"idcard\" \t\t\t}, \t\t\t\"need_encrypt\": true \t\t}, \t\t{ \t\t\t\"item_id\": \"100005\", \t\t\t\"field_name\": \"legal_person_cert_type\", \t\t\t\"name\": \"企业法人证件类型\", \t\t\t\"type\": 4, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请选择证件类型\", \t\t\t\"tooltip\": \"\", \t\t\t\"required\": 0, \t\t\t\"enum_check_rule\": { \t\t\t\t\"min_list_length\": 1, \t\t\t\t\"max_list_length\": 1, \t\t\t\t\"enum_values\": [\"大陆居民身份证\", \"港澳台通行证\"] \t\t\t}, \t\t\t\"need_encrypt\": false \t\t}, \t\t{ \t\t\t\"item_id\": \"100006\", \t\t\t\"field_name\": \"inland_cert_card_image\", \t\t\t\"name\": \"大陆居民身份证照片\", \t\t\t\"type\": 2, \t\t\t\"tips\": \"请上传图片\", \t\t\t\"placeholder\": \"\", \t\t\t\"tooltip\": \"需要正面和反面两张照片\", \t\t\t\"required\": 1, \t\t\t\"need_encrypt\": false, \t\t\t\"file_check_rule\": { \t\t\t\t\"min_list_length\": 2, \t\t\t\t\"max_list_length\": 2, \t\t\t\t\"enum_file_exts\": [\"png\", \"jpg\", \"jpeg\"], \t\t\t\t\"max_file_size\": 5 \t\t\t}, \t\t\t\"relations\": [{ \t\t\t\t\"source_key\": 100005, \t\t\t\t\"source_value\": \"大陆居民身份证\" \t\t\t}] \t\t} \t] }"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"block_submission_id": "B021234566799876aacsecd",
|
||||
"submit_time": "2018-06-08T10:34:56+08:00",
|
||||
"review_result": "EMPTY",
|
||||
"review_time": "2018-06-08T10:34:56+08:00",
|
||||
"review_reject_reason": "身份证图片有遮挡,请上传清晰的身份证图片"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"block_record_id": "23400",
|
||||
"block_time": "2018-06-08T10:34:56+08:00",
|
||||
"block_reason": "涉嫌信用卡套现",
|
||||
"number_of_block": "LESS_THAN_TWENTY",
|
||||
"recover_way": "SUBMIT_INFORMATION",
|
||||
"requested_item_info": "{ \t\"record_fields\": [{ \t\t\t\"item_id\": \"100004\", \t\t\t\"field_name\": \"legal_person_card_id\", \t\t\t\"name\": \"企业法人身份证号\", \t\t\t\"type\": 1, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请输入企业法人身份证号\", \t\t\t\"tooltip\": \"需要填写完整身份证号\", \t\t\t\"required\": 1, \t\t\t\"string_check_rule\": { \t\t\t\t\"min_string_length\": 1, \t\t\t\t\"max_string_length\": 50, \t\t\t\t\"validator\": \"idcard\" \t\t\t}, \t\t\t\"need_encrypt\": true \t\t}, \t\t{ \t\t\t\"item_id\": \"100005\", \t\t\t\"field_name\": \"legal_person_cert_type\", \t\t\t\"name\": \"企业法人证件类型\", \t\t\t\"type\": 4, \t\t\t\"tips\": \"\", \t\t\t\"placeholder\": \"请选择证件类型\", \t\t\t\"tooltip\": \"\", \t\t\t\"required\": 0, \t\t\t\"enum_check_rule\": { \t\t\t\t\"min_list_length\": 1, \t\t\t\t\"max_list_length\": 1, \t\t\t\t\"enum_values\": [\"大陆居民身份证\", \"港澳台通行证\"] \t\t\t}, \t\t\t\"need_encrypt\": false \t\t}, \t\t{ \t\t\t\"item_id\": \"100006\", \t\t\t\"field_name\": \"inland_cert_card_image\", \t\t\t\"name\": \"大陆居民身份证照片\", \t\t\t\"type\": 2, \t\t\t\"tips\": \"请上传图片\", \t\t\t\"placeholder\": \"\", \t\t\t\"tooltip\": \"需要正面和反面两张照片\", \t\t\t\"required\": 1, \t\t\t\"need_encrypt\": false, \t\t\t\"file_check_rule\": { \t\t\t\t\"min_list_length\": 2, \t\t\t\t\"max_list_length\": 2, \t\t\t\t\"enum_file_exts\": [\"png\", \"jpg\", \"jpeg\"], \t\t\t\t\"max_file_size\": 5 \t\t\t}, \t\t\t\"relations\": [{ \t\t\t\t\"source_key\": 100005, \t\t\t\t\"source_value\": \"大陆居民身份证\" \t\t\t}] \t\t} \t] }"
|
||||
}
|
||||
],
|
||||
"offset": 10,
|
||||
"limit": 5,
|
||||
"total_count": 1234
|
||||
}
|
||||
Reference in New Issue
Block a user