45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
using Essensoft.AspNetCore.Payment.WeChatPay;
|
|
using Essensoft.AspNetCore.Payment.WeChatPay.V3;
|
|
using Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain;
|
|
using Essensoft.AspNetCore.Payment.WeChatPay.V3.Request;
|
|
using Microsoft.Extensions.Options;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net.Http;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace New_College.Common.Helper
|
|
{
|
|
public class WeChatPayV3
|
|
{
|
|
/// <summary>
|
|
/// 扫码支付-Native下单API
|
|
/// </summary>
|
|
/// <param name="_client"></param>
|
|
/// <param name="_optionsAccessor"></param>
|
|
/// <param name="viewModel"></param>
|
|
/// <returns></returns>
|
|
public static async Task<dynamic> QrCodePay(IWeChatPayClient _client,
|
|
IOptions<WeChatPayOptions> _optionsAccessor, WeChatPayTransactionsNativeQuery viewModel)
|
|
{
|
|
var model = new WeChatPayTransactionsNativeBodyModel
|
|
{
|
|
AppId = _optionsAccessor.Value.AppId,
|
|
MchId = _optionsAccessor.Value.MchId,
|
|
Amount = new Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain.Amount { Total = viewModel.Total, Currency = "CNY" },
|
|
Description = viewModel.Description,
|
|
NotifyUrl = viewModel.NotifyUrl,
|
|
OutTradeNo = viewModel.OutTradeNo,
|
|
};
|
|
var request = new WeChatPayTransactionsNativeRequest();
|
|
request.SetBodyModel(model);
|
|
return await _client.ExecuteAsync(request, _optionsAccessor.Value);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|