Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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));
        }