mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2026-02-13 03:26:19 +08:00
feat(tenpayv3): 新增企业支付相关接口
This commit is contained in:
@@ -91,6 +91,7 @@
|
||||
| √ | 其他:银行提现免费券 | 合作伙伴 | |
|
||||
| √ | 其他:银行周周惠 | 合作伙伴 | |
|
||||
| √ | 其他:微工卡 | 合作伙伴 | |
|
||||
| √ | 其他:企业支付 | 合作伙伴 | |
|
||||
| √ | 其他:优惠费率活动 | 合作伙伴 | |
|
||||
| √ | 其他:爱心餐 | 直连商户 | |
|
||||
| × | <del>其他:清关报关</del> | 直连商户 | 官方未提供 v3 API |
|
||||
@@ -525,50 +526,6 @@
|
||||
|
||||
- 查询银行转账充值结果:`GetBankTransferRechargeByOutRechargeNumber`
|
||||
|
||||
- 商家名片会员
|
||||
|
||||
- 会员卡模板管理:
|
||||
|
||||
- 创建会员卡模板:`CreateBrandPartnerCardMemberCard`
|
||||
|
||||
- 查询会员卡模板列表:`QueryBrandPartnerCardMemberCards`
|
||||
|
||||
- 查询会员卡模板信息:`GetBrandPartnerCardMemberCardByCardId`
|
||||
|
||||
- 修改会员卡模板信息:`UpdateBrandPartnerCardMemberCard`
|
||||
|
||||
- 作废会员卡模板:`InvalidateBrandPartnerCardMemberCard`
|
||||
|
||||
- 用户会员卡管理:
|
||||
|
||||
- 查询用户会员卡信息:`GetBrandPartnerCardMemberUserCardByUserCardCode`
|
||||
|
||||
- 查询用户在品牌下所有会员卡:`QueryBrandPartnerCardMemberUserCards`
|
||||
|
||||
- 修改用户会员卡信息:`UpdateBrandPartnerCardMemberUserCard`
|
||||
|
||||
- 作废用户会员卡:`InvalidateBrandPartnerCardMemberUserCard`
|
||||
|
||||
- 用户开通会员卡:
|
||||
|
||||
- 入会组件预授权:`CreateBrandPartnerCardMemberPreauthToken`
|
||||
|
||||
- 商家同步会员身份:
|
||||
|
||||
- 根据 OpenId 导入用户会员卡:`ImportBrandPartnerCardMemberUserCardByOpenId`
|
||||
|
||||
- 同步会员开通结果:`ConfirmBrandPartnerCardMemberUserCard`
|
||||
|
||||
- 用户动态:
|
||||
|
||||
- 创建用户动态信息:`CreateBrandPartnerCardMemberUserFeed`
|
||||
|
||||
- 会员卡积分兑券:
|
||||
|
||||
- 同步积分余额:`SyncBrandPartnerCardMemberUserPoint`
|
||||
|
||||
- 同步积分兑券结果:`ConfirmBrandPartnerCardMemberUserPointExchangeCoupon`
|
||||
|
||||
- 扩展工具
|
||||
|
||||
- 分账
|
||||
@@ -1369,6 +1326,50 @@
|
||||
|
||||
- 关闭广告展示:`CloseGoldPlanAdvertisingShow`
|
||||
|
||||
- 商家名片会员
|
||||
|
||||
- 会员卡模板管理:
|
||||
|
||||
- 创建会员卡模板:`CreateBrandPartnerCardMemberCard`
|
||||
|
||||
- 查询会员卡模板列表:`QueryBrandPartnerCardMemberCards`
|
||||
|
||||
- 查询会员卡模板信息:`GetBrandPartnerCardMemberCardByCardId`
|
||||
|
||||
- 修改会员卡模板信息:`UpdateBrandPartnerCardMemberCard`
|
||||
|
||||
- 作废会员卡模板:`InvalidateBrandPartnerCardMemberCard`
|
||||
|
||||
- 用户会员卡管理:
|
||||
|
||||
- 查询用户会员卡信息:`GetBrandPartnerCardMemberUserCardByUserCardCode`
|
||||
|
||||
- 查询用户在品牌下所有会员卡:`QueryBrandPartnerCardMemberUserCards`
|
||||
|
||||
- 修改用户会员卡信息:`UpdateBrandPartnerCardMemberUserCard`
|
||||
|
||||
- 作废用户会员卡:`InvalidateBrandPartnerCardMemberUserCard`
|
||||
|
||||
- 用户开通会员卡:
|
||||
|
||||
- 入会组件预授权:`CreateBrandPartnerCardMemberPreauthToken`
|
||||
|
||||
- 商家同步会员身份:
|
||||
|
||||
- 根据 OpenId 导入用户会员卡:`ImportBrandPartnerCardMemberUserCardByOpenId`
|
||||
|
||||
- 同步会员开通结果:`ConfirmBrandPartnerCardMemberUserCard`
|
||||
|
||||
- 用户动态:
|
||||
|
||||
- 创建用户动态信息:`CreateBrandPartnerCardMemberUserFeed`
|
||||
|
||||
- 会员卡积分兑券:
|
||||
|
||||
- 同步积分余额:`SyncBrandPartnerCardMemberUserPoint`
|
||||
|
||||
- 同步积分兑券结果:`ConfirmBrandPartnerCardMemberUserPointExchangeCoupon`
|
||||
|
||||
- 扩展工具
|
||||
|
||||
- 分账
|
||||
@@ -1763,6 +1764,32 @@
|
||||
|
||||
- 服务商银行来账查询:`QueryMerchantFundMerchantIncomeRecords`
|
||||
|
||||
- 企业支付
|
||||
|
||||
- 企业商户为员工下发企业支付额度卡:`CreateWeBusinessPayEmployeeQuotaCard`
|
||||
|
||||
- 企业商户作废员工企业支付额度卡:`CancelWeBusinessPayEmployeeQuotaCard`
|
||||
|
||||
- 企业商户使用商户卡号查询企业支付额度卡:`GetWeBusinessPayEmployeeQuotaCardByOutCardNumber`
|
||||
|
||||
- 企业商户发起员工开通企业支付授权:`GetWeBusinessPayUserAuthorizationUrl`
|
||||
|
||||
- 企业商户发起解除员工企业支付授权:`RevokeGetWeBusinessPayEmployee`
|
||||
|
||||
- 企业商户查询企业员工开通授权状态:`GetWeBusinessPayUserAuthorizationState`
|
||||
|
||||
- 企业商户查询企业支付额度卡:`GetWeBusinessPayEmployeeQuotaCardByCardNumber`
|
||||
|
||||
- 企业商户获取指定额度卡支付链接:`GetWeBusinessPayEmployeeQuotaCardPaymentUrl`
|
||||
|
||||
- 发起门店主体匹配:`CreateWeBusinessPayStoreEntityMatch`
|
||||
|
||||
- 查询门店主体匹配结果:`GetWeBusinessPayStoreEntityMatchByBatchId`
|
||||
|
||||
- 申请企业商户企业支付业务账单:`GetWeBusinessPayBillTradeBill`
|
||||
|
||||
- 申请企业商户企业支付出资凭证:`GetWeBusinessPayBillProof`
|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,329 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Flurl.Http;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
{
|
||||
public static class WechatTenpayClientExecuteWeBusinessPayExtensions
|
||||
{
|
||||
#region Bill
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/bill/trade-bill 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507142 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayBillTradeBillResponse> ExecuteGetWeBusinessPayBillTradeBillAsync(this WechatTenpayClient client, Models.GetWeBusinessPayBillTradeBillRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "bill", "trade-bill");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayBillTradeBillResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/bill/proof 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507157 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayBillProofResponse> ExecuteGetWeBusinessPayBillProofAsync(this WechatTenpayClient client, Models.GetWeBusinessPayBillProofRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "bill", "proof");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayBillProofResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Employees
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/employees/{employee_id}/quota-cards 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507148 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateWeBusinessPayEmployeeQuotaCardResponse> ExecuteCreateWeBusinessPayEmployeeQuotaCardAsync(this WechatTenpayClient client, Models.CreateWeBusinessPayEmployeeQuotaCardRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "employees", request.EmployeeId, "quota-cards");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateWeBusinessPayEmployeeQuotaCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /webizpay/employees/{employee_id}/out-quota-cards/{out_card_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4015001625 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse> ExecuteGetWeBusinessPayEmployeeQuotaCardByOutCardNumberAsync(this WechatTenpayClient client, Models.GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "employees", request.EmployeeId, "out-quota-cards", request.OutCardNumber)
|
||||
.SetQueryParam("sp_mchid", request.MerchantId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507119 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse> ExecuteGetWeBusinessPayEmployeeQuotaCardByCardNumberAsync(this WechatTenpayClient client, Models.GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "employees", request.EmployeeId, "quota-cards", request.CardNumber)
|
||||
.SetQueryParam("sp_mchid", request.MerchantId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/employees/{employee_id}/revoke 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507156 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.RevokeGetWeBusinessPayEmployeeResponse> ExecuteRevokeGetWeBusinessPayEmployeeAsync(this WechatTenpayClient client, Models.RevokeGetWeBusinessPayEmployeeRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "employees", request.EmployeeId, "revoke");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.RevokeGetWeBusinessPayEmployeeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/employees/{employee_id}/quota-cards/{card_no}/cancel 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507127 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CancelWeBusinessPayEmployeeQuotaCardResponse> ExecuteCancelWeBusinessPayEmployeeQuotaCardAsync(this WechatTenpayClient client, Models.CancelWeBusinessPayEmployeeQuotaCardRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "employees", request.EmployeeId, "quota-cards", request.CardNumber, "cancel");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CancelWeBusinessPayEmployeeQuotaCardResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no}/payment-url 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507160 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse> ExecuteGetWeBusinessPayEmployeeQuotaCardPaymentUrlAsync(this WechatTenpayClient client, Models.GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "employees", request.EmployeeId, "quota-cards", request.CardNumber, "payment-url")
|
||||
.SetQueryParam("sp_mchid", request.MerchantId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId)
|
||||
.SetQueryParam("application_type", request.ApplicationType);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Stores
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/stores/entity-matches 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507136 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateWeBusinessPayStoreEntityMatchResponse> ExecuteCreateWeBusinessPayStoreEntityMatchAsync(this WechatTenpayClient client, Models.CreateWeBusinessPayStoreEntityMatchRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "stores", "entity-matches");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateWeBusinessPayStoreEntityMatchResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /webizpay/stores/entity-matches/{batch_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507133 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayStoreEntityMatchByBatchIdResponse> ExecuteGetWeBusinessPayStoreEntityMatchByBatchIdAsync(this WechatTenpayClient client, Models.GetWeBusinessPayStoreEntityMatchByBatchIdRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "stores", "entity-matches", request.BatchId)
|
||||
.SetQueryParam("sp_mchid", request.MerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayStoreEntityMatchByBatchIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Users
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /webizpay/users/{user_id}/authorization-state 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507163 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayUserAuthorizationStateResponse> ExecuteGetWeBusinessPayUserAuthorizationStateAsync(this WechatTenpayClient client, Models.GetWeBusinessPayUserAuthorizationStateRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Get, "webizpay", "users", request.UserId, "authorization-state")
|
||||
.SetQueryParam("sp_mchid", request.MerchantId)
|
||||
.SetQueryParam("sub_mchid", request.SubMerchantId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayUserAuthorizationStateResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /webizpay/users/{user_id}/authorization-url 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4014507153 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.GetWeBusinessPayUserAuthorizationUrlResponse> ExecuteGetWeBusinessPayUserAuthorizationUrlAsync(this WechatTenpayClient client, Models.GetWeBusinessPayUserAuthorizationUrlRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
if (request.MerchantId is null)
|
||||
request.MerchantId = client.Credentials.MerchantId;
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateFlurlRequest(request, HttpMethod.Post, "webizpay", "users", request.UserId, "authorization-url");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.GetWeBusinessPayUserAuthorizationUrlResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
public DateTimeOffset? AuthorizationCancelTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最近一次解除授权时间。
|
||||
/// 获取或设置最近一次授权时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_success_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/bill/proof 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayBillProofRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置开始日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("start_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("start_date")]
|
||||
public string StartDateString { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结束日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("end_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("end_date")]
|
||||
public string EndDateString { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户主体名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("entity_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("entity_name")]
|
||||
public string? EntityName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户操作流水号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_operation_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_operation_id")]
|
||||
public string? OutOperationId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/bill/proof 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayBillProofResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置开始日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("start_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("start_date")]
|
||||
public string StartDateString { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结束日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("end_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("end_date")]
|
||||
public string EndDateString { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户主体名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("entity_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("entity_name")]
|
||||
public string? EntityName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户操作流水号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_operation_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_operation_id")]
|
||||
public string OutOperationId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付操作流水号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("operation_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("operation_id")]
|
||||
public string OperationId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置出资凭证申请单单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("proof_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("proof_id")]
|
||||
public string ProofId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单下载地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("download_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("download_url")]
|
||||
public string DownloadUrl { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置创建时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("created_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("created_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置更新时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("updated_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("updated_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset UpdateTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/bill/trade-bill 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayBillTradeBillRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("date")]
|
||||
public string BillDateString { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public string BillType { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/bill/trade-bill 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayBillTradeBillResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单日期字符串(格式:yyyy-MM-dd)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("date")]
|
||||
public string BillDateString { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public string BillType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置哈希类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("hash_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("hash_type")]
|
||||
public string HashType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置哈希值。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("hash_value")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("hash_value")]
|
||||
public string HashValue { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置账单下载地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("download_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("download_url")]
|
||||
public string DownloadUrl { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/employees/{employee_id}/quota-cards/{card_no}/cancel 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CancelWeBusinessPayEmployeeQuotaCardRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string EmployeeId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string CardNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置作废原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reason")]
|
||||
public string Reason { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/employees/{employee_id}/quota-cards/{card_no}/cancel 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CancelWeBusinessPayEmployeeQuotaCardResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("employee_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("employee_id")]
|
||||
public string EmployeeId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_no")]
|
||||
public string CardNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_state")]
|
||||
public string CardState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片失效时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_disabled_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_disabled_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset DisableTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/employees/{employee_id}/quota-cards 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateWeBusinessPayEmployeeQuotaCardRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string EmployeeId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_card_no")]
|
||||
public string OutCardNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付卡模板 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_template_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_template_id")]
|
||||
public string CardTemplateId { 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("effective_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("effective_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset EffectiveEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_name")]
|
||||
public string CardName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片备注。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_remark")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_remark")]
|
||||
public string? CardRemark { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/employees/{employee_id}/quota-cards 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateWeBusinessPayEmployeeQuotaCardResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("employee_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("employee_id")]
|
||||
public string EmployeeId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_card_no")]
|
||||
public string OutCardNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_no")]
|
||||
public string CardNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置有效期开始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("effective_begin_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("effective_begin_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset EffectiveBeginTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置有效期结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("effective_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("effective_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset EffectiveEndTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayEmployeeQuotaCardByCardNumberRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string EmployeeId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string CardNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayEmployeeQuotaCardByCardNumberResponse : GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/employees/{employee_id}/out-quota-cards/{out_card_no} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayEmployeeQuotaCardByOutCardNumberRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string EmployeeId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string OutCardNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/employees/{employee_id}/out-quota-cards/{out_card_no} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayEmployeeQuotaCardByOutCardNumberResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("employee_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("employee_id")]
|
||||
public string EmployeeId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_card_no")]
|
||||
public string OutCardNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_no")]
|
||||
public string CardNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付卡模板 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_template_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_template_id")]
|
||||
public string CardTemplateId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置使用规则。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_rule")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_rule")]
|
||||
public string CardRule { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置退款规则。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("refund_rule")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("refund_rule")]
|
||||
public string RefundRule { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("amount")]
|
||||
public int Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置可用金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("remain_amount")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("remain_amount")]
|
||||
public int RemainAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置有效期开始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("effective_begin_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("effective_begin_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset EffectiveBeginTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置有效期结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("effective_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("effective_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset EffectiveEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_state")]
|
||||
public string CardState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_name")]
|
||||
public string CardName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片备注。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_remark")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_remark")]
|
||||
public string? CardRemark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置卡片失效时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_disabled_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_disabled_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? DisableTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失效原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reason")]
|
||||
public string? DisableReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最近一次使用时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_usage_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_usage_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? LastUsageTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最近一次关联微信支付订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("transaction_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
|
||||
public string? LastTransactionId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no}/payment-url 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayEmployeeQuotaCardPaymentUrlRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string EmployeeId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string CardNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业应用类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string ApplicationType { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/employees/{employee_id}/quota-cards/{card_no}/payment-url 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayEmployeeQuotaCardPaymentUrlResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("employee_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("employee_id")]
|
||||
public string EmployeeId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("card_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("card_no")]
|
||||
public string CardNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业应用类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("application_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("application_type")]
|
||||
public string ApplicationType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置跳转链接。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("payment_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("payment_url")]
|
||||
public string? PaymentUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序查询参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mp_query")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mp_query")]
|
||||
public string? MiniProgramQueryString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序业务类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mp_business_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mp_business_type")]
|
||||
public string? MiniProgramBusinessType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置链接失效时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("expire_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("expire_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset ExpireTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/employees/{employee_id}/revoke 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class RevokeGetWeBusinessPayEmployeeRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string EmployeeId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/employees/{employee_id}/revoke 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class RevokeGetWeBusinessPayEmployeeResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户企业员工 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_id")]
|
||||
public string UserId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置授权状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_state")]
|
||||
public string AuthorizationState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除授权时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_revoked_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_revoked_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset RevokeTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置失效原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reason")]
|
||||
public string? Reason { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/stores/entity-matches 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateWeBusinessPayStoreEntityMatchRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class MatchDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置门店统一社会信用代码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("organization_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("organization_code")]
|
||||
public string OrganizationCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("store_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("store_name")]
|
||||
public string StoreName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置需要查询的支付产品。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_type")]
|
||||
public string? ProductType { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户主体匹配批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_batch_id")]
|
||||
public string OutBatchId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置主体匹配明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("match_details")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("match_details")]
|
||||
public IList<Types.MatchDetail>? MatchDetailList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/stores/entity-matches 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateWeBusinessPayStoreEntityMatchResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户主体匹配批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_batch_id")]
|
||||
public string OutBatchId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付主体匹配批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("batch_id")]
|
||||
public string BatchId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置批次状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string State { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置创建时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset CreateTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/stores/entity-matches/{batch_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayStoreEntityMatchByBatchIdRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付主体匹配批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string BatchId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/stores/entity-matches/{batch_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayStoreEntityMatchByBatchIdResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class MatchResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置门店统一社会信用代码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("organization_code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("organization_code")]
|
||||
public string OrganizationCode { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置门店名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("store_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("store_name")]
|
||||
public string StoreName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否存在满足条件微信支付商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("has_valid_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("has_valid_mchid")]
|
||||
public bool HasValidMerchantId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户主体匹配批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_batch_id")]
|
||||
public string OutBatchId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信支付主体匹配批次单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("batch_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("batch_id")]
|
||||
public string BatchId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置批次状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("state")]
|
||||
public string State { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置主体匹配明细列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("match_results")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("match_results")]
|
||||
public Types.MatchResult[] MatchResultList { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/users/{user_id}/authorization-state 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayUserAuthorizationStateRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业员工 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string UserId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /webizpay/users/{user_id}/authorization-state 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayUserAuthorizationStateResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Employee
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("employee_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("employee_id")]
|
||||
public string EmployeeId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置授权状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_state")]
|
||||
public string AuthorizationState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置授权时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset AuthorizeTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置解除授权时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_revoked_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_revoked_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? RevokeTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户企业员工 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_id")]
|
||||
public string UserId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置微信授权关系列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("employee_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("employee_list")]
|
||||
public Types.Employee[]? EmployeeList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/users/{user_id}/authorization-url 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayUserAuthorizationUrlRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。如果不指定将使用构造 <see cref="WechatTenpayGlobalClient"/> 时的 <see cref="WechatTenpayGlobalClientOptions.MerchantId"/> 参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string? MerchantId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户企业员工 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string UserId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业支付额度卡卡号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string CardNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业应用类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("application_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("application_type")]
|
||||
public string ApplicationType { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /webizpay/users/{user_id}/authorization-url 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class GetWeBusinessPayUserAuthorizationUrlResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置微信商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sp_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
|
||||
public string MerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置子商户号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("sub_mchid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
|
||||
public string SubMerchantId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户企业员工 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_id")]
|
||||
public string UserId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置企业应用类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("application_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("application_type")]
|
||||
public string ApplicationType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置跳转链接。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("authorization_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("authorization_url")]
|
||||
public string? AuthorizationUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序查询参数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mp_query")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mp_query")]
|
||||
public string? MiniProgramQueryString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序业务类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mp_business_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mp_business_type")]
|
||||
public string? MiniProgramBusinessType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置链接失效时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("expire_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("expire_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset ExpireTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"start_date": "2025-04-23",
|
||||
"end_date": "2025-04-23",
|
||||
"entity_name": "某某科技有限公司",
|
||||
"out_operation_id": "operation12345678"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"out_operation_id": "operation12345678",
|
||||
"operation_id": "1030000071201xxxxx",
|
||||
"sub_mchid": "43214321",
|
||||
"start_date": "2025-04-23",
|
||||
"end_date": "2025-04-23",
|
||||
"entity_name": "某某科技有限公司",
|
||||
"proof_id": "proof12345678",
|
||||
"download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx",
|
||||
"created_time": "2023-06-08T10:34:56+08:00",
|
||||
"updated_time": "2023-06-08T10:34:56+08:00"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"date": "2025-04-23",
|
||||
"type": "QYZFALL"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"date": "2025-04-23",
|
||||
"type": "QYZFALL",
|
||||
"download_url": "https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx",
|
||||
"hash_type": "SHA1",
|
||||
"hash_value": "79bb0f45fc4c42234a918000b2668d689e2bde04"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"reason": "商户主动作废"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c",
|
||||
"card_no": "1068019671702503425",
|
||||
"card_state": "DISABLED",
|
||||
"card_disabled_time": "2023-12-31T23:59:59+08:00"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"card_template_id": "template_123",
|
||||
"amount": 10000,
|
||||
"card_name": "报销额度卡",
|
||||
"out_card_no": "out_card_123456",
|
||||
"effective_end_time": "2023-12-31T23:59:59+08:00",
|
||||
"card_remark": "2023年1月差旅报销"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"out_card_no": "mch_card_123456",
|
||||
"employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c",
|
||||
"card_no": "1068019671702503425",
|
||||
"effective_begin_time": "2023-01-01T00:00+08:00",
|
||||
"effective_end_time": "2023-12-31T23:59:59+08:00"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"card_no": "1068019671702503425",
|
||||
"out_card_no": "mch_card_123456",
|
||||
"employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c",
|
||||
"card_template_id": "template_123",
|
||||
"card_rule": "SINGLE",
|
||||
"refund_rule": "RETURN",
|
||||
"amount": 10000,
|
||||
"remain_amount": 8000,
|
||||
"effective_end_time": "2023-12-31T23:59:59+08:00",
|
||||
"effective_begin_time": "2023-01-01T00:00:00+08:00",
|
||||
"card_state": "ACTIVE",
|
||||
"card_name": "报销额度卡",
|
||||
"reason": "有效期结束",
|
||||
"card_usage_time": "2023-06-08T10:34:56+08:00",
|
||||
"transaction_id": "4200000123202306081234567890",
|
||||
"card_disabled_time": "2023-12-31T23:59:59+08:00",
|
||||
"card_remark": "2023年1月差旅报销"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"card_no": "1068019671702503425",
|
||||
"out_card_no": "mch_card_123456",
|
||||
"employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c",
|
||||
"card_template_id": "template_123",
|
||||
"card_rule": "SINGLE",
|
||||
"refund_rule": "RETURN",
|
||||
"amount": 10000,
|
||||
"remain_amount": 8000,
|
||||
"effective_end_time": "2023-12-31T23:59:59+08:00",
|
||||
"effective_begin_time": "2023-01-01T00:00:00+08:00",
|
||||
"card_state": "ACTIVE",
|
||||
"card_name": "报销额度卡",
|
||||
"reason": "有效期结束",
|
||||
"card_usage_time": "2023-06-08T10:34:56+08:00",
|
||||
"transaction_id": "4200000123202306081234567890",
|
||||
"card_disabled_time": "2023-12-31T23:59:59+08:00",
|
||||
"card_remark": "2023年1月差旅报销"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c",
|
||||
"card_no": "1068019671702503425",
|
||||
"expire_time": "2023-06-08T11:34:56+08:00",
|
||||
"payment_url": "weixin://dl/liteapp?url=https%3A%2F%2Fliteapp.wxpapp.weixin.qq.com%2Fq%2FgjoM7g%3Ftoken%3D123%23wechat_pay",
|
||||
"application_type": "H5",
|
||||
"mp_query": "token=123",
|
||||
"mp_business_type": "liteAppWebizPayRegister"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"user_id": "employee123",
|
||||
"authorization_state": "REVOKED",
|
||||
"authorization_revoked_time": "2023-12-31T23:59:59+08:00",
|
||||
"reason": "用户主动撤销"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"out_batch_id": "batch12345678",
|
||||
"match_details": [
|
||||
{
|
||||
"organization_code": "91110000710926094P",
|
||||
"store_name": "微信小店",
|
||||
"product_type": "CODE_PAY"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"out_batch_id": "batch12345678",
|
||||
"batch_id": "1030000071201xxxxx",
|
||||
"time": "2023-06-08T10:34:56+08:00",
|
||||
"state": "ACCEPTED"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"out_batch_id": "batch12345678",
|
||||
"batch_id": "1030000071201xxxxx",
|
||||
"state": "ACCEPTED",
|
||||
"match_results": [
|
||||
{
|
||||
"organization_code": "911100007109260000",
|
||||
"store_name": "微信小店",
|
||||
"has_valid_mchid": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"user_id": "employee123",
|
||||
"employee_list": [
|
||||
{
|
||||
"employee_id": "WeBizPay_a968402a-73bb-43e2-9e1a-8371b0ca3d7c",
|
||||
"authorization_state": "AUTHORIZED",
|
||||
"authorization_time": "2018-06-08T10:34:56+08:00",
|
||||
"authorization_revoked_time": "2018-06-08T10:34:56+08:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"application_type": "H5"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sp_mchid": "12341234",
|
||||
"sub_mchid": "43214321",
|
||||
"user_id": "employee123",
|
||||
"authorization_url": "weixin://dl/liteapp?url=https%3A%2F%2Fliteapp.wxpapp.weixin.qq.com%2Fq%2FgjoM7g%3Ftoken%3D123%23wechat_pay",
|
||||
"expire_time": "2015-05-20T13:29:35+08:00",
|
||||
"application_type": "H5",
|
||||
"mp_query": "token=123",
|
||||
"mp_business_type": "liteAppWebizPayRegister"
|
||||
}
|
||||
Reference in New Issue
Block a user