Ejemplo n.º 1
0
        public async Task <IActionResult> CreatePayment([FromBody] CreatePaymentRequest paymentRequest)
        {
            var identity = HttpContext.User.Identity as ClaimsIdentity;

            string merchantId = identity.FindFirst("MerchantId").Value;

            var paymentEntry = paymentRequest.ConvertToPaymentEntry();

            paymentEntry.MerchantId = merchantId;

            var processPaymentRes = await _paymentRepo.ProcessPayment(paymentEntry);

            if (processPaymentRes.Success)
            {
                return(CreatedAtAction(nameof(CreatePayment), new CreatePaymentResponse()
                {
                    Identifier = paymentEntry.Identifier.ToString(),
                    Status = paymentEntry.Status
                }));
            }
            else
            {
                return(StatusCode(500));
            }
        }