using Furion;
using Furion.DependencyInjection;
using Microsoft.Extensions.FileSystemGlobbing;
using SKIT.FlurlHttpClient.Wechat.TenpayV3;
using SKIT.FlurlHttpClient.Wechat.TenpayV3.Models;
using SKIT.FlurlHttpClient.Wechat.TenpayV3.Settings;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static SKIT.FlurlHttpClient.Wechat.Api.Events.TransferCustomerServiceReply.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinOpenApiRequestIdGetResponse.Types;
namespace EzWechat
{
///
/// 微信支付服务
///
public class WecharPayServicecs:IWecharPayServicecs, IScoped
{
private readonly WechatTenpayClient _V3Client;
public WecharPayServicecs() {
var manager = new InMemoryCertificateManager();
var options = new WechatTenpayClientOptions()
{
MerchantId = App.Configuration["WechartPay:MerchantId"],
MerchantV3Secret = App.Configuration["WechartPay:lojdhuqyt5648dikunm623ddsl2543a5"],
MerchantCertificateSerialNumber = App.Configuration["WechartPay:MerchantCertificateSerialNumber"],
MerchantCertificatePrivateKey = System.IO.File.ReadAllText(App.Configuration["WechartPay:apiclient_keyFile"]),
PlatformCertificateManager = manager // 平台证书管理器的具体用法请参阅下文的基础用法与加密、验签有关的章节
};
_V3Client = WechatTenpayClientBuilder.Create(options).Build();
}
public async Task Transfer(CreateTransferBatchRequest request)
{
var response = await _V3Client.ExecuteCreateTransferBatchAsync(request);
return response;
}
public async Task TransferBatches(GetTransferBatchByOutBatchNumberRequest request)
{
var response = await _V3Client.ExecuteGetTransferBatchByOutBatchNumberAsync(request);
return response;
}
public async Task TransferBatchesDetails(GetTransferBatchDetailByDetailIdRequest request)
{
var response = await _V3Client.ExecuteGetTransferBatchDetailByDetailIdAsync(request);
return response;
}
}
}