mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2026-03-10 00:13:36 +08:00
feat(wxapi): 新增小程序 B2B 门店助手相关接口
This commit is contained in:
@@ -9,29 +9,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
{
|
||||
public static class WechatApiClientExecuteWxaBusinessExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/getpayfororder 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/minigame/dev/api-backend/midas-payment/business.getPayForOrder.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaBusinessGetPayForOrderResponse> ExecuteWxaBusinessGetPayForOrderAsync(this WechatApiClient client, Models.WxaBusinessGetPayForOrderRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.AppId == null)
|
||||
request.AppId = client.Credentials.AppId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "wxa", "business", "getpayfororder")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessGetPayForOrderResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/checkencryptedmsg 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.checkEncryptedData.html </para>
|
||||
@@ -74,6 +51,31 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessGetUserPhoneNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
#region Midas
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/getpayfororder 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/minigame/dev/api-backend/midas-payment/business.getPayForOrder.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaBusinessGetPayForOrderResponse> ExecuteWxaBusinessGetPayForOrderAsync(this WechatApiClient client, Models.WxaBusinessGetPayForOrderRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.AppId == null)
|
||||
request.AppId = client.Credentials.AppId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "wxa", "business", "getpayfororder")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessGetPayForOrderResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GameMatch
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/gamematch/creatematchrule 接口。</para>
|
||||
@@ -326,5 +328,67 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessGetUserEncryptKeyResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region B2BStore
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/getretailinfo 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/B2b_store_assistant.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaBusinessGetRetailInfoResponse> ExecuteWxaBusinessGetRetailInfoAsync(this WechatApiClient client, Models.WxaBusinessGetRetailInfoRequest 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(request, HttpMethod.Post, "wxa", "business", "getretailinfo")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessGetRetailInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/batchcreateretail 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/B2b_store_assistant.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaBusinessBatchCreateRetailResponse> ExecuteWxaBusinessBatchCreateRetailAsync(this WechatApiClient client, Models.WxaBusinessBatchCreateRetailRequest 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(request, HttpMethod.Post, "wxa", "business", "batchcreateretail")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessBatchCreateRetailResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxa/business/retailnotifybusiness 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/B2b_store_assistant.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaBusinessRetailNotifyBusinessResponse> ExecuteWxaBusinessRetailNotifyBusinessAsync(this WechatApiClient client, Models.WxaBusinessRetailNotifyBusinessRequest 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(request, HttpMethod.Post, "wxa", "business", "retailnotifybusiness")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaBusinessRetailNotifyBusinessResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/batchcreateretail 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaBusinessBatchCreateRetailRequest : WechatApiRequest, IInferable<WxaBusinessBatchCreateRetailRequest, WxaBusinessBatchCreateRetailResponse>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class RetailInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置一级类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("retail_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("retail_type")]
|
||||
public string RetailType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置二级类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_retail_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_retail_type")]
|
||||
public string? RetailSubType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("retail_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("retail_name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店地址省份。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("address_province")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("address_province")]
|
||||
public string Province { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店地址城市。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("address_city")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("address_city")]
|
||||
public string City { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店地址区县。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("address_region")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("address_region")]
|
||||
public string District { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店地址街道。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("address_street")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("address_street")]
|
||||
public string Street { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的手机号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mobile_phone")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
|
||||
public string Mobilephone { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("biz_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("biz_name")]
|
||||
public string? BusinessName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营业执照注册号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("registration_number")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("registration_number")]
|
||||
public string? RegistrationNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置法人姓名。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("corporation_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("corporation_name")]
|
||||
public string? LegalPerson { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店信息列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("retail_info_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("retail_info_list")]
|
||||
public IList<Types.RetailInfo> RetailInfoList { get; set; } = new List<Types.RetailInfo>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/batchcreateretail 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaBusinessBatchCreateRetailResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Failure
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的手机号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mobile_phone")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
|
||||
public string Mobilephone { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营业执照注册号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("registration_number")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("registration_number")]
|
||||
public string? RegistrationNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失败原因编号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("failure_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("failure_code")]
|
||||
public int FailureCode { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置成功数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("num_success")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("num_success")]
|
||||
public int SuccessfulCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失败数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("num_failure")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("num_failure")]
|
||||
public int FailedCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失败信息列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("failure_record_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("failure_record_list")]
|
||||
public Types.Failure[]? FailureList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/getretailinfo 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaBusinessGetRetailInfoRequest : WechatApiRequest, IInferable<WxaBusinessGetRetailInfoRequest, WxaBusinessGetRetailInfoResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的 OpenId。与字段 <see cref="Mobilephone"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string? OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的手机号。与字段 <see cref="OpenId"/> 二选一。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mobile_phone")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
|
||||
public string? Mobilephone { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/getretailinfo 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaBusinessGetRetailInfoResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class RetailInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置一级类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("retail_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("retail_type")]
|
||||
public string RetailType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置二级类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_retail_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_retail_type")]
|
||||
public string RetailSubType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("retail_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("retail_name")]
|
||||
public string Name { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("retail_address")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("retail_address")]
|
||||
public string Address { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openid")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的手机号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mobile_phone")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mobile_phone")]
|
||||
public string Mobilephone { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("principal")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("principal")]
|
||||
public string? BusinessName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营业执照注册号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("identification")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("identification")]
|
||||
public string? RegistrationNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置法人姓名。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("legal_person_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("legal_person_name")]
|
||||
public string? LegalPerson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置认证方式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("auth_mode")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("auth_mode")]
|
||||
public int AuthMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置认证状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||
public int Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置认证时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("auth_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("auth_time")]
|
||||
public long? AuthTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置授权时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("grant_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("grant_time")]
|
||||
public long? GrantTimestamp { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店信息列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("info")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("info")]
|
||||
public Types.RetailInfo[] RetailInfoList { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/retailnotifybusiness 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaBusinessRetailNotifyBusinessRequest : WechatApiRequest, IInferable<WxaBusinessRetailNotifyBusinessRequest, WxaBusinessRetailNotifyBusinessResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置消息类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置下发内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public string Content { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店负责人的 OpenId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("to_user_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("to_user_list")]
|
||||
public IList<string> ToUserOpenIdList { get; set; } = new List<string>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/retailnotifybusiness 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaBusinessRetailNotifyBusinessResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxa/business/getpayfororder 接口的响应。</para>
|
||||
@@ -56,7 +56,7 @@
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("env")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("env")]
|
||||
public string MidasEnv { get; set; } = default!;
|
||||
public int MidasEnvironment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付时间戳。
|
||||
Reference in New Issue
Block a user