banzeh/cielo

Nenhuma resposta

Closed this issue · 6 comments

Bom dia.
Poderia me ajudar? Estou tentando usar a integração com o Express. Porém, não recebo nenhuma resposta...parece que fica fazendo a requisição eternamente.

var express = require('express');
var app = express();

var paramsCielo = {
  'MerchantId': '1efce832-e60d-435d-b8c1-dd3121ec4248',
  'MerchantKey': '80T5wEBXuyhBF99ANLlii5WwIlOijvHqafcQNDcD',
  'RequestId': 'xxxxxxx', // Opcional - Identificação do Servidor na Cielo
  'sandbox': true, // Opcional - Ambiente de Testes
  'debug': false // Opcional - Exibe os dados enviados na requisição para a Cielo
}

var cielo = require('cielo')(paramsCielo);



app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.get('/cielo', function(req, res) {
  var dadosSale = {  
    "MerchantOrderId":"2014111703",
    "Customer":{  
       "Name":"Comprador crédito simples"
    },
    "Payment":{  
      "Type":"CreditCard",
      "Amount":15700,
      "Installments":1,
      "SoftDescriptor":"123456789ABCD",
      "CreditCard":{  
          "CardNumber":"0000000000000001",
          "Holder":"Teste Holder",
          "ExpirationDate":"12/2030",
          "SecurityCode":"123",
          "Brand":"Visa"
      }
    }
 }
 
 cielo.creditCard.simpleTransaction(dadosSale)
     .then((data) => {
         console.log(data);
         res.send('Cielo funcionou!')
     })
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Muito obrigado!

Igor, bom dia.

Tente rodar o seguinte código

var express = require('express');
var app = express();

var paramsCielo = {
  'MerchantId': '1efce832-e60d-435d-b8c1-dd3121ec4248',
  'MerchantKey': '80T5wEBXuyhBF99ANLlii5WwIlOijvHqafcQNDcD',
  'RequestId': 'xxxxxxx', // Opcional - Identificação do Servidor na Cielo
  'sandbox': true, // Opcional - Ambiente de Testes
  'debug': false // Opcional - Exibe os dados enviados na requisição para a Cielo
}

var cielo = require('cielo')(paramsCielo);



app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.get('/cielo', function(req, res) {
  var dadosSale = {  
    "MerchantOrderId":"2014111703",
    "Customer":{  
       "Name":"Comprador crédito simples"
    },
    "Payment":{  
      "Type":"CreditCard",
      "Amount":15700,
      "Installments":1,
      "SoftDescriptor":"123456789ABCD",
      "CreditCard":{  
          "CardNumber":"0000000000000001",
          "Holder":"Teste Holder",
          "ExpirationDate":"12/2030",
          "SecurityCode":"123",
          "Brand":"Visa"
      }
    }
 }
 console.log('CHAMADA CIELO');
 cielo.creditCard.simpleTransaction(dadosSale)
     .then((data) => {
         console.log(data);
         res.send('Cielo funcionou!')
     })
     .catch(function(err){
		console.log('ERRO', err);
	})
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

image

Obrigado pela resposta...fica rodando eternamente ainda.

@Igorpollo, verifique sua MerchantID e MerchantKey.

Alterei elas e funcionou corretamente aqui.

Tente utilizar estas:

'MerchantId': 'e60c1e21cf8743d1bc1fbd760fe0aba4',
'MerchantKey': 'LVYLUTLJYYIXXRUQMXLIMYEDLRVCRWHNGYQFIVIG',

Estou verificando o motivo de não retornar um erro.

Verdade...
Tentei com outra key tbm...mas tbm não consegui...Será que é algum problema em series de keys?
A outra key tentada foi essa:
key : c3lA7csHbbHSnbKQZMV3ZJ6pUl6WeLtWeVURU5SS
MerchantID: a17191ca-e13f-4a01-832b-7a6a665f61cc

@Igorpollo, essas chaves que você está utilizando são da sandbox?

Testei com outras chaves e funcionou corretamente o mesmo código.

var express = require('express');
var app = express();

var paramsCielo = {
    'MerchantId': 'e60c1e21cf8743d1bc1fbd760fe0aba4',
    'MerchantKey': 'LVYLUTLJYYIXXRUQMXLIMYEDLRVCRWHNGYQFIVIG',
  'RequestId': 'xxxxxxx', // Opcional - Identificação do Servidor na Cielo
  'sandbox': true, // Opcional - Ambiente de Testes
  'debug': false // Opcional - Exibe os dados enviados na requisição para a Cielo
}

var cielo = require('cielo')(paramsCielo);



app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.get('/cielo', function(req, res) {
  var dadosSale = {  
    "MerchantOrderId":"2014111703",
    "Customer":{  
       "Name":"Comprador crédito simples"
    },
    "Payment":{  
      "Type":"CreditCard",
      "Amount":15700,
      "Installments":1,
      "SoftDescriptor":"123456789ABCD",
      "CreditCard":{  
          "CardNumber":"0000000000000001",
          "Holder":"Teste Holder",
          "ExpirationDate":"12/2030",
          "SecurityCode":"123",
          "Brand":"Visa"
      }
    }
 }
 
 cielo.creditCard.simpleTransaction(dadosSale)
     .then((data) => {
         console.log(data);
         res.send('Cielo funcionou!')
     })
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Aproveitei e descobri que pode acontecer do pacote não receber dados da Cielo e encerrar a conexão. Nesses casos ele não executa nem o resolve e nem o reject da promise. Já refatorei o código e vou subir a correção.

@Igorpollo, bom dia.

Atualizei o pacote no npm para a versão 1.0.4.

Agora vai retornar erro se a conexão for fechada e a Cielo não retornar dados.