mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2026-02-10 17:56:21 +08:00
feat(tenpayv3): 新增商家转账到零钱相关回调通知模型
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 MCHTRANSFER.BATCH.CLOSED 通知的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-batch-callback-notice.html ]]> <br/>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class MerchantTransferBatchClosedResource : WechatTenpayEvent.Types.IDecryptedResource
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_batch_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("batch_id")]
|
||||
public string BatchId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置批次状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("batch_status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("batch_status")]
|
||||
public string BatchStatus { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_amount")]
|
||||
public int TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账总笔数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
|
||||
public int TotalNumber { get; set; }
|
||||
|
||||
/// <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("update_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("update_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset UpdateTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 MCHTRANSFER.BATCH.FINISHED 通知的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/transfer-batch-callback-notice.html ]]> <br/>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class MerchantTransferBatchFinishedResource : WechatTenpayEvent.Types.IDecryptedResource
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_batch_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_batch_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("batch_id")]
|
||||
public string BatchId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置批次状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("batch_status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("batch_status")]
|
||||
public string BatchStatus { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_amount")]
|
||||
public int TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账总笔数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
|
||||
public int TotalNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账成功金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("success_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("success_amount")]
|
||||
public int SuccessAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账成功笔数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("success_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("success_num")]
|
||||
public int SuccessNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账失败金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_amount")]
|
||||
public int FailAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置转账失败笔数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_num")]
|
||||
public int FailNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置批次更新时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("update_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("update_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset UpdateTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 MCHTRANSFER.BILL.FINISHED 通知的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/batch-transfer-to-balance/callback-notice.html ]]> <br/>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class MerchantTransferBillFinishedResource : WechatTenpayEvent.Types.IDecryptedResource
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <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("transfer_bill_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transfer_bill_no")]
|
||||
public string TransferBillNumber { 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("transfer_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transfer_amount")]
|
||||
public int TransferAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置收款用户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string? OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失败原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("fail_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("fail_reason")]
|
||||
public string? FailReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置更新时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("update_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("update_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置创建时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("create_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset CreateTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"out_batch_no": "bfatestnotify000033",
|
||||
"batch_id": "131000007026709999520922023081519403795655",
|
||||
"batch_status": "FINISHED",
|
||||
"total_num": 2,
|
||||
"total_amount": 200,
|
||||
"close_reason": "批次关闭原因",
|
||||
"mchid": "2483775951",
|
||||
"update_time": "2023-08-15T20:33:22+08:00"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"out_batch_no": "bfatestnotify000033",
|
||||
"batch_id": "131000007026709999520922023081519403795655",
|
||||
"batch_status": "FINISHED",
|
||||
"total_num": 2,
|
||||
"total_amount": 200,
|
||||
"success_amount": 100,
|
||||
"success_num": 1,
|
||||
"fail_amount": 100,
|
||||
"fail_num": 1,
|
||||
"mchid": "2483775951",
|
||||
"update_time": "2023-08-15T20:33:22+08:00"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"mchid": "1900001109",
|
||||
"out_bill_no": "plfk2020042013",
|
||||
"transfer_bill_no": "1330000071100999991182020050700019480001",
|
||||
"state": "ACCEPTED",
|
||||
"transfer_amount": 400000,
|
||||
"fail_reason": "PAYEE_ACCOUNT_ABNORMAL",
|
||||
"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
|
||||
"create_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"update_time": "example_update_time"
|
||||
}
|
||||
Reference in New Issue
Block a user