Beispiel #1
0
        public async Task <IActionResult> ConfirmPayment([FromQuery] string payerId, [FromQuery] string paymentId)
        {
            var execute = new PayPalExecutePayment {
                PayerId = payerId, PaymentId = paymentId
            };
            await _payPalService.ExecutePaymentAsync(execute);

            var payment = await _paymentsUnitOfWork.PaymentRepository.GetPayments()
                          .Where(x => x.ExternalId == paymentId)
                          .SingleOrDefaultAsync();

            payment.PaymentStatus = PaymentStatus.Executed;
            _paymentsUnitOfWork.PaymentRepository.Update(payment);
            await _paymentsUnitOfWork.SaveAsync();

            //todo show success page
            return(Ok());
        }