Helper para integração com a CIELO.
Integração prevê Solicitação de URL para pagamento (BuyPage Cielo), Solicitação para pagamento local (BuyPage Loja), Cancelamento de Lançamentos, Captura manual de transações, Consulta de situação de transações, Geração de token para transações recorrentes - Compatível com .Net Framework 2.0 ou superior.
NUGET: https://www.nuget.org/packages/JetDev.Cielo
(Informação estatica, colocar antes das requisições ou no global.asax)
JetDev.Cielo.Config.ChaveEstabelecimento = "25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3";
JetDev.Cielo.Config.NumeroEstabelecimento = "1006993069";
try
{
var codigoVenda = 10;
var requisicao = new JetDev.Cielo.Requisicoes.RequisicaoTransacao();
requisicao.UrlRetorno = string.Format("http://suapagina.com.br/retorno?CodigoVenda={0}", codigoVenda);
requisicao.Autorizacao = TipoAutorizacao.Autorizar_autenticada_e_nao_autenticada;
requisicao.Pedido = new Pedido();
requisicao.Pedido.Descricao = "Descrição do pedido";
requisicao.Pedido.DescricaoExtra = "PRODUTO"; // Descrição que aparece na fatura - MAXIMO 8 CARACTÉRES
requisicao.Pedido.Valor = 100.00M;
requisicao.Pedido.Numero = codigoVenda.ToString();
requisicao.FormaPagamento = new FormaPagamento()
{
Produto = ProdutoCielo.Credito_a_vista,
Bandeira = Bandeiras.Mastercard,
};
requisicao.Capturar = false; // Para captura automática coloque true
var retorno = JetDev.Cielo.ServicoCielo.ObterUrlAutenticacao(requisicao, Ambiente.Producao);
var id = retorno.TransacaoId; // Guardar o código da transação
Response.Redirect(retorno.UrlAutenticacao); // Redirecione o usuário para a pagina da Cielo
}
catch (JetDev.Cielo.ExcecaoPagamento ex)
{
// tratamento de erro
}
var requisicao = new JetDev.Cielo.Requisicoes.RequisicaoToken();
requisicao.Portador = new RequisitarToken()
{
NomeImpresso = "FULANO",
NumeroCartao = "4444444444444444444",
ValidadeCartao = new DateTime(2020,01,01)
};
var retorno = JetDev.Cielo.ServicoCielo.ObterTokenCartao(requisicao);
if (retorno.Status == SituacaoToken.Desbloqueado)
{
var numeroCartao = retorno.NumeroCartaoTruncado; // Número para mostrar na tela
var token = retorno.Token // Token para utilizar na compra
}
(Processamento transparende de cartão de crédito
var requisicao = new JetDev.Cielo.Requisicoes.RequisicaoTransacao();
requisicao.UrlRetorno = string.Format("http://suapagina.com.br/retorno?CodigoVenda={0}", codigoVenda);
requisicao.Autorizacao = TipoAutorizacao.Autorizar_autenticada_e_nao_autenticada;
requisicao.Portador = new PortadorToken("AQUI VAI O TOKEN GERADO ACIMA");
requisicao.Pedido = new Pedido();
requisicao.Pedido.Descricao = "Descrição do pedido";
requisicao.Pedido.DescricaoExtra = "MINHA_EMPRESA"; // Descrição que aparece na fatura
requisicao.Pedido.Valor = 100.00M;
requisicao.Pedido.Numero = codigoVenda.ToString();
requisicao.FormaPagamento = new FormaPagamento()
{
Produto = ProdutoCielo.Credito_a_vista,
Bandeira = Bandeiras.Mastercard,
};
requisicao.Capturar = false; // Para captura automática coloque true
var retorno = JetDev.Cielo.ServicoCielo.AutorizarPagamento(requisicao);
if(retorno.Situacao == SituacaoTransacao.Autorizada)
{
var id = retorno.TransacaoId; // Guardar o código da transação
// Ok Pagou
}
var retorno = JetDev.Cielo.ServicoCielo.ObterSituacao("45654564564654");
if(retorno.Situacao == SituacaoTransacao.Autorizada)
{
// Ok Pagou
}
Depois de autorizado (ou seja, tem limite no cartão), ele precisa ser capturado, que é "colocar a mão na grana".
var retorno = JetDev.Cielo.ServicoCielo.Capturar("45654564564654");
if(retorno.Situacao == SituacaoTransacao.Capturada)
{
// Ok o dinheiro vai chegar
}
Os bancos que aceitam Visa Electron são: Banco Bradesco, Banco do Brasil, Santander, HSBC, Itaú, Mercantil, Sicredi, Banco de Brasília, Banco da Amazônia, Banco Espírito Santo e Banco do Nordeste.
Para Maestro os bancos são: Banco do Brasil, Banco Santander, Banco de Brasília e Bancoob.
Informações compartilhadas por @ivanteles.