feat(tenpayv3): 新增平台保险理赔相关接口

This commit is contained in:
Fu Diwei 2025-03-14 13:41:55 +08:00
parent f806960ebd
commit 795033607c
20 changed files with 729 additions and 0 deletions

View File

@ -1062,6 +1062,16 @@
- 查询保险理赔功能开通状态:`GetPlatformSolutionEcommerceInsuranceCompensationContractBySubMerchantId`
- 平台收付通(平台保险理赔)
- 请求保险理赔:`CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBill`
- 请求保险理赔预下单:`CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransfer`
- 请求撤销保险理赔:`CancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBill`
- 查询保险理赔结果:`GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumber` / `GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillId`
- 代金券
- 创建代金券批次:`CreateMarketingFavorStock`

View File

@ -55,6 +55,120 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
}
#endregion
#region EcommerceInsuranceClaimBills
/// <summary>
/// <para>异步调用 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013504184 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillResponse> ExecuteCreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillAsync(this WechatTenpayClient client, Models.CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillRequest 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, "platsolution", "ecommerce", "mch-transfer", "insurance-claim-bills");
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/pre-transfer 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013504185 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransferResponse> ExecuteCreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransferAsync(this WechatTenpayClient client, Models.CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransferRequest 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, "platsolution", "ecommerce", "mch-transfer", "insurance-claim-bills", "pre-transfer");
return await client.SendFlurlRequestAsJsonAsync<Models.CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransferResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/out-bill-no/{out_bill_no}/cancel 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013504186 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillResponse> ExecuteCancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillAsync(this WechatTenpayClient client, Models.CancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillRequest 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, "platsolution", "ecommerce", "mch-transfer", "insurance-claim-bills", "out-bill-no", request.OutBillNumber, "cancel");
return await client.SendFlurlRequestAsJsonAsync<Models.CancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/out-bill-no/{out_bill_no} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013504187 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberResponse> ExecuteGetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberAsync(this WechatTenpayClient client, Models.GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberRequest 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, "platsolution", "ecommerce", "mch-transfer", "insurance-claim-bills", "out-bill-no", request.OutBillNumber)
.SetQueryParam("sub_mchid", request.SubMerchantId);
return await client.SendFlurlRequestAsJsonAsync<Models.GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [GET] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/bill-id/{bill_id} 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4013504188 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillIdResponse> ExecuteGetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillIdAsync(this WechatTenpayClient client, Models.GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillIdRequest 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, "platsolution", "ecommerce", "mch-transfer", "insurance-claim-bills", "bill-id", request.BillId)
.SetQueryParam("sub_mchid", request.SubMerchantId);
return await client.SendFlurlRequestAsJsonAsync<Models.GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region EcommerceRecharges
/// <summary>
/// <para>异步调用 [POST] /platsolution/ecommerce/recharges/apply 接口。</para>

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/out-bill-no/{out_bill_no}/cancel 接口的请求。</para>
/// </summary>
public class CancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutBillNumber { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,47 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/out-bill-no/{out_bill_no}/cancel 接口的响应。</para>
/// </summary>
public class CancelPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_bill_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_bill_no")]
public string OutBillNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付付款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("bill_id")]
[System.Text.Json.Serialization.JsonPropertyName("bill_id")]
public string BillId { get; set; } = default!;
/// <summary>
/// 获取或设置付款状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置撤销受理时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("cancel_accept_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("cancel_accept_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset CancelAcceptTime { get; set; }
}
}

View File

@ -0,0 +1,57 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/pre-transfer 接口的请求。</para>
/// </summary>
public class CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransferRequest : WechatTenpayRequest
{
public static class Types
{
public class Receiver : CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillRequest.Types.Receiver
{
}
}
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_bill_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_bill_no")]
public string OutBillNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置赔付用户信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver")]
[System.Text.Json.Serialization.JsonPropertyName("receiver")]
public Types.Receiver Receiver { get; set; } = new Types.Receiver();
/// <summary>
/// 获取或设置赔付金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public int Amount { get; set; }
/// <summary>
/// 获取或设置赔付原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_remark")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_remark")]
public string TransferRemark { get; set; } = string.Empty;
/// <summary>
/// 获取或设置商户回调地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("notify_url")]
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
public string? NotifyUrl { get; set; }
}
}

View File

@ -0,0 +1,47 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/pre-transfer 接口的响应。</para>
/// </summary>
public class CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillPreTransferResponse : WechatTenpayResponse
{
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_bill_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_bill_no")]
public string OutBillNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付付款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("bill_id")]
[System.Text.Json.Serialization.JsonPropertyName("bill_id")]
public string BillId { get; set; } = default!;
/// <summary>
/// 获取或设置受理时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("accept_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("accept_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset AcceptTime { get; set; }
/// <summary>
/// 获取或设置跳转领取页面的携带信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("package_info")]
[System.Text.Json.Serialization.JsonPropertyName("package_info")]
public string PackageInfo { get; set; } = default!;
}
}

View File

@ -0,0 +1,97 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills 接口的请求。</para>
/// </summary>
public class CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillRequest : WechatTenpayRequest
{
public static class Types
{
public class Receiver
{
public static class Types
{
public class TransactionInfo
{
/// <summary>
/// 获取或设置微信交易订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_id")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = string.Empty;
}
}
/// <summary>
/// 获取或设置转账接收方类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string? Type { get; set; }
/// <summary>
/// 获取或设置转账接收方订单信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_info")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_info")]
public Types.TransactionInfo? TransactionInfo { get; set; }
}
}
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_bill_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_bill_no")]
public string OutBillNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置赔付用户信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver")]
[System.Text.Json.Serialization.JsonPropertyName("receiver")]
public Types.Receiver Receiver { get; set; } = new Types.Receiver();
/// <summary>
/// 获取或设置赔付金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public int Amount { get; set; }
/// <summary>
/// 获取或设置赔付原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_remark")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_remark")]
public string TransferRemark { get; set; } = string.Empty;
/// <summary>
/// 获取或设置出资商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sponsor_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sponsor_mchid")]
public string? SponsorMerchantId { get; set; }
/// <summary>
/// 获取或设置转账场景 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_scene_id")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_scene_id")]
public string? TransferSceneId { get; set; }
/// <summary>
/// 获取或设置用户收款感知。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_recv_perception")]
[System.Text.Json.Serialization.JsonPropertyName("user_recv_perception")]
public string? UserReceivePerception { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [POST] /platsolution/ecommerce/mch-transfer/insurance-claim-bills 接口的响应。</para>
/// </summary>
public class CreatePlatformSolutionEcommerceMerchantTransferInsuranceClaimBillResponse : GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberResponse
{
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/bill-id/{bill_id} 接口的请求。</para>
/// </summary>
public class GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillIdRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置微信支付付款单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string BillId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/bill-id/{bill_id} 接口的响应。</para>
/// </summary>
public class GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByBillIdResponse : GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberResponse
{
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/out-bill-no/{out_bill_no} 接口的请求。</para>
/// </summary>
public class GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberRequest : WechatTenpayRequest
{
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string OutBillNumber { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,163 @@
using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
/// <summary>
/// <para>表示 [GET] /platsolution/ecommerce/mch-transfer/insurance-claim-bills/out-bill-no/{out_bill_no} 接口的响应。</para>
/// </summary>
public class GetPlatformSolutionEcommerceMerchantTransferInsuranceClaimBillByOutBillNumberResponse : WechatTenpayResponse
{
public static class Types
{
public class ReceiverDetail
{
public static class Types
{
public class Receiver
{
public static class Types
{
public class TransactionInfo
{
/// <summary>
/// 获取或设置微信交易订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_id")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置转账接收方类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string? Type { get; set; }
/// <summary>
/// 获取或设置转账接收方订单信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("transaction_info")]
[System.Text.Json.Serialization.JsonPropertyName("transaction_info")]
public Types.TransactionInfo? TransactionInfo { get; set; }
}
}
/// <summary>
/// 获取或设置赔付用户信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver")]
[System.Text.Json.Serialization.JsonPropertyName("receiver")]
public Types.Receiver Receiver { get; set; } = default!;
}
public class CloseInfo
{
/// <summary>
/// 获取或设置关闭原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("close_reason")]
[System.Text.Json.Serialization.JsonPropertyName("close_reason")]
public string CloseReason { get; set; } = default!;
/// <summary>
/// 获取或设置关闭时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("close_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("close_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset CloseTime { get; set; }
}
}
/// <summary>
/// 获取或设置服务商商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sp_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
public string MerchantId { get; set; } = default!;
/// <summary>
/// 获取或设置二级商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string? SubMerchantId { get; set; }
/// <summary>
/// 获取或设置商户单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_bill_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_bill_no")]
public string OutBillNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付付款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("bill_id")]
[System.Text.Json.Serialization.JsonPropertyName("bill_id")]
public string BillId { get; set; } = default!;
/// <summary>
/// 获取或设置转账接收方信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("receiver_detail")]
[System.Text.Json.Serialization.JsonPropertyName("receiver_detail")]
public Types.ReceiverDetail ReceiverDetail { get; set; } = default!;
/// <summary>
/// 获取或设置赔付金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
public int Amount { get; set; }
/// <summary>
/// 获取或设置付款状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = default!;
/// <summary>
/// 获取或设置赔付原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("transfer_remark")]
[System.Text.Json.Serialization.JsonPropertyName("transfer_remark")]
public string TransferRemark { get; set; } = default!;
/// <summary>
/// 获取或设置出资商户号。
/// </summary>
[Newtonsoft.Json.JsonProperty("sponsor_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sponsor_mchid")]
public string? SponsorMerchantId { get; set; }
/// <summary>
/// 获取或设置受理时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("accept_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("accept_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset AcceptTime { get; set; }
/// <summary>
/// 获取或设置成功时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("success_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("success_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
public DateTimeOffset? SuccessTime { get; set; }
/// <summary>
/// 获取或设置关闭信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("close_info")]
[System.Text.Json.Serialization.JsonPropertyName("close_info")]
public Types.CloseInfo? CloseInfo { get; set; }
}
}

View File

@ -0,0 +1,7 @@
{
"sub_mchid": "1900001109",
"out_bill_no": "plfk2020042013",
"bill_id": "1330000071100999991182020050700019480001",
"state": "SUCCESS",
"cancel_accept_time": "2015-05-20T13:29:35+08:00"
}

View File

@ -0,0 +1,13 @@
{
"sub_mchid": "1900001109",
"receiver": {
"type": "MERCHANT",
"transaction_info": {
"transaction_id": "1217752501201407033233368018"
}
},
"out_bill_no": "plfk2020042013",
"amount": 10000,
"transfer_remark": "直播违规扣罚",
"notify_url": "https://www.weixin.qq.com/wxpay/pay.php"
}

View File

@ -0,0 +1,7 @@
{
"sub_mchid": "1900001109",
"out_bill_no": "plfk2020042013",
"bill_id": "1330000071100999991182020050700019480001",
"accept_time": "2015-05-20T13:29:35+08:00",
"package_info": "affffddafdfafddffda=="
}

View File

@ -0,0 +1,12 @@
{
"sub_mchid": "1900001109",
"receiver": {
"type": "MERCHANT",
"transaction_info": {
"transaction_id": "1217752501201407033233368018"
}
},
"out_bill_no": "plfk2020042013",
"amount": 10000,
"transfer_remark": "直播违规扣罚"
}

View File

@ -0,0 +1,20 @@
{
"sp_mchid": "1900001108",
"sub_mchid": "1900001109",
"receiver_detail": {
"receiver": {
"type": "MERCHANT",
"transaction_info": {
"transaction_id": "1217752501201407033233368018"
}
}
},
"out_bill_no": "plfk2020042013",
"amount": 10000,
"transfer_remark": "直播违规扣罚",
"bill_id": "1330000071100999991182020050700019480001",
"state": "SUCCESS",
"accept_time": "2015-05-20T13:29:35+08:00",
"success_time": "2015-05-20T13:29:35+08:00",
"sponsor_mchid": "1900001109"
}

View File

@ -0,0 +1,24 @@
{
"sp_mchid": "1900001108",
"sub_mchid": "1900001109",
"receiver_detail": {
"receiver": {
"type": "MERCHANT",
"transaction_info": {
"transaction_id": "1217752501201407033233368018"
}
}
},
"out_bill_no": "plfk2020042013",
"amount": 10000,
"transfer_remark": "直播违规扣罚",
"bill_id": "1330000071100999991182020050700019480001",
"state": "SUCCESS",
"accept_time": "2015-05-20T13:29:35+08:00",
"success_time": "2015-05-20T13:29:35+08:00",
"close_info": {
"close_time": "2015-05-20T13:29:35+08:00",
"close_reason": "NOT_ENOUGH"
},
"sponsor_mchid": "1900001109"
}

View File

@ -0,0 +1,24 @@
{
"sp_mchid": "1900001108",
"sub_mchid": "1900001109",
"receiver_detail": {
"receiver": {
"type": "MERCHANT",
"transaction_info": {
"transaction_id": "1217752501201407033233368018"
}
}
},
"out_bill_no": "plfk2020042013",
"amount": 10000,
"transfer_remark": "直播违规扣罚",
"bill_id": "1330000071100999991182020050700019480001",
"state": "SUCCESS",
"accept_time": "2015-05-20T13:29:35+08:00",
"success_time": "2015-05-20T13:29:35+08:00",
"close_info": {
"close_time": "2015-05-20T13:29:35+08:00",
"close_reason": "NOT_ENOUGH"
},
"sponsor_mchid": "1900001109"
}