mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-19 10:08:20 +08:00
feat(tenpayv3): 新增微信支付分商户评估用户分层、下发服务消息等接口
This commit is contained in:
@@ -233,6 +233,10 @@
|
||||
|
||||
- 查询单笔退款:`GetRefundDomesticRefundByOutRefundNumber`
|
||||
|
||||
- 下发服务费用待处理消息:`SendPayScoreServiceOrderPendingMessage`
|
||||
|
||||
- 下发服务预扣费消息:`SendPayScoreServiceOrderPrepaidMessage`
|
||||
|
||||
- 微信支付分(免确认模式)
|
||||
|
||||
- 创单结单合并:`CreatePayScoreServiceOrderDirectComplete`
|
||||
@@ -249,6 +253,10 @@
|
||||
|
||||
- 解除用户授权关系(OpenId):`TerminatePayScorePermissionsByOpenId`
|
||||
|
||||
- 用户分层
|
||||
|
||||
- 评估用户分层:`AssessPayScorePermissionsUserRiskLevel`
|
||||
|
||||
- 微信支付分停车
|
||||
|
||||
- 创建停车入场:`CreateVehicleParking`
|
||||
@@ -741,6 +749,10 @@
|
||||
|
||||
- 商户申请获取对账单:`GetPayScoreMerchantBill`
|
||||
|
||||
- 下发服务费用待处理消息:`SendPayScorePartnerServiceOrderPendingMessage`
|
||||
|
||||
- 下发服务预扣费消息:`SendPayScorePartnerServiceOrderPrepaidMessage`
|
||||
|
||||
- 微信支付分(免确认预授权模式)
|
||||
|
||||
- 商户预授权:`ApplyPayScorePartnerPermissions`
|
||||
@@ -753,6 +765,10 @@
|
||||
|
||||
- 解除用户授权关系(OpenId):`TerminatePayScorePartnerPermissionsByOpenId`
|
||||
|
||||
- 用户分层
|
||||
|
||||
- 服务商评估用户分层:`AssessPayScorePartnerPermissionsUserRiskLevel`
|
||||
|
||||
- 微信支付分停车
|
||||
|
||||
- 查询车牌服务开通信息:`GetVehicleParkingService`
|
||||
|
@@ -122,6 +122,28 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.TerminatePayScorePermissionsByOpenIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/permissions/assess-user-risk-level 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/weixin-pay-score/service-auth/assess-user-risk-level.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.AssessPayScorePermissionsUserRiskLevelResponse> ExecuteAssessPayScorePermissionsUserRiskLevelAsync(this WechatTenpayClient client, Models.AssessPayScorePermissionsUserRiskLevelRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "payscore", "permissions", "assess-user-risk-level");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.AssessPayScorePermissionsUserRiskLevelResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Plan
|
||||
@@ -396,6 +418,50 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SetPayScoreServiceOrderSyncResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/serviceorder/{out_order_no}/send-pendingmessage 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/weixin-pay-score/service-order/send-order-pending-message.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.SendPayScoreServiceOrderPendingMessageResponse> ExecuteSendPayScoreServiceOrderPendingMessageAsync(this WechatTenpayClient client, Models.SendPayScoreServiceOrderPendingMessageRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "send-pendingmessage");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SendPayScoreServiceOrderPendingMessageResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/serviceorder/{out_order_no}/send-prepaidmessage 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/merchant/apis/weixin-pay-score/service-order/send-order-prepaid-message.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.SendPayScoreServiceOrderPrepaidMessageResponse> ExecuteSendPayScoreServiceOrderPrepaidMessageAsync(this WechatTenpayClient client, Models.SendPayScoreServiceOrderPrepaidMessageRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "payscore", "serviceorder", request.OutOrderNumber, "send-prepaidmessage");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SendPayScoreServiceOrderPrepaidMessageResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SignPlan
|
||||
|
@@ -131,6 +131,28 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.TerminatePayScorePartnerPermissionsByOpenIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/partner/permissions/assess-user-risk-level 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-weixin-pay-score/partner-service-auth/assess-partner-user-risk-level.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.AssessPayScorePartnerPermissionsUserRiskLevelResponse> ExecuteAssessPayScorePartnerPermissionsUserRiskLevelAsync(this WechatTenpayClient client, Models.AssessPayScorePartnerPermissionsUserRiskLevelRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "payscore", "partner", "permissions", "assess-user-risk-level");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.AssessPayScorePartnerPermissionsUserRiskLevelResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Plan
|
||||
@@ -384,6 +406,50 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SetPayScorePartnerServiceOrderSyncResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/partner/serviceorder/{out_order_no}/send-pendingmessage 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-weixin-pay-score/partner-service-order/send-partner-order-pending-message.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.SendPayScorePartnerServiceOrderPendingMessageResponse> ExecuteSendPayScorePartnerServiceOrderPendingMessageAsync(this WechatTenpayClient client, Models.SendPayScorePartnerServiceOrderPendingMessageRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "send-pendingmessage");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SendPayScorePartnerServiceOrderPendingMessageResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /payscore/partner/serviceorder/{out_order_no}/send-prepaidmessage 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/docs/partner/apis/partner-weixin-pay-score/partner-service-order/send-partner-order-prepaid-message.html ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.SendPayScorePartnerServiceOrderPrepaidMessageResponse> ExecuteSendPayScorePartnerServiceOrderPrepaidMessageAsync(this WechatTenpayClient client, Models.SendPayScorePartnerServiceOrderPrepaidMessageRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "payscore", "partner", "serviceorder", request.OutOrderNumber, "send-prepaidmessage");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.SendPayScorePartnerServiceOrderPrepaidMessageResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ServiceQuota
|
||||
|
@@ -0,0 +1,99 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/permissions/assess-user-risk-level 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class AssessPayScorePermissionsUserRiskLevelRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ShoppingInfo
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Goods
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商品名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品图片链接。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("picture")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("picture")]
|
||||
public string PictureUrl { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品单价(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("amount")]
|
||||
public int Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("count")]
|
||||
public int Count { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品品类 ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("category_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("category_id")]
|
||||
public IList<string>? CategoryIdList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("goods")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("goods")]
|
||||
public IList<Types.Goods>? GoodsList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string? OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置授权协议号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_code")]
|
||||
public string? AuthorizationCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置先用后付商品信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("shopping_info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("shopping_info")]
|
||||
public Types.ShoppingInfo? ShoppingInfo { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/permissions/assess-user-risk-level 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class AssessPayScorePermissionsUserRiskLevelResponse : GetPayScorePermissionsByAuthorizationCodeResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置渠道商商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("channel_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("channel_id")]
|
||||
public string? ChannelId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户标签。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_label")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_label")]
|
||||
public string? UserLabel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户分层。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_risk_level")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_risk_level")]
|
||||
public int? UserRiskLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分层版本。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("risk_level_version")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("risk_level_version")]
|
||||
public int? RiskLevelVersion { get; set; }
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
@@ -40,7 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_code")]
|
||||
public string AuthorizationCode { get; set; } = default!;
|
||||
public string? AuthorizationCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置授权状态。
|
||||
@@ -73,5 +73,19 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_success_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? AuthorizationSuccessTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户分层。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_risk_level")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_risk_level")]
|
||||
public int? UserRiskLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分层版本。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("risk_level_version")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("risk_level_version")]
|
||||
public int? RiskLevelVersion { get; set; }
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,63 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/serviceorder/{out_order_no}/send-pendingmessage 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class SendPayScoreServiceOrderPendingMessageRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Payment : CreatePayScoreServiceOrderRequest.Types.Payment
|
||||
{
|
||||
}
|
||||
|
||||
public class Discount : CreatePayScoreServiceOrderRequest.Types.Discount
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户服务订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutOrderNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付费项目列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_payments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_payments")]
|
||||
public IList<Types.Payment> PostPaymentList { get; set; } = new List<Types.Payment>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户优惠列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_discounts")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_discounts")]
|
||||
public IList<Types.Discount>? PostDiscountList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总金额。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_amount")]
|
||||
public int TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预计扣费时间字符串(格式:yyyyMMddHH)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("prepaid_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("prepaid_time")]
|
||||
public string? PrepaidTimeString { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/serviceorder/{out_order_no}/send-pendingmessage 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class SendPayScoreServiceOrderPendingMessageResponse : WechatTenpayResponse
|
||||
{
|
||||
}
|
||||
}
|
@@ -0,0 +1,63 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/serviceorder/{out_order_no}/send-prepaidmessage 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class SendPayScoreServiceOrderPrepaidMessageRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Payment : CreatePayScoreServiceOrderRequest.Types.Payment
|
||||
{
|
||||
}
|
||||
|
||||
public class Discount : CreatePayScoreServiceOrderRequest.Types.Discount
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户服务订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutOrderNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付费项目列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_payments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_payments")]
|
||||
public IList<Types.Payment> PostPaymentList { get; set; } = new List<Types.Payment>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户优惠列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_discounts")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_discounts")]
|
||||
public IList<Types.Discount>? PostDiscountList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总金额。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_amount")]
|
||||
public int TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预计扣费时间字符串(格式:yyyyMMddHH)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("prepaid_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("prepaid_time")]
|
||||
public string? PrepaidTimeString { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/serviceorder/{out_order_no}/send-prepaidmessage 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class SendPayScoreServiceOrderPrepaidMessageResponse : WechatTenpayResponse
|
||||
{
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/partner/permissions/assess-user-risk-level 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class AssessPayScorePartnerPermissionsUserRiskLevelRequest : AssessPayScorePermissionsUserRiskLevelRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/partner/permissions/assess-user-risk-level 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class AssessPayScorePartnerPermissionsUserRiskLevelResponse : AssessPayScorePermissionsUserRiskLevelResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
|
||||
public string? SubAppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户在子商户的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_openid")]
|
||||
public string? SubOpenId { get; set; }
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /payscore/partner/permissions/authorization-code/{authorization_code} 接口的响应。</para>
|
||||
|
@@ -0,0 +1,70 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/partner/serviceorder/{out_order_no}/send-pendingmessage 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class SendPayScorePartnerServiceOrderPendingMessageRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Payment : CreatePayScorePartnerServiceOrderRequest.Types.Payment
|
||||
{
|
||||
}
|
||||
|
||||
public class Discount : CreatePayScorePartnerServiceOrderRequest.Types.Discount
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户服务订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutOrderNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付费项目列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_payments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_payments")]
|
||||
public IList<Types.Payment> PostPaymentList { get; set; } = new List<Types.Payment>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户优惠列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_discounts")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_discounts")]
|
||||
public IList<Types.Discount>? PostDiscountList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总金额。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_amount")]
|
||||
public int TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预计扣费时间字符串(格式:yyyyMMddHH)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("prepaid_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("prepaid_time")]
|
||||
public string? PrepaidTimeString { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/partner/serviceorder/{out_order_no}/send-pendingmessage 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class SendPayScorePartnerServiceOrderPendingMessageResponse : WechatTenpayResponse
|
||||
{
|
||||
}
|
||||
}
|
@@ -0,0 +1,70 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/partner/serviceorder/{out_order_no}/send-prepaidmessage 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class SendPayScorePartnerServiceOrderPrepaidMessageRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Payment : CreatePayScorePartnerServiceOrderRequest.Types.Payment
|
||||
{
|
||||
}
|
||||
|
||||
public class Discount : CreatePayScorePartnerServiceOrderRequest.Types.Discount
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户服务订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutOrderNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("service_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("service_id")]
|
||||
public string ServiceId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置付费项目列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_payments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_payments")]
|
||||
public IList<Types.Payment> PostPaymentList { get; set; } = new List<Types.Payment>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户优惠列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("post_discounts")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("post_discounts")]
|
||||
public IList<Types.Discount>? PostDiscountList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总金额。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_amount")]
|
||||
public int TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预计扣费时间字符串(格式:yyyyMMddHH)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("prepaid_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("prepaid_time")]
|
||||
public string? PrepaidTimeString { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /payscore/partner/serviceorder/{out_order_no}/send-prepaidmessage 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class SendPayScorePartnerServiceOrderPrepaidMessageResponse : WechatTenpayResponse
|
||||
{
|
||||
}
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"service_id": "500001",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"authorization_code": "1234323JKHDFE1243252",
|
||||
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"shopping_info": {
|
||||
"goods": [
|
||||
{
|
||||
"name": "森海塞尔 MOMENTUM 4 无线耳机大馒头4 头戴式蓝牙音乐耳机自适应降噪",
|
||||
"picture": "http://mmbiz.qpic.cn/mmbiz_png/ldTw9dg46zkjOrzyTkbQAvQkysliaiblZhdthZWewgQMyqLZwStaNEsJrYmjwh2MlK7G4wibAFOEuISQKplSnxMWA/640?wx_fmt=png&wxfrom=200",
|
||||
"amount": 550,
|
||||
"count": 1,
|
||||
"category_id": [
|
||||
"6032"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"mchid": "1230000109",
|
||||
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"authorization_code": "1275342195190894594",
|
||||
"authorization_state": "UNAVAILABLE",
|
||||
"notify_url": "https://www.weixin.com",
|
||||
"cancel_authorization_time": "2015-05-20T13:29:35+08:00",
|
||||
"authorization_success_time": "2015-05-20T13:29:35+08:00",
|
||||
"user_label": "A",
|
||||
"channel_id": "1230000109",
|
||||
"user_risk_level": 1,
|
||||
"risk_level_version": 1
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"mchid": "1230000109",
|
||||
@@ -7,5 +7,7 @@
|
||||
"authorization_state": "UNAVAILABLE",
|
||||
"notify_url": "https://www.weixin.com",
|
||||
"cancel_authorization_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"authorization_success_time": "2015-05-20T13:29:35.120+08:00"
|
||||
"authorization_success_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"user_risk_level": 1,
|
||||
"risk_level_version": 1
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"mchid": "1230000109",
|
||||
@@ -7,5 +7,7 @@
|
||||
"authorization_state": "UNAVAILABLE",
|
||||
"notify_url": "https://www.weixin.com",
|
||||
"cancel_authorization_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"authorization_success_time": "2015-05-20T13:29:35.120+08:00"
|
||||
"authorization_success_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"user_risk_level": 1,
|
||||
"risk_level_version": 1
|
||||
}
|
||||
|
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"post_payments": [
|
||||
{
|
||||
"name": "就餐费用",
|
||||
"amount": 40000,
|
||||
"description": "就餐人均100元",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"post_discounts": [
|
||||
{
|
||||
"name": "满20减1元",
|
||||
"description": "不与其他优惠叠加",
|
||||
"amount": 100,
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"total_amount": 50000,
|
||||
"prepaid_time": "20231218"
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"post_payments": [
|
||||
{
|
||||
"name": "就餐费用",
|
||||
"amount": 40000,
|
||||
"description": "就餐人均100元",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"post_discounts": [
|
||||
{
|
||||
"name": "满20减1元",
|
||||
"description": "不与其他优惠叠加",
|
||||
"amount": 100,
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"total_amount": 50000,
|
||||
"prepaid_time": "20231218"
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"service_id": "500001",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"sub_appid": "wxd678efh567hg6787",
|
||||
"authorization_code": "1234323JKHDFE1243252",
|
||||
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"shopping_info": {
|
||||
"goods": [
|
||||
{
|
||||
"name": "森海塞尔 MOMENTUM 4 无线耳机大馒头4 头戴式蓝牙音乐耳机自适应降噪",
|
||||
"picture": "http://mmbiz.qpic.cn/mmbiz_png/ldTw9dg46zkjOrzyTkbQAvQkysliaiblZhdthZWewgQMyqLZwStaNEsJrYmjwh2MlK7G4wibAFOEuISQKplSnxMWA/640?wx_fmt=png&wxfrom=200",
|
||||
"amount": 550,
|
||||
"count": 1,
|
||||
"category_id": [
|
||||
"6032"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"mchid": "1230000109",
|
||||
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"authorization_code": "1275342195190894594",
|
||||
"authorization_state": "UNAVAILABLE",
|
||||
"notify_url": "https://www.weixin.com",
|
||||
"cancel_authorization_time": "2015-05-20T13:29:35+08:00",
|
||||
"authorization_success_time": "2015-05-20T13:29:35+08:00",
|
||||
"sub_mchid": "1230000109",
|
||||
"sub_appid": "wxd678efh567hg6787",
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"user_label": "A",
|
||||
"channel_id": "1230000109",
|
||||
"user_risk_level": 1,
|
||||
"risk_level_version": 1
|
||||
}
|
@@ -1,13 +1,16 @@
|
||||
{
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"mchid": "1230000109",
|
||||
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"authorization_code": "1275342195190894594",
|
||||
"authorization_state": "UNAVAILABLE",
|
||||
"notify_url": "https://www.weixin.com",
|
||||
"cancel_authorization_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"authorization_success_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"cancel_authorization_time": "2015-05-20T13:29:35+08:00",
|
||||
"authorization_success_time": "2015-05-20T13:29:35+08:00",
|
||||
"sub_mchid": "1230000109",
|
||||
"sub_appid": "wxd678efh567hg6787",
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"user_risk_level": 1,
|
||||
"risk_level_version": 1
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"mchid": "1230000109",
|
||||
@@ -8,5 +8,7 @@
|
||||
"authorization_success_time": "2015-05-20T13:29:35.120+08:00",
|
||||
"sub_mchid": "1230000109",
|
||||
"sub_appid": "wxd678efh567hg6787",
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"user_risk_level": 1,
|
||||
"risk_level_version": 1
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"appid": "wxd678efh567hg6787",
|
||||
"sub_mchid": "1900000109",
|
||||
@@ -8,8 +8,8 @@
|
||||
"post_payments": [
|
||||
{
|
||||
"name": "就餐费用",
|
||||
"description": "就餐人均100元",
|
||||
"amount": 40000,
|
||||
"description": "就餐人均100元",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
@@ -17,6 +17,7 @@
|
||||
{
|
||||
"name": "满20减1元",
|
||||
"description": "不与其他优惠叠加",
|
||||
"amount": 100,
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
@@ -27,14 +28,15 @@
|
||||
},
|
||||
"time_range": {
|
||||
"start_time": "20091225091010",
|
||||
"start_time_remark": "开始租借时间",
|
||||
"end_time": "20091225121010",
|
||||
"end_time_remark": "租借结束时间"
|
||||
"start_time_remark": "备注1",
|
||||
"end_time_remark": "备注2"
|
||||
},
|
||||
"location": {
|
||||
"start_location": "嗨客时尚主题展餐厅",
|
||||
"end_location": "嗨客时尚主题展餐厅"
|
||||
},
|
||||
"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"sub_openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
|
||||
"need_user_confirm": false,
|
||||
"notify_url": "https://api.test.com",
|
||||
|
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"sub_mchid": "1900000109",
|
||||
"post_payments": [
|
||||
{
|
||||
"name": "就餐费用",
|
||||
"amount": 40000,
|
||||
"description": "就餐人均100元",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"post_discounts": [
|
||||
{
|
||||
"name": "满20减1元",
|
||||
"description": "不与其他优惠叠加",
|
||||
"amount": 100,
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"total_amount": 50000,
|
||||
"prepaid_time": "20231218"
|
||||
}
|
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"service_id": "2002000000000558128851361561536",
|
||||
"sub_mchid": "1900000109",
|
||||
"post_payments": [
|
||||
{
|
||||
"name": "就餐费用",
|
||||
"amount": 40000,
|
||||
"description": "就餐人均100元",
|
||||
"count": 4
|
||||
}
|
||||
],
|
||||
"post_discounts": [
|
||||
{
|
||||
"name": "满20减1元",
|
||||
"description": "不与其他优惠叠加",
|
||||
"amount": 100,
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"total_amount": 50000,
|
||||
"prepaid_time": "20231218"
|
||||
}
|
Reference in New Issue
Block a user