Selaa lähdekoodia

[WeChatPay.V3] 《申请退款API》、《查询退款API》新增字段 from(退款出资账户及金额)

Roc 4 vuotta sitten
vanhempi
sitoutus
231ca72f2d

+ 18 - 1
src/Essensoft.Paylink.WeChatPay/V3/Domain/RefundAmount.cs

@@ -1,4 +1,5 @@
-using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
 
 namespace Essensoft.Paylink.WeChatPay.V3.Domain
 {
@@ -17,6 +18,22 @@ namespace Essensoft.Paylink.WeChatPay.V3.Domain
         [JsonPropertyName("refund")]
         public int Refund { get; set; }
 
+        /// <summary>
+        /// 退款出资账户及金额
+        /// </summary>
+        /// <remarks>
+        /// 退款需要从指定账户出资时,传递此参数指定出资金额(币种的最小单位,只能为整数)。
+        /// 同时指定多个账户出资退款的使用场景需要满足以下条件:
+        ///   1、未开通退款支出分离产品功能;
+        ///   2、订单属于分账订单,且分账处于待分账或分账中状态。
+        /// 参数传递需要满足条件:
+        /// 1、基本账户可用余额出资金额与基本账户不可用余额出资金额之和等于退款金额;
+        /// 2、账户类型不能重复。
+        /// 上述任一条件不满足将返回错误
+        /// </remarks>
+        [JsonPropertyName("from")]
+        public List<RefundAmountFrom> Form { get; set; }
+
         /// <summary>
         /// 原订单金额
         /// </summary>

+ 33 - 0
src/Essensoft.Paylink.WeChatPay/V3/Domain/RefundAmountFrom.cs

@@ -0,0 +1,33 @@
+using System.Text.Json.Serialization;
+
+namespace Essensoft.Paylink.WeChatPay.V3.Domain
+{
+    /// <summary>
+    /// 退款出资账户及金额
+    /// </summary>
+    public class RefundAmountFrom : WeChatPayObject
+    {
+        /// <summary>
+        /// 出资账户类型
+        /// </summary>
+        /// <remarks>
+        /// 下面枚举值多选一。
+        /// 枚举值:
+        /// AVAILABLE : 可用余额
+        /// UNAVAILABLE : 不可用余额
+        /// <para>示例值:AVAILABLE</para>
+        /// </remarks>
+        [JsonPropertyName("account")]
+        public string Account { get; set; }
+
+        /// <summary>
+        /// 出资金额
+        /// </summary>
+        /// <remarks>
+        /// 出资金额
+        /// <para>示例值:444</para>
+        /// </remarks>
+        [JsonPropertyName("amount")]
+        public int Amount { get; set; }
+    }
+}

+ 18 - 1
src/Essensoft.Paylink.WeChatPay/V3/Domain/RefundAmountResponse.cs

@@ -1,4 +1,5 @@
-using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
 
 namespace Essensoft.Paylink.WeChatPay.V3.Domain
 {
@@ -27,6 +28,22 @@ namespace Essensoft.Paylink.WeChatPay.V3.Domain
         [JsonPropertyName("refund")]
         public int Refund { get; set; }
 
+        /// <summary>
+        /// 退款出资账户及金额
+        /// </summary>
+        /// <remarks>
+        /// 退款需要从指定账户出资时,传递此参数指定出资金额(币种的最小单位,只能为整数)。
+        /// 同时指定多个账户出资退款的使用场景需要满足以下条件:
+        ///   1、未开通退款支出分离产品功能;
+        ///   2、订单属于分账订单,且分账处于待分账或分账中状态。
+        /// 参数传递需要满足条件:
+        /// 1、基本账户可用余额出资金额与基本账户不可用余额出资金额之和等于退款金额;
+        /// 2、账户类型不能重复。
+        /// 上述任一条件不满足将返回错误
+        /// </remarks>
+        [JsonPropertyName("from")]
+        public List<RefundAmountFrom> Form { get; set; }
+
         /// <summary>
         /// 用户支付金额
         /// </summary>