using Essensoft.AspNetCore.Payment.UnionPay; using Essensoft.AspNetCore.Payment.UnionPay.Notify; using Essensoft.AspNetCore.Payment.UnionPay.Request; using Microsoft.AspNetCore.Mvc; using NewWebApplicationSample.Models; using System.Threading.Tasks; namespace NewWebApplicationSample.Controllers { public class UnionPayController : Controller { private readonly UnionPayClient _client = null; private readonly UnionPayNotifyClient _notifyClient = null; public UnionPayController(UnionPayClient client, UnionPayNotifyClient notifyClient) { _client = client; _notifyClient = notifyClient; } public IActionResult Index() { return View(); } [HttpGet] public IActionResult FrontConsume62() { return View(); } [HttpPost] public async Task FrontConsume62(UnionPayForm_6_2_FrontConsumeViewModel viewModel) { var request = new UnionPayForm_6_2_FrontConsumeRequest() { TxnType = "01", TxnSubType = "01", BizType = "000201", ChannelType = "07", OrderId = viewModel.OrderId, TxnTime = viewModel.TxnTime, TxnAmt = viewModel.TxnAmt, CurrencyCode = viewModel.CurrencyCode, PayTimeout = viewModel.PayTimeout, FrontUrl = viewModel.FrontUrl, BackUrl = viewModel.BackUrl, }; var response = await _client.PageExecuteAsync(request); return Content(response.Body, "text/html;charset=utf-8"); } [HttpPost] public async Task FrontConsume62Return() { try { var notify = await _notifyClient.ExecuteAsync(Request); ViewData["response"] = "支付成功"; return View(); } catch { ViewData["response"] = "出现错误"; return View(); } } } }