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; } }
public async Task <ResultModel <List <TransactionModel> > > GetTransactionAsync(GetTransactionInfoModel model) { var body = new StringContent(JsonConvert.SerializeObject(model, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() })); var result = await _httpClient.PostAsync("pedidos/1.1/traer", body); var responseString = await result.Content.ReadAsStringAsync(); return(MapResult <List <TransactionModel> >(responseString)); }