From af2193965163c85c2e393f89d15c682d0ae8ee45 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 12 May 2021 01:05:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(tenpayv3):=20=E6=96=B0=E5=A2=9E=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E6=94=AF=E4=BB=98=E5=88=86=E6=9C=8D=E5=8A=A1=E5=95=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=20API=20=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...utePayScorePartnerPermissionsExtensions.cs | 129 ++++++++++++ ...tePayScorePartnerServiceOrderExtensions.cs | 183 +++++++++++++++++ ...entExecutePayScorePermissionsExtensions.cs | 4 +- ...tnerTransactionByOutTradeNumberResponse.cs | 2 +- .../ApplyPayScorePartnerPermissionsRequest.cs | 32 +++ ...ApplyPayScorePartnerPermissionsResponse.cs | 12 ++ ...erPermissionsByAuthorizationCodeRequest.cs | 18 ++ ...rPermissionsByAuthorizationCodeResponse.cs | 46 +++++ ...yScorePartnerPermissionsByOpenIdRequest.cs | 46 +++++ ...ScorePartnerPermissionsByOpenIdResponse.cs | 12 ++ ...erPermissionsByAuthorizationCodeRequest.cs | 18 ++ ...rPermissionsByAuthorizationCodeResponse.cs | 12 ++ ...yScorePartnerPermissionsByOpenIdRequest.cs | 46 +++++ ...ScorePartnerPermissionsByOpenIdResponse.cs | 12 ++ ...ancelPayScorePartnerServiceOrderRequest.cs | 18 ++ ...ncelPayScorePartnerServiceOrderResponse.cs | 12 ++ ...reatePayScorePartnerServiceOrderRequest.cs | 46 +++++ ...eatePayScorePartnerServiceOrderResponse.cs | 18 ++ ...tnerServiceOrderByOutOrderNumberRequest.cs | 18 ++ ...nerServiceOrderByOutOrderNumberResponse.cs | 53 +++++ ...corePartnerServiceOrderByQueryIdRequest.cs | 18 ++ ...orePartnerServiceOrderByQueryIdResponse.cs | 12 ++ ...odifyPayScorePartnerServiceOrderRequest.cs | 18 ++ ...difyPayScorePartnerServiceOrderResponse.cs | 12 ++ ...ScorePartnerServiceOrderCompleteRequest.cs | 27 +++ ...corePartnerServiceOrderCompleteResponse.cs | 12 ++ ...etPayScorePartnerServiceOrderPayRequest.cs | 18 ++ ...tPayScorePartnerServiceOrderPayResponse.cs | 46 +++++ ...tPayScorePartnerServiceOrderSyncRequest.cs | 18 ++ ...PayScorePartnerServiceOrderSyncResponse.cs | 12 ++ .../ApplyPayScorePermissionsRequest.cs | 2 +- ...ePermissionsByAuthorizationCodeResponse.cs | 4 +- .../GetPayScorePermissionsByOpenIdRequest.cs | 18 +- ...inatePayScorePermissionsByOpenIdRequest.cs | 4 +- .../CancelPayScoreServiceOrderRequest.cs | 2 +- .../CreatePayScoreServiceOrderRequest.cs | 4 +- .../CreatePayScoreServiceOrderResponse.cs | 130 +----------- ...coreServiceOrderByOutOrderNumberRequest.cs | 10 +- ...oreServiceOrderByOutOrderNumberResponse.cs | 21 +- ...GetPayScoreServiceOrderByQueryIdRequest.cs | 10 +- .../ModifyPayScoreServiceOrderRequest.cs | 2 +- .../SetPayScoreServiceOrderCompleteRequest.cs | 10 +- .../SetPayScoreServiceOrderPayRequest.cs | 2 +- .../SetPayScoreServiceOrderSyncRequest.cs | 18 +- .../PartnerRefundResource.cs | 2 +- .../PartnerTransactionResource.cs | 2 +- .../PayScorePartnerPermissionsResource.cs | 84 ++++++++ .../PayScorePartnerServiceOrderResource.cs | 186 ++++++++++++++++++ 48 files changed, 1258 insertions(+), 183 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerPermissions/PayScorePartnerPermissionsResource.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerServiceOrder/PayScorePartnerServiceOrderResource.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs new file mode 100644 index 00000000..b6c595ca --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerPermissionsExtensions.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供微信支付分服务商(免确认模式)相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecutePayScorePartnerPermissionsExtensions + { + /// + /// 异步调用 [POST] /payscore/partner/permissions 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteApplyPayScorePartnerPermissionsAsync(this WechatTenpayClient client, Models.ApplyPayScorePartnerPermissionsRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "permissions") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/partner/permissions/authorization-code/{authorization_code} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePartnerPermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPermissionsByAuthorizationCodeRequest 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 + .CreateRequest(HttpMethod.Get, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode) + .SetOptions(request) + .SetQueryParam("service_id", request.ServiceId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/partner/permissions/authorization-code/{authorization_code}/terminate 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteTerminatePayScorePartnerPermissionsByAuthorizationCodeAsync(this WechatTenpayClient client, Models.TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "permissions", "authorization-code", request.AuthorizationCode, "terminate") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/partner/permissions/search 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePartnerPermissionsByOpenIdAsync(this WechatTenpayClient client, Models.GetPayScorePartnerPermissionsByOpenIdRequest 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 + .CreateRequest(HttpMethod.Get, "payscore", "partner", "permissions", "search") + .SetOptions(request) + .SetQueryParam("service_id", request.ServiceId) + .SetQueryParam("sub_mchid", request.SubMerchantId) + .SetQueryParam("appid", request.AppId) + .SetQueryParam("sub_appid", request.SubAppId); + + if (!string.IsNullOrEmpty(request.OpenId)) + flurlReq.SetQueryParam("openid", request.OpenId); + + if (!string.IsNullOrEmpty(request.SubOpenId)) + flurlReq.SetQueryParam("sub_openid", request.SubOpenId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/partner/permissions/terminate 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter5_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteTerminatePayScorePartnerPermissionsByOpenIdAsync(this WechatTenpayClient client, Models.TerminatePayScorePartnerPermissionsByOpenIdRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "permissions", "terminate") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs new file mode 100644 index 00000000..36f73446 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions.cs @@ -0,0 +1,183 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供微信支付分服务商相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecutePayScorePartnerServiceOrderExtensions + { + /// + /// 异步调用 [POST] /payscore/serviceorder 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreatePayScorePartnerServiceOrderAsync(this WechatTenpayClient client, Models.CreatePayScorePartnerServiceOrderRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/serviceorder 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePartnerServiceOrderByOutOrderNumberAsync(this WechatTenpayClient client, Models.GetPayScorePartnerServiceOrderByOutOrderNumberRequest 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 + .CreateRequest(HttpMethod.Get, "payscore", "partner", "serviceorder") + .SetOptions(request) + .SetQueryParam("out_order_no", request.OutOrderNumber) + .SetQueryParam("service_id", request.ServiceId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /payscore/serviceorder 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_2.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetPayScorePartnerServiceOrderByQueryIdAsync(this WechatTenpayClient client, Models.GetPayScorePartnerServiceOrderByQueryIdRequest 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 + .CreateRequest(HttpMethod.Get, "payscore", "partner", "serviceorder") + .SetOptions(request) + .SetQueryParam("query_id", request.QueryId) + .SetQueryParam("service_id", request.ServiceId) + .SetQueryParam("sub_mchid", request.SubMerchantId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/serviceorder/{out_order_no}/cancel 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCancelPayScorePartnerServiceOrderAsync(this WechatTenpayClient client, Models.CancelPayScorePartnerServiceOrderRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "cancel") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/serviceorder/{out_order_no}/modify 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteModifyPayScorePartnerServiceOrderAsync(this WechatTenpayClient client, Models.ModifyPayScorePartnerServiceOrderRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "modify") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/serviceorder/{out_order_no}/complete 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_5.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteSetPayScorePartnerServiceOrderCompleteAsync(this WechatTenpayClient client, Models.SetPayScorePartnerServiceOrderCompleteRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "complete") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/serviceorder/{out_order_no}/pay 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_6.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteSetPayScorePartnerServiceOrderPayAsync(this WechatTenpayClient client, Models.SetPayScorePartnerServiceOrderPayRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "pay") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /payscore/serviceorder/{out_order_no}/sync 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore_partner/chapter3_7.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteSetPayScorePartnerServiceOrderSyncAsync(this WechatTenpayClient client, Models.SetPayScorePartnerServiceOrderSyncRequest 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 + .CreateRequest(HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "sync") + .SetOptions(request); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs index a7854d75..b8c473db 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecutePayScorePermissionsExtensions.cs @@ -89,7 +89,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Get, "payscore", "permissions", "openid", request.OpenId) + .CreateRequest(HttpMethod.Get, "payscore", "permissions", "openid", request.OpenId!) .SetOptions(request) .SetQueryParam("appid", request.AppId) .SetQueryParam("service_id", request.ServiceId); @@ -111,7 +111,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateRequest(HttpMethod.Post, "payscore", "permissions", "openid", request.OpenId, "terminate") + .CreateRequest(HttpMethod.Post, "payscore", "permissions", "openid", request.OpenId!, "terminate") .SetOptions(request); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/GetPayPartnerTransactionByOutTradeNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/GetPayPartnerTransactionByOutTradeNumberResponse.cs index f3110053..21200384 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/GetPayPartnerTransactionByOutTradeNumberResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayPartnerTransactions/GetPayPartnerTransactionByOutTradeNumberResponse.cs @@ -48,7 +48,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string MerchantId { get; set; } = default!; /// - /// 获取或设置子商户商户号。 + /// 获取或设置子商户号。 /// [Newtonsoft.Json.JsonProperty("sub_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.cs new file mode 100644 index 00000000..1dfaaaee --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/permissions 接口的请求。 + /// + public class ApplyPayScorePartnerPermissionsRequest : ApplyPayScorePermissionsRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置服务商 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public override string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string SubAppId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.cs new file mode 100644 index 00000000..83eda152 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/ApplyPayScorePartnerPermissionsResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/permissions 接口的响应。 + /// + public class ApplyPayScorePartnerPermissionsResponse : ApplyPayScorePermissionsResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs new file mode 100644 index 00000000..dd582025 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/permissions/authorization-code/{authorization_code} 接口的请求。 + /// + public class GetPayScorePartnerPermissionsByAuthorizationCodeRequest : GetPayScorePermissionsByAuthorizationCodeRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs new file mode 100644 index 00000000..3585809f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByAuthorizationCodeResponse.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/permissions/authorization-code/{authorization_code} 接口的响应。 + /// + public class GetPayScorePartnerPermissionsByAuthorizationCodeResponse : GetPayScorePermissionsByAuthorizationCodeResponse + { + /// + /// 获取或设置服务商商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public override string MerchantId { 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("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public override string AppId { get; set; } = default!; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置子商户用户唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs new file mode 100644 index 00000000..07f9863b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdRequest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/permissions/search 接口的请求。 + /// + public class GetPayScorePartnerPermissionsByOpenIdRequest : GetPayScorePermissionsByOpenIdRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置服务商 AppId。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public override string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? SubAppId { get; set; } + + /// + /// 获取或设置用户在服务商下唯一标识。与字段 二选一。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public override string? OpenId { get; set; } + + /// + /// 获取或设置用户在子商户下唯一标识。与字段 二选一。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? SubOpenId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs new file mode 100644 index 00000000..a02f0645 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/GetPayScorePartnerPermissionsByOpenIdResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/permissions/search 接口的响应。 + /// + public class GetPayScorePartnerPermissionsByOpenIdResponse : GetPayScorePartnerPermissionsByAuthorizationCodeResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs new file mode 100644 index 00000000..61eb779b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/permissions/authorization-code/{authorization_code}/terminate 接口的请求。 + /// + public class TerminatePayScorePartnerPermissionsByAuthorizationCodeRequest : TerminatePayScorePermissionsByAuthorizationCodeRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs new file mode 100644 index 00000000..f8384856 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/permissions/authorization-code/{authorization_code}/terminate 接口的响应。 + /// + public class TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse : TerminatePayScorePermissionsByAuthorizationCodeResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs new file mode 100644 index 00000000..e1ce4beb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdRequest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/permissions/terminate 接口的请求。 + /// + public class TerminatePayScorePartnerPermissionsByOpenIdRequest : TerminatePayScorePermissionsByOpenIdRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置服务商 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public override string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string SubAppId { get; set; } = string.Empty; + + /// + /// 获取或设置用户在服务商下唯一标识。与字段 二选一。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public override string? OpenId { get; set; } + + /// + /// 获取或设置用户在子商户下唯一标识。与字段 二选一。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs new file mode 100644 index 00000000..49147618 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerPermissions/TerminatePayScorePartnerPermissionsByOpenIdResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/permissions/terminate 接口的响应。 + /// + public class TerminatePayScorePartnerPermissionsByOpenIdResponse : TerminatePayScorePartnerPermissionsByAuthorizationCodeResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs new file mode 100644 index 00000000..e816c4c2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/cancel 接口的请求。 + /// + public class CancelPayScorePartnerServiceOrderRequest : CancelPayScoreServiceOrderRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs new file mode 100644 index 00000000..a23a966c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CancelPayScorePartnerServiceOrderResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/cancel 接口的响应。 + /// + public class CancelPayScorePartnerServiceOrderResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs new file mode 100644 index 00000000..f427248e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderRequest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder 接口的请求。 + /// + public class CreatePayScorePartnerServiceOrderRequest : CreatePayScoreServiceOrderRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置服务商 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public override string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置用户在服务商下唯一标识。与字段 二选一。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public override string? OpenId { get; set; } + + /// + /// 获取或设置用户在子商户下唯一标识。与字段 二选一。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs new file mode 100644 index 00000000..c8b9fc9c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/CreatePayScorePartnerServiceOrderResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder 接口的响应。 + /// + public class CreatePayScorePartnerServiceOrderResponse : GetPayScorePartnerServiceOrderByOutOrderNumberResponse + { + /// + /// 获取或设置跳转微信侧小程序订单数据。 + /// + [Newtonsoft.Json.JsonProperty("package")] + [System.Text.Json.Serialization.JsonPropertyName("package")] + public string Package { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs new file mode 100644 index 00000000..6a9d5546 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/serviceorder 接口的请求。 + /// + public class GetPayScorePartnerServiceOrderByOutOrderNumberRequest : GetPayScoreServiceOrderByOutOrderNumberRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs new file mode 100644 index 00000000..a9874c5f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByOutOrderNumberResponse.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/serviceorder 接口的响应。 + /// + public class GetPayScorePartnerServiceOrderByOutOrderNumberResponse : GetPayScoreServiceOrderByOutOrderNumberResponse + { + /// + /// 获取或设置服务商商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public override string MerchantId { 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("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public override string AppId { get; set; } = default!; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置用户在服务商下唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public override string? OpenId { get; set; } + + /// + /// 获取或设置用户在子商户下唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs new file mode 100644 index 00000000..a68d85a4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/serviceorder 接口的请求。 + /// + public class GetPayScorePartnerServiceOrderByQueryIdRequest : GetPayScoreServiceOrderByQueryIdRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs new file mode 100644 index 00000000..b8243a0a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/GetPayScorePartnerServiceOrderByQueryIdResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /payscore/partner/serviceorder 接口的响应。 + /// + public class GetPayScorePartnerServiceOrderByQueryIdResponse : GetPayScorePartnerServiceOrderByOutOrderNumberResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs new file mode 100644 index 00000000..8be68623 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/modify 接口的请求。 + /// + public class ModifyPayScorePartnerServiceOrderRequest : ModifyPayScoreServiceOrderRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs new file mode 100644 index 00000000..2f7f964a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/ModifyPayScorePartnerServiceOrderResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/modify 接口的响应。 + /// + public class ModifyPayScorePartnerServiceOrderResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs new file mode 100644 index 00000000..a829564d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteRequest.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/complete 接口的请求。 + /// + public class SetPayScorePartnerServiceOrderCompleteRequest : SetPayScoreServiceOrderCompleteRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + + /// + /// 获取或设置服务完结时间。 + /// + [Newtonsoft.Json.JsonProperty("complete_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("complete_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? CompleteTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs new file mode 100644 index 00000000..fc8a7300 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderCompleteResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/complete 接口的响应。 + /// + public class SetPayScorePartnerServiceOrderCompleteResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs new file mode 100644 index 00000000..308687b0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/pay 接口的请求。 + /// + public class SetPayScorePartnerServiceOrderPayRequest : SetPayScoreServiceOrderPayRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs new file mode 100644 index 00000000..b1379281 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderPayResponse.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/pay 接口的响应。 + /// + public class SetPayScorePartnerServiceOrderPayResponse : WechatTenpayResponse + { + /// + /// 获取或设置微信 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置微信商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置服务 ID。 + /// + [Newtonsoft.Json.JsonProperty("service_id")] + [System.Text.Json.Serialization.JsonPropertyName("service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// 获取或设置商户服务订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = default!; + + /// + /// 获取或设置微信支付服务订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs new file mode 100644 index 00000000..1bebb6da --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/sync 接口的请求。 + /// + public class SetPayScorePartnerServiceOrderSyncRequest : SetPayScoreServiceOrderSyncRequest + { + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string SubMerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs new file mode 100644 index 00000000..c69ffcc4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePartnerServiceOrder/SetPayScorePartnerServiceOrderSyncResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /payscore/partner/serviceorder/{out_order_no}/sync 接口的响应。 + /// + public class SetPayScorePartnerServiceOrderSyncResponse : WechatTenpayResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsRequest.cs index 5423c374..a030e2ec 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/ApplyPayScorePermissionsRequest.cs @@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public virtual string AppId { get; set; } = string.Empty; /// /// 获取或设置授权协议号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs index ab934877..e694c05f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByAuthorizationCodeResponse.cs @@ -13,14 +13,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [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!; /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdRequest.cs index c07386b2..d8245f0a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/GetPayScorePermissionsByOpenIdRequest.cs @@ -8,25 +8,25 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// public class GetPayScorePermissionsByOpenIdRequest : WechatTenpayRequest { + /// + /// 获取或设置服务 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ServiceId { get; set; } = string.Empty; + /// /// 获取或设置微信 AppId。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] - public string AppId { get; set; } = string.Empty; + public virtual string AppId { get; set; } = string.Empty; /// /// 获取或设置用户唯一标识。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] - public string OpenId { get; set; } = string.Empty; - - /// - /// 获取或设置服务 ID。 - /// - [Newtonsoft.Json.JsonIgnore] - [System.Text.Json.Serialization.JsonIgnore] - public string ServiceId { get; set; } = string.Empty; + public virtual string? OpenId { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.cs index 14fdf768..f669ce4f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScorePermissions/TerminatePayScorePermissionsByOpenIdRequest.cs @@ -13,14 +13,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public virtual string AppId { get; set; } = string.Empty; /// /// 获取或设置用户唯一标识。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] - public string OpenId { get; set; } = string.Empty; + public virtual string? OpenId { get; set; } /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.cs index dc5886d3..7a58716b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CancelPayScoreServiceOrderRequest.cs @@ -20,7 +20,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.cs index 47953c27..6b757384 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderRequest.cs @@ -150,7 +150,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public virtual string AppId { get; set; } = string.Empty; /// /// 获取或设置商户服务订单号。 @@ -192,7 +192,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] - public string? OpenId { get; set; } + public virtual string? OpenId { get; set; } /// /// 获取或设置是否需要用户确认。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.cs index 048065f0..edc07b2d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/CreatePayScoreServiceOrderResponse.cs @@ -6,141 +6,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 表示 [POST] /payscore/serviceorder 接口的响应。 /// - public class CreatePayScoreServiceOrderResponse : WechatTenpayResponse + public class CreatePayScoreServiceOrderResponse : GetPayScoreServiceOrderByOutOrderNumberResponse { - public static class Types - { - public class Payment : GetPayScoreServiceOrderByOutOrderNumberResponse.Types.Payment - { - } - - public class Discount : GetPayScoreServiceOrderByOutOrderNumberResponse.Types.Discount - { - } - - public class TimeRange : GetPayScoreServiceOrderByOutOrderNumberResponse.Types.TimeRange - { - } - - public class Location : GetPayScoreServiceOrderByOutOrderNumberResponse.Types.Location - { - } - - public class RiskFund : GetPayScoreServiceOrderByOutOrderNumberResponse.Types.RiskFund - { - } - } - - /// - /// 获取或设置微信 AppId。 - /// - [Newtonsoft.Json.JsonProperty("appid")] - [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = default!; - - /// - /// 获取或设置微信商户号。 - /// - [Newtonsoft.Json.JsonProperty("mchid")] - [System.Text.Json.Serialization.JsonPropertyName("mchid")] - public string MerchantId { get; set; } = default!; - - /// - /// 获取或设置微信支付服务订单号。 - /// - [Newtonsoft.Json.JsonProperty("order_id")] - [System.Text.Json.Serialization.JsonPropertyName("order_id")] - public string OrderId { get; set; } = default!; - - /// - /// 获取或设置商户服务订单号。 - /// - [Newtonsoft.Json.JsonProperty("out_order_no")] - [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] - public string OutOrderNumber { get; set; } = default!; - - /// - /// 获取或设置服务 ID。 - /// - [Newtonsoft.Json.JsonProperty("service_id")] - [System.Text.Json.Serialization.JsonPropertyName("service_id")] - public string ServiceId { get; set; } = default!; - - /// - /// 获取或设置服务信息。 - /// - [Newtonsoft.Json.JsonProperty("service_introduction")] - [System.Text.Json.Serialization.JsonPropertyName("service_introduction")] - public string ServiceIntroduction { get; set; } = default!; - - /// - /// 获取或设置服务订单状态。 - /// - [Newtonsoft.Json.JsonProperty("state")] - [System.Text.Json.Serialization.JsonPropertyName("state")] - public string State { get; set; } = default!; - - /// - /// 获取或设置服务订单状态说明。 - /// - [Newtonsoft.Json.JsonProperty("state_description")] - [System.Text.Json.Serialization.JsonPropertyName("state_description")] - public string StateDescription { get; set; } = default!; - /// /// 获取或设置跳转微信侧小程序订单数据。 /// [Newtonsoft.Json.JsonProperty("package")] [System.Text.Json.Serialization.JsonPropertyName("package")] public string Package { get; set; } = default!; - - /// - /// 获取或设置附加数据。 - /// - [Newtonsoft.Json.JsonProperty("attach")] - [System.Text.Json.Serialization.JsonPropertyName("attach")] - public string Attachment { get; set; } = default!; - - /// - /// 获取或设置付费项目列表。 - /// - [Newtonsoft.Json.JsonProperty("post_payments")] - [System.Text.Json.Serialization.JsonPropertyName("post_payments")] - public Types.Payment[]? PostPaymentList { get; set; } - - /// - /// 获取或设置商户优惠列表。 - /// - [Newtonsoft.Json.JsonProperty("post_discounts")] - [System.Text.Json.Serialization.JsonPropertyName("post_discounts")] - public Types.Discount[]? PostDiscountList { get; set; } - - /// - /// 获取或设置服务时间段信息。 - /// - [Newtonsoft.Json.JsonProperty("time_range")] - [System.Text.Json.Serialization.JsonPropertyName("time_range")] - public Types.TimeRange? TimeRange { get; set; } - - /// - /// 获取或设置服务位置信息。 - /// - [Newtonsoft.Json.JsonProperty("location")] - [System.Text.Json.Serialization.JsonPropertyName("location")] - public Types.Location? Location { get; set; } - - /// - /// 获取或设置订单风险金信息。 - /// - [Newtonsoft.Json.JsonProperty("risk_fund")] - [System.Text.Json.Serialization.JsonPropertyName("risk_fund")] - public Types.RiskFund? RiskFund { get; set; } - - /// - /// 获取或设置通知回调地址。 - /// - [Newtonsoft.Json.JsonProperty("notify_url")] - [System.Text.Json.Serialization.JsonPropertyName("notify_url")] - public string? NotifyUrl { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs index 3933b692..b6924435 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberRequest.cs @@ -18,15 +18,15 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 获取或设置微信 AppId。 /// - [Newtonsoft.Json.JsonProperty("appid")] - [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 /// - [Newtonsoft.Json.JsonProperty("service_id")] - [System.Text.Json.Serialization.JsonPropertyName("service_id")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] public string ServiceId { get; set; } = string.Empty; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs index 8a1da4b0..7bd5c61d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByOutOrderNumberResponse.cs @@ -155,7 +155,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("seq")] [System.Text.Json.Serialization.JsonPropertyName("seq")] - public int SequenceNumber { get; set; } + public int Sequence { get; set; } /// /// 获取或设置单笔收款金额(单位:分)。 @@ -226,19 +226,19 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models } } - /// - /// 获取或设置微信 AppId。 - /// - [Newtonsoft.Json.JsonProperty("appid")] - [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = default!; - /// /// 获取或设置微信商户号。 /// [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 virtual string AppId { get; set; } = default!; /// /// 获取或设置商户服务订单号。 @@ -301,7 +301,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] - public string? OpenId { get; set; } + public virtual string? OpenId { get; set; } /// /// 获取或设置付费项目列表。 @@ -350,6 +350,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("need_collection")] [System.Text.Json.Serialization.JsonPropertyName("need_collection")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.StringTypedNullableBooleanConverter))] public bool? RequireCollection { get; set; } /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs index 732c61cb..030759f1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/GetPayScoreServiceOrderByQueryIdRequest.cs @@ -18,15 +18,15 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// /// 获取或设置微信 AppId。 /// - [Newtonsoft.Json.JsonProperty("appid")] - [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 /// - [Newtonsoft.Json.JsonProperty("service_id")] - [System.Text.Json.Serialization.JsonPropertyName("service_id")] + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] public string ServiceId { get; set; } = string.Empty; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.cs index b26de64f..82138651 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/ModifyPayScoreServiceOrderRequest.cs @@ -31,7 +31,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs index 7cdc34cb..4609e49b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderCompleteRequest.cs @@ -22,14 +22,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { } - public class Location + public class Location : CreatePayScoreServiceOrderRequest.Types.Location { - /// - /// 获取或设置服务结束地点。 - /// - [Newtonsoft.Json.JsonProperty("end_location")] - [System.Text.Json.Serialization.JsonPropertyName("end_location")] - public string EndLocation { get; set; } = string.Empty; } } @@ -45,7 +39,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.cs index 8ba82e53..5c1113cf 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderPayRequest.cs @@ -41,7 +41,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.cs index a0be354b..f4c6511c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/PayScoreServiceOrder/SetPayScoreServiceOrderSyncRequest.cs @@ -13,13 +13,27 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public class Detail { /// - /// 获取或设置收款成功时间字符串(格式:yyyyMMddHHmmss 或 yyyyMMdd)。 + /// 获取或设置收款序号。 + /// + [Newtonsoft.Json.JsonProperty("seq")] + [System.Text.Json.Serialization.JsonPropertyName("seq")] + public int? Sequence { get; set; } + + /// + /// 获取或设置收款成功时间。 /// [Newtonsoft.Json.JsonProperty("paid_time")] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.CommonWithoutSeparatorsNullableDateTimeOffsetConverter))] [System.Text.Json.Serialization.JsonPropertyName("paid_time")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.CommonWithoutSeparatorsNullableDateTimeOffsetConverter))] public DateTimeOffset? PaidTime { get; set; } + + /// + /// 获取或设置收款金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("paid_amount")] + [System.Text.Json.Serialization.JsonPropertyName("paid_amount")] + public int? PaidAmount { get; set; } } } @@ -35,7 +49,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("appid")] [System.Text.Json.Serialization.JsonPropertyName("appid")] - public string AppId { get; set; } = string.Empty; + public string? AppId { get; set; } /// /// 获取或设置服务 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerRefundResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerRefundResource.cs index 21424e6c..b94e717a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerRefundResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerRefundResource.cs @@ -25,7 +25,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Resources public string MerchantId { get; set; } = default!; /// - /// 获取或设置子商户商户号。 + /// 获取或设置子商户号。 /// [Newtonsoft.Json.JsonProperty("sub_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerTransactionResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerTransactionResource.cs index 15eab04b..71b04c7e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerTransactionResource.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayPartnerTransactions/PartnerTransactionResource.cs @@ -35,7 +35,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Resources public string MerchantId { get; set; } = default!; /// - /// 获取或设置子商户商户号。 + /// 获取或设置子商户号。 /// [Newtonsoft.Json.JsonProperty("sub_mchid")] [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerPermissions/PayScorePartnerPermissionsResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerPermissions/PayScorePartnerPermissionsResource.cs new file mode 100644 index 00000000..c000df75 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerPermissions/PayScorePartnerPermissionsResource.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Resources +{ + /// + /// 表示 PAYSCORE.USER_OPEN_SERVICE 通知的数据。 + /// 表示 PAYSCORE.USER_CLOSE_SERVICE 通知的数据。 + /// + public class PayScorePartnerPermissionsResource : WechatTenpayCallback.Types.IDecryptedResource + { + /// + /// 获取或设置服务商商户号。 + /// + [Newtonsoft.Json.JsonProperty("mch_id")] + [System.Text.Json.Serialization.JsonPropertyName("mch_id")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mch_id")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mch_id")] + public string SubMerchantId { get; set; } = default!; + + /// + /// 获取或设置服务商 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置授权协议号。 + /// + [Newtonsoft.Json.JsonProperty("authorization_code")] + [System.Text.Json.Serialization.JsonPropertyName("authorization_code")] + public string? AuthorizationCode { get; set; } + + /// + /// 获取或设置服务 ID。 + /// + [Newtonsoft.Json.JsonProperty("service_id")] + [System.Text.Json.Serialization.JsonPropertyName("service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// 获取或设置用户在服务商下唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置用户在子商户下唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + + /// + /// 获取或设置回调状态。 + /// + [Newtonsoft.Json.JsonProperty("user_service_status")] + [System.Text.Json.Serialization.JsonPropertyName("user_service_status")] + public string? UserServiceStatus { get; set; } + + /// + /// 获取或设置服务开启或解除授权时间。 + /// + [Newtonsoft.Json.JsonProperty("openorclose_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.CommonWithoutSeparatorsNullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("openorclose_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.CommonWithoutSeparatorsNullableDateTimeOffsetConverter))] + public DateTimeOffset? OpenOrCloseTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerServiceOrder/PayScorePartnerServiceOrderResource.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerServiceOrder/PayScorePartnerServiceOrderResource.cs new file mode 100644 index 00000000..35c4d8ad --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Resources/PayScorePartnerServiceOrder/PayScorePartnerServiceOrderResource.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Resources +{ + /// + /// 表示 PAYSCORE.USER_CONFIRM 通知的数据。 + /// 表示 PAYSCORE.USER_PAID 通知的数据。 + /// + public class PayScorePartnerServiceOrderResource : WechatTenpayCallback.Types.IDecryptedResource + { + public static class Types + { + public class Payment : PayScoreServiceOrderResource.Types.Payment + { + } + + public class Discount : PayScoreServiceOrderResource.Types.Discount + { + } + + public class TimeRange : PayScoreServiceOrderResource.Types.TimeRange + { + } + + public class Location : PayScoreServiceOrderResource.Types.Location + { + } + + public class RiskFund : PayScoreServiceOrderResource.Types.RiskFund + { + } + + public class Collection : PayScoreServiceOrderResource.Types.Collection + { + } + } + + /// + /// 获取或设置服务商商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string MerchantId { 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("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置子商户 AppId。 + /// + [Newtonsoft.Json.JsonProperty("sub_appid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_appid")] + public string? SubAppId { get; set; } + + /// + /// 获取或设置商户服务订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_no")] + public string OutOrderNumber { get; set; } = default!; + + /// + /// 获取或设置微信支付服务订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string? OrderId { get; set; } + + /// + /// 获取或设置服务 ID。 + /// + [Newtonsoft.Json.JsonProperty("service_id")] + [System.Text.Json.Serialization.JsonPropertyName("service_id")] + public string ServiceId { get; set; } = default!; + + /// + /// 获取或设置服务信息。 + /// + [Newtonsoft.Json.JsonProperty("service_introduction")] + [System.Text.Json.Serialization.JsonPropertyName("service_introduction")] + public string ServiceIntroduction { get; set; } = default!; + + /// + /// 获取或设置用户在服务商下唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string? OpenId { get; set; } + + /// + /// 获取或设置用户在子商户下唯一标识。 + /// + [Newtonsoft.Json.JsonProperty("sub_openid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_openid")] + public string? SubOpenId { get; set; } + + /// + /// 获取或设置服务订单状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public string State { get; set; } = default!; + + /// + /// 获取或设置服务订单状态说明。 + /// + [Newtonsoft.Json.JsonProperty("state_description")] + [System.Text.Json.Serialization.JsonPropertyName("state_description")] + public string? StateDescription { get; set; } + + /// + /// 获取或设置商户收款总金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("total_amount")] + [System.Text.Json.Serialization.JsonPropertyName("total_amount")] + public int? TotalAmount { get; set; } + + /// + /// 获取或设置附加数据。 + /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] + public string? Attachment { get; set; } + + /// + /// 获取或设置付费项目列表。 + /// + [Newtonsoft.Json.JsonProperty("post_payments")] + [System.Text.Json.Serialization.JsonPropertyName("post_payments")] + public Types.Payment[]? PostPaymentList { get; set; } + + /// + /// 获取或设置商户优惠列表。 + /// + [Newtonsoft.Json.JsonProperty("post_discounts")] + [System.Text.Json.Serialization.JsonPropertyName("post_discounts")] + public Types.Discount[]? PostDiscountList { get; set; } + + /// + /// 获取或设置服务时间段信息。 + /// + [Newtonsoft.Json.JsonProperty("time_range")] + [System.Text.Json.Serialization.JsonPropertyName("time_range")] + public Types.TimeRange? TimeRange { get; set; } + + /// + /// 获取或设置服务位置信息。 + /// + [Newtonsoft.Json.JsonProperty("location")] + [System.Text.Json.Serialization.JsonPropertyName("location")] + public Types.Location? Location { get; set; } + + /// + /// 获取或设置订单风险金信息。 + /// + [Newtonsoft.Json.JsonProperty("risk_fund")] + [System.Text.Json.Serialization.JsonPropertyName("risk_fund")] + public Types.RiskFund? RiskFund { get; set; } + + /// + /// 获取或设置是否需要收款。 + /// + [Newtonsoft.Json.JsonProperty("need_collection")] + [System.Text.Json.Serialization.JsonPropertyName("need_collection")] + public bool? RequireCollection { get; set; } + + /// + /// 获取或设置收款信息。 + /// + [Newtonsoft.Json.JsonProperty("collection")] + [System.Text.Json.Serialization.JsonPropertyName("collection")] + public Types.Collection? Collection { get; set; } + } +}