public async Task <PagoParResult <List <PagoParPaymentMethod> > > ListPaymentMethodsAsync() { try { _logger.LogInformation("Executing ListPaymentMethodsAsync"); var body = new PaymentMethodsRequestModel { TokenPublico = _pagoParConfig.PublicKey, Token = $"{_pagoParConfig.PrivateKey}FORMA-PAGO".Sha1() }; var apiResult = await _httpClient.ListPaymentMethodsAsync(body); var result = new PagoParResult <List <PagoParPaymentMethod> > { Respuesta = apiResult.Respuesta, Resultado = apiResult.Resultado.Select(x => new PagoParPaymentMethod { Titulo = x.Titulo, Descripcion = x.Descripcion, FormaPago = x.FormaPago, MontoMinimo = x.MontoMinimo }).ToList(), Error = apiResult.Error }; return(result); } catch (Exception ex) { _logger.LogError(ex, "Error in ListPaymentMethodsAsync"); throw; } }
public async Task <PagoParResult <PagoParTransactionModel> > GetTransactionInfo(string hash) { try { _logger.LogInformation("Getting transaction", hash); var body = new GetTransactionInfoModel { HashPedido = hash, TokenPublico = _pagoParConfig.PublicKey, Token = $"{_pagoParConfig.PrivateKey}CONSULTA".Sha1() }; var apiResult = await _httpClient.GetTransactionAsync(body); var transaction = apiResult.Resultado.FirstOrDefault(); if (transaction is null) { return(null); } var result = new PagoParResult <PagoParTransactionModel> { Respuesta = apiResult.Respuesta, Resultado = { Cancelado = transaction.Cancelado, FechaMaximaPago = transaction.FechaMaximaPago, FechaPago = transaction.FechaPago, FormaPago = transaction.FormaPago, FormaPagoIdentificador = transaction.FormaPagoIdentificador, HashPedido = transaction.HashPedido, Monto = transaction.Monto, NumeroPedido = transaction.NumeroPedido, Pagado = transaction.Pagado, Token = transaction.Token } }; return(result); } catch (Exception ex) { _logger.LogError(ex, "Error in GetTransactionInfo"); throw; } }