123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- using Essensoft.AspNetCore.Payment.JDPay;
- using Essensoft.AspNetCore.Payment.JDPay.Notify;
- using Essensoft.AspNetCore.Payment.JDPay.Request;
- using Microsoft.AspNetCore.Mvc;
- using NewWebApplicationSample.Models;
- using System.Threading.Tasks;
- namespace NewWebApplicationSample.Controllers
- {
- public class JDPayController : Controller
- {
- private readonly JDPayClient _client = null;
- private readonly JDPayNotifyClient _notifyClient = null;
- public JDPayController(JDPayClient client, JDPayNotifyClient notifyClient)
- {
- _client = client;
- _notifyClient = notifyClient;
- }
- public IActionResult Index()
- {
- return View();
- }
- [HttpGet]
- public IActionResult SaveOrderPC()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> SaveOrderPC(JDPaySaveOrderViewModel viewModel)
- {
- var request = new JDPaySaveOrderPCRequest()
- {
- TradeNum = viewModel.TradeNum,
- TradeName = viewModel.TradeName,
- TradeTime = viewModel.TradeTime,
- Amount = viewModel.Amount,
- OrderType = viewModel.OrderType,
- Currency = viewModel.Currency,
- CallbackUrl = viewModel.CallbackUrl,
- NotifyUrl = viewModel.NotifyUrl,
- UserId = viewModel.UserId,
- };
- var response = await _client.PageExecuteAsync(request);
- return Content(response.Body, "text/html;charset=utf-8");
- }
- [HttpGet]
- public IActionResult SaveOrderH5()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> SaveOrderH5(JDPaySaveOrderViewModel viewModel)
- {
- var request = new JDPaySaveOrderH5Request()
- {
- TradeNum = viewModel.TradeNum,
- TradeName = viewModel.TradeName,
- TradeTime = viewModel.TradeTime,
- Amount = viewModel.Amount,
- OrderType = viewModel.OrderType,
- Currency = viewModel.Currency,
- CallbackUrl = viewModel.CallbackUrl,
- NotifyUrl = viewModel.NotifyUrl,
- UserId = viewModel.UserId,
- };
- var response = await _client.PageExecuteAsync(request);
- return Content(response.Body, "text/html;charset=utf-8");
- }
- [HttpGet]
- public IActionResult QRPay()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> QRPay(JDPayUnifiedOrderViewModel viewModel)
- {
- var request = new JDPayUnifiedOrderRequest()
- {
- TradeNum = viewModel.TradeNum,
- TradeName = viewModel.TradeName,
- TradeTime = viewModel.TradeTime,
- Amount = viewModel.Amount,
- OrderType = viewModel.OrderType,
- Currency = viewModel.Currency,
- NotifyUrl = viewModel.NotifyUrl,
- TradeType = viewModel.TradeType,
- };
- var response = await _client.ExecuteAsync(request);
- ViewData["qrcode"] = response.QrCode;
- ViewData["response"] = response.Body;
- return View();
- }
- [HttpGet]
- public IActionResult Query()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> Query(JDPayQueryViewModel viewModel)
- {
- var request = new JDPayQueryRequest()
- {
- TradeNum = viewModel.TradeNum,
- OTradeNum = viewModel.OTradeNum,
- TradeType = viewModel.TradeType,
- };
- var response = await _client.ExecuteAsync(request);
- ViewData["response"] = response.Body;
- return View();
- }
- [HttpGet]
- public IActionResult Refund()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> Refund(JDPayRefundViewModel viewModel)
- {
- var request = new JDPayRefundRequest()
- {
- TradeNum = viewModel.TradeNum,
- OTradeNum = viewModel.OTradeNum,
- Amount = viewModel.Amount,
- Currency = viewModel.Currency,
- NotifyUrl = viewModel.NotifyUrl
- };
- var response = await _client.ExecuteAsync(request);
- ViewData["response"] = response.Body;
- return View();
- }
- [HttpGet]
- public IActionResult QueryRefund()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> QueryRefund(JDPayQueryRefundViewModel viewModel)
- {
- var request = new JDPayQueryRefundRequest()
- {
- TradeNum = viewModel.TradeNum,
- OTradeNum = viewModel.OTradeNum,
- TradeType = viewModel.TradeType,
- };
- var response = await _client.ExecuteAsync(request);
- ViewData["response"] = response.Body;
- return View();
- }
- [HttpGet]
- public IActionResult DefrayPay()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> DefrayPay(JDPayDefrayPayViewModel viewModel)
- {
- var request = new JDPayDefrayPayRequest()
- {
- RequestDatetime = viewModel.RequestDatetime,
- OutTradeNo = viewModel.OutTradeNo,
- BizTradeNo = viewModel.BizTradeNo,
- OutTradeDate = viewModel.OutTradeDate,
- TradeAmount = viewModel.TradeAmount,
- TradeCurrency = viewModel.TradeCurrency,
- SellerInfo = viewModel.SellerInfo,
- TradeSubject = viewModel.TradeSubject,
- CategoryCode = viewModel.CategoryCode,
- PayTool = viewModel.PayTool,
- TradeSource = viewModel.TradeSource,
- PayeeBankCode = viewModel.PayeeBankCode,
- PayeeBankAssociatedCode = viewModel.PayeeBankAssociatedCode,
- PayeeBankFullname = viewModel.PayeeBankFullname,
- PayeeBankCountryCode = viewModel.PayeeBankCountryCode,
- PayeeBankProvinceCode = viewModel.PayeeBankProvinceCode,
- PayeeBankCityCode = viewModel.PayeeBankCityCode,
- PayeeCardType = viewModel.PayeeCardType,
- PayeeAccountType = viewModel.PayeeAccountType,
- PayeeAccountNo = viewModel.PayeeAccountNo,
- PayeeAccountName = viewModel.PayeeAccountName,
- PayeeIdType = viewModel.PayeeIdType,
- PayeeIdNo = viewModel.PayeeIdNo,
- PayeeMobile = viewModel.PayeeMobile,
- NotifyUrl = viewModel.NotifyUrl,
- ReturnParams = viewModel.ReturnParams,
- ExtendParams = viewModel.ExtendParams,
- BankCardInfoType = viewModel.BankCardInfoType,
- BankCardId = viewModel.BankCardId,
- };
- var response = await _client.ExecuteAsync(request);
- ViewData["response"] = response.Body;
- return View();
- }
- [HttpGet]
- public IActionResult TradeQuery()
- {
- return View();
- }
- [HttpPost]
- public async Task<IActionResult> TradeQuery(JDPayTradeQueryViewModel viewModel)
- {
- var request = new JDPayTradeQueryRequest()
- {
- RequestDatetime = viewModel.RequestDatetime,
- OutTradeNo = viewModel.OutTradeNo,
- TradeNo = viewModel.TradeNo,
- TradeType = viewModel.TradeType,
- };
- var response = await _client.ExecuteAsync(request);
- ViewData["response"] = response.Body;
- return View();
- }
- [HttpGet] // h5 get
- [HttpPost] // pc post
- public async Task<IActionResult> Return()
- {
- try
- {
- var notify = await _notifyClient.ExecuteAsync<JDPaySyncReturnResponse>(Request);
- ViewData["response"] = "支付成功";
- return View();
- }
- catch
- {
- ViewData["response"] = "出现错误";
- return View();
- }
- }
- }
- }
|