diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPAPPay/HKPAPPayContractResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPAPPay/HKPAPPayContractResource.cs
new file mode 100644
index 00000000..de5b2513
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPAPPay/HKPAPPayContractResource.cs
@@ -0,0 +1,78 @@
+using System;
+
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
+{
+ ///
+ /// 表示 PAPAY.SIGN (仅限直连商户 For HK)通知的数据。
+ /// 表示 PAPAY.TERMINATE (仅限直连商户 For HK)通知的数据。
+ ///
+ public class HKPAPPayContractResource : WechatTenpayEvent.Types.IDecryptedResource
+ {
+ ///
+ /// 获取或设置微信商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("mchid")]
+ public virtual string MerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置微信 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("appid")]
+ public virtual string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置商户侧签约协议号。
+ ///
+ [Newtonsoft.Json.JsonProperty("out_contract_code")]
+ [System.Text.Json.Serialization.JsonPropertyName("out_contract_code")]
+ public string OutContractCode { get; set; } = default!;
+
+ ///
+ /// 获取或设置委托代扣协议 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("contract_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("contract_id")]
+ public string ContractId { get; set; } = default!;
+
+ ///
+ /// 获取或设置模板 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("plan_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("plan_id")]
+ public int PlanId { get; set; }
+
+ ///
+ /// 获取或设置用户唯一标识。
+ ///
+ [Newtonsoft.Json.JsonProperty("openid")]
+ [System.Text.Json.Serialization.JsonPropertyName("openid")]
+ public string OpenId { get; set; } = default!;
+
+ ///
+ /// 获取或设置操作时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("operate_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("operate_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
+ public DateTimeOffset OperateTime { get; set; }
+
+ ///
+ /// 获取或设置到期时间。
+ ///
+ [Newtonsoft.Json.JsonProperty("contract_expire_time")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("contract_expire_time")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
+ public DateTimeOffset? ExpireTime { get; set; }
+
+ ///
+ /// 获取或设置解约方式。
+ ///
+ [Newtonsoft.Json.JsonProperty("contract_termination_mode")]
+ [System.Text.Json.Serialization.JsonPropertyName("contract_termination_mode")]
+ public string? TerminationMode { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerPAPPay/HKPartnerPAPPayContractResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerPAPPay/HKPartnerPAPPayContractResource.cs
new file mode 100644
index 00000000..45341293
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerPAPPay/HKPartnerPAPPayContractResource.cs
@@ -0,0 +1,37 @@
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
+{
+ ///
+ /// 表示 PAPAY.SIGN (仅限服务商 For HK)通知的数据。
+ /// 表示 PAPAY.TERMINATE (仅限服务商 For HK)通知的数据。
+ ///
+ public class HKPartnerPAPPayContractResource : HKPAPPayContractResource, WechatTenpayEvent.Types.IDecryptedResource
+ {
+ ///
+ ///
+ ///
+ [Newtonsoft.Json.JsonProperty("sp_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
+ public override string MerchantId { get; set; } = default!;
+
+ ///
+ ///
+ ///
+ [Newtonsoft.Json.JsonProperty("sp_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sp_appid")]
+ public override string AppId { get; set; } = default!;
+
+ ///
+ /// 获取或设置子商户号。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_mchid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
+ public string SubMerchantId { get; set; } = default!;
+
+ ///
+ /// 获取或设置子商户 AppId。
+ ///
+ [Newtonsoft.Json.JsonProperty("sub_appid")]
+ [System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
+ public string SubAppId { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerRefund/HKPartnerRefundResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerRefund/HKPartnerRefundResource.cs
index fdb7a106..953aa891 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerRefund/HKPartnerRefundResource.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerRefund/HKPartnerRefundResource.cs
@@ -1,5 +1,3 @@
-using System;
-
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
///
@@ -7,9 +5,9 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
/// 表示 REFUND.ABNORMAL (仅限服务商 For HK)通知的数据。
/// 表示 REFUND.CLOSED (仅限服务商 For HK)通知的数据。
///
- public class HKPartnerRefundResource : WechatTenpayEvent.Types.IDecryptedResource
+ public class HKPartnerRefundResource : HKRefundResource, WechatTenpayEvent.Types.IDecryptedResource
{
- public static class Types
+ public static new class Types
{
public class Amount : Models.GetHKPartnerRefundByOutRefundNumberResponse.Types.Amount
{
@@ -17,11 +15,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
}
///
- /// 获取或设置服务商商户号。
+ ///
///
[Newtonsoft.Json.JsonProperty("sp_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
- public string MerchantId { get; set; } = default!;
+ public override string MerchantId { get; set; } = default!;
///
/// 获取或设置子商户号。
@@ -30,69 +28,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
public string SubMerchantId { get; set; } = default!;
- ///
- /// 获取或设置商户订单号。
- ///
- [Newtonsoft.Json.JsonProperty("out_trade_no")]
- [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
- public string OutTradeNumber { get; set; } = default!;
-
- ///
- /// 获取或设置微信支付订单号。
- ///
- [Newtonsoft.Json.JsonProperty("transaction_id")]
- [System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
- public string TransactionId { get; set; } = default!;
-
- ///
- /// 获取或设置商户退款单号。
- ///
- [Newtonsoft.Json.JsonProperty("out_refund_no")]
- [System.Text.Json.Serialization.JsonPropertyName("out_refund_no")]
- public string OutRefundNumber { get; set; } = default!;
-
- ///
- /// 获取或设置微信支付退款号。
- ///
- [Newtonsoft.Json.JsonProperty("refund_id")]
- [System.Text.Json.Serialization.JsonPropertyName("refund_id")]
- public string RefundId { get; set; } = default!;
-
- ///
- /// 获取或设置退款状态。
- ///
- [Newtonsoft.Json.JsonProperty("refund_status")]
- [System.Text.Json.Serialization.JsonPropertyName("refund_status")]
- public string RefundStatus { get; set; } = default!;
-
- ///
- /// 获取或设置退款入账账户。
- ///
- [Newtonsoft.Json.JsonProperty("recv_account")]
- [System.Text.Json.Serialization.JsonPropertyName("recv_account")]
- public string ReceiveAccount { get; set; } = default!;
-
- ///
- /// 获取或设置退款资金来源。
- ///
- [Newtonsoft.Json.JsonProperty("fund_source")]
- [System.Text.Json.Serialization.JsonPropertyName("fund_source")]
- public string? FundSource { get; set; }
-
- ///
- /// 获取或设置退款成功时间。
- ///
- [Newtonsoft.Json.JsonProperty("success_time")]
- [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
- [System.Text.Json.Serialization.JsonPropertyName("success_time")]
- [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))]
- public DateTimeOffset? SuccessTime { get; set; }
-
///
/// 获取或设置退款金额信息。
///
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
- public Types.Amount Amount { get; set; } = default!;
+ public new Types.Amount Amount { get; set; } = default!;
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerTransactions/HKPartnerTransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerTransactions/HKPartnerTransactionResource.cs
index 7c6d2f95..4b8c23eb 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerTransactions/HKPartnerTransactionResource.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKPartnerTransactions/HKPartnerTransactionResource.cs
@@ -1,13 +1,11 @@
-using System;
-
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
///
/// 表示 TRANSACTION.SUCCESS (仅限服务商 For HK)通知的数据。
///
- public class HKPartnerTransactionResource : WechatTenpayEvent.Types.IDecryptedResource
+ public class HKPartnerTransactionResource : HKTransactionResource, WechatTenpayEvent.Types.IDecryptedResource
{
- public static class Types
+ public static new class Types
{
public class Payer : Models.GetHKPartnerTransactionByOutTradeNumberResponse.Types.Payer
{
@@ -23,18 +21,18 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
}
///
- /// 获取或设置服务商商户号。
+ ///
///
[Newtonsoft.Json.JsonProperty("sp_mchid")]
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
- public string MerchantId { get; set; } = default!;
+ public override string MerchantId { get; set; } = default!;
///
- /// 获取或设置服务商 AppId。
+ ///
///
[Newtonsoft.Json.JsonProperty("sp_appid")]
[System.Text.Json.Serialization.JsonPropertyName("sp_appid")]
- public string AppId { get; set; } = default!;
+ public override string AppId { get; set; } = default!;
///
/// 获取或设置子商户号。
@@ -50,83 +48,25 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
public string? SubAppId { get; set; }
- ///
- /// 获取或设置商户订单号。
- ///
- [Newtonsoft.Json.JsonProperty("out_trade_no")]
- [System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
- public string OutTradeNumber { get; set; } = default!;
-
- ///
- /// 获取或设置微信支付订单号。
- ///
- [Newtonsoft.Json.JsonProperty("id")]
- [System.Text.Json.Serialization.JsonPropertyName("id")]
- public string TransactionId { get; set; } = default!;
-
- ///
- /// 获取或设置交易类型。
- ///
- [Newtonsoft.Json.JsonProperty("trade_type")]
- [System.Text.Json.Serialization.JsonPropertyName("trade_type")]
- public string TradeType { get; set; } = default!;
-
- ///
- /// 获取或设置交易状态。
- ///
- [Newtonsoft.Json.JsonProperty("trade_state")]
- [System.Text.Json.Serialization.JsonPropertyName("trade_state")]
- public string TradeState { get; set; } = default!;
-
- ///
- /// 获取或设置交易状态描述。
- ///
- [Newtonsoft.Json.JsonProperty("trade_state_desc")]
- [System.Text.Json.Serialization.JsonPropertyName("trade_state_desc")]
- public string TradeStateDescription { get; set; } = default!;
-
- ///
- /// 获取或设置付款银行类型。
- ///
- [Newtonsoft.Json.JsonProperty("bank_type")]
- [System.Text.Json.Serialization.JsonPropertyName("bank_type")]
- public string? BankType { get; set; }
-
- ///
- /// 获取或设置附加数据。
- ///
- [Newtonsoft.Json.JsonProperty("attach")]
- [System.Text.Json.Serialization.JsonPropertyName("attach")]
- public string? Attachment { get; set; }
-
- ///
- /// 获取或设置支付完成时间。
- ///
- [Newtonsoft.Json.JsonProperty("success_time")]
- [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))]
- [System.Text.Json.Serialization.JsonPropertyName("success_time")]
- [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))]
- public DateTimeOffset SuccessTime { get; set; }
-
///
/// 获取或设置支付者信息。
///
[Newtonsoft.Json.JsonProperty("payer")]
[System.Text.Json.Serialization.JsonPropertyName("payer")]
- public Types.Payer? Payer { get; set; }
+ public new Types.Payer? Payer { get; set; }
///
/// 获取或设置金额信息。
///
[Newtonsoft.Json.JsonProperty("amount")]
[System.Text.Json.Serialization.JsonPropertyName("amount")]
- public Types.Amount Amount { get; set; } = default!;
+ public new Types.Amount Amount { get; set; } = default!;
///
/// 获取或设置优惠信息。
///
[Newtonsoft.Json.JsonProperty("promotion_detail")]
[System.Text.Json.Serialization.JsonPropertyName("promotion_detail")]
- public Types.Promotion[]? PromotionList { get; set; }
+ public new Types.Promotion[]? PromotionList { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKRefund/HKRefundResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKRefund/HKRefundResource.cs
index 85a24102..67a3687f 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKRefund/HKRefundResource.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKRefund/HKRefundResource.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
@@ -21,7 +21,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
///
[Newtonsoft.Json.JsonProperty("mchid")]
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
- public string MerchantId { get; set; } = default!;
+ public virtual string MerchantId { get; set; } = default!;
///
/// 获取或设置商户订单号。
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKTransactions/HKTransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKTransactions/HKTransactionResource.cs
index 97206c43..322f9651 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKTransactions/HKTransactionResource.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Events/HKTransactions/HKTransactionResource.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
{
@@ -27,14 +27,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
///
[Newtonsoft.Json.JsonProperty("mchid")]
[System.Text.Json.Serialization.JsonPropertyName("mchid")]
- public string MerchantId { get; set; } = default!;
+ public virtual string MerchantId { get; set; } = default!;
///
/// 获取或设置微信 AppId。
///
[Newtonsoft.Json.JsonProperty("appid")]
[System.Text.Json.Serialization.JsonPropertyName("appid")]
- public string AppId { get; set; } = default!;
+ public virtual string AppId { get; set; } = default!;
///
/// 获取或设置商户订单号。
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKPartnerTransactionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKPartnerTransactionsExtensions.cs
index 7ab70dc8..314db31d 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKPartnerTransactionsExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKPartnerTransactionsExtensions.cs
@@ -104,6 +104,29 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+ ///
+ /// 异步调用 [POST] /micropay/transactions/pay 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/api_external/en/apis/chapter3_1_1.shtml
+ /// (请注意此接口专为境外支付设计,调用时需在构造 时指定单独的 。)
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateHKPartnerTransactionMicroPayAsync(this WechatTenpayClient client, Models.CreateHKPartnerTransactionMicroPayRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ if (request.MerchantId == null)
+ request.MerchantId = client.Credentials.MerchantId;
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "micropay", "transactions", "pay");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
///
/// 异步调用 [GET] /transactions/out-trade-no/{out_trade_no} 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/api/wxpay/en/fusion_wallet/In-AppPay/chapter8_1.shtml
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKTransactionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKTransactionsExtensions.cs
index b7ce5584..167b9833 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKTransactionsExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteHKTransactionsExtensions.cs
@@ -104,6 +104,29 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+ ///
+ /// 异步调用 [POST] /micropay/transactions/pay 接口。
+ /// REF: https://pay.weixin.qq.com/wiki/doc/api_external/en/apis/chapter3_1_1.shtml
+ /// (请注意此接口专为境外支付设计,调用时需在构造 时指定单独的 。)
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCreateHKTransactionMicroPayAsync(this WechatTenpayClient client, Models.CreateHKTransactionMicroPayRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ if (request.MerchantId == null)
+ request.MerchantId = client.Credentials.MerchantId;
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "micropay", "transactions", "pay");
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
///
/// 异步调用 [GET] /transactions/out-trade-no/{out_trade_no} 接口。
/// REF: https://pay.weixin.qq.com/wiki/doc/api/wxpay/en/fusion_wallet/In-AppPay/chapter8_1.shtml
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayRequest.cs
index bf5f2828..136da034 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayRequest.cs
@@ -1,7 +1,7 @@
-namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
///
- /// 表示 [POST] /transactions/micropay 接口的请求。
+ /// 表示 [POST] /micropay/transactions/pay 接口的请求。
///
public class CreateHKPartnerTransactionMicroPayRequest : WechatTenpayRequest
{
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayResponse.cs
index 700f7ff0..3e88356f 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKPartnerTransactions/CreateHKPartnerTransactionMicroPayResponse.cs
@@ -1,7 +1,7 @@
-namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
///
- /// 表示 [POST] /transactions/micropay 接口的响应。
+ /// 表示 [POST] /micropay/transactions/pay 接口的响应。
///
public class CreateHKPartnerTransactionMicroPayResponse : GetHKPartnerTransactionByOutTradeNumberResponse
{
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayRequest.cs
index 657779ee..5afcd594 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayRequest.cs
@@ -1,7 +1,7 @@
-namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
///
- /// 表示 [POST] /transactions/micropay 接口的请求。
+ /// 表示 [POST] /micropay/transactions/pay 接口的请求。
///
public class CreateHKTransactionMicroPayRequest : WechatTenpayRequest
{
diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayResponse.cs
index 28a831d2..38e572c4 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/HKTransactions/CreateHKTransactionMicroPayResponse.cs
@@ -1,7 +1,7 @@
-namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
+namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
{
///
- /// 表示 [POST] /transactions/micropay 接口的响应。
+ /// 表示 [POST] /micropay/transactions/pay 接口的响应。
///
public class CreateHKTransactionMicroPayResponse : GetHKTransactionByOutTradeNumberResponse
{
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/HKPAPPay/HKPAPPayContractResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/HKPAPPay/HKPAPPayContractResource.json
new file mode 100644
index 00000000..dc97113d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/HKPAPPay/HKPAPPayContractResource.json
@@ -0,0 +1,10 @@
+{
+ "mchid": "10000091",
+ "out_contract_code": "100001256",
+ "plan_id": 123,
+ "contract_id": "Wx15463511252015071056489715",
+ "appid": "wxcbda96de0b165486",
+ "openid": "ouFhd5X9s9WteC3eWRjXV3lea123",
+ "contract_termination_mode": "USER",
+ "operate_time": "2015-09-01T10:00:00+08:00"
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/HKPartnerPAPPay/HKPartnerPAPPayContractResource.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/HKPartnerPAPPay/HKPartnerPAPPayContractResource.json
new file mode 100644
index 00000000..6303a097
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/EventSamples/HKPartnerPAPPay/HKPartnerPAPPayContractResource.json
@@ -0,0 +1,11 @@
+{
+ "sp_mchid": "10000091",
+ "sub_mchid": "10000097",
+ "out_contract_code": "100001256",
+ "plan_id": 123,
+ "contract_id": "Wx15463511252015071056489715",
+ "sp_appid": "wxcbda96de0b165486",
+ "openid": "ouFhd5X9s9WteC3eWRjXV3lea123",
+ "contract_termination_mode": "USER",
+ "operate_time": "2015-09-01T10:00:00+08:00"
+}