diff --git a/modules/payment/src/Payment.HttpApi/PaymentRequests/PaymentRequestController.cs b/modules/payment/src/Payment.HttpApi/PaymentRequests/PaymentRequestController.cs new file mode 100644 index 0000000..ebf45b1 --- /dev/null +++ b/modules/payment/src/Payment.HttpApi/PaymentRequests/PaymentRequestController.cs @@ -0,0 +1,47 @@ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Threading.Tasks; +using Volo.Abp; + +namespace Payment.PaymentRequests +{ + [RemoteService(Name = PaymentRemoteServiceConsts.RemoteServiceName)] + [Area("payment")] + [Route("api/payment/requests")] + public class PaymentRequestController : PaymentController, IPaymentRequestAppService + { + protected IPaymentRequestAppService PaymentRequestAppService { get; } + + public PaymentRequestController(IPaymentRequestAppService paymentRequestAppService) + { + PaymentRequestAppService = paymentRequestAppService; + } + + [HttpPost] + [Route("complete/{token}")] + public Task CompleteAsync([FromRoute] string token) + { + return PaymentRequestAppService.CompleteAsync(token); + } + + [HttpPost] + public Task CreateAsync(PaymentRequestCreationDto input) + { + return PaymentRequestAppService.CreateAsync(input); + } + + [HttpGet] + [Route("{id}")] + public Task GetAsync(Guid id) + { + return PaymentRequestAppService.GetAsync(id); + } + + [HttpPost] + [Route("start")] + public Task StartPaymentAsync(StartPaymentDto input) + { + return PaymentRequestAppService.StartPaymentAsync(input); + } + } +}