Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wagner Martins - SC

Integração Cielo função curl

Recommended Posts

O ambiente de testes da Cielo está fora do ar.

 

Ou você testa já com a chave obtida por contrato, ou espera eles arrumarem

 

Eu ainda não possuo a chave e para recebê-la eu deveria fazer (de acordo com o manual):

 

URL Definitiva do site (ambiente de produção).
 Nome da empresa responsável pelo desenvolvimento da integração.
 Nome e e-mail do técnico (desenvolvedor) responsável pela integração.
 Número de credenciamento (junto à Cielo) da loja virtual.
 Razão social e nome fantasia da loja virtual.
 Um usuário e senha na loja virtual para efetuar compras de testes.
 URL do logotipo da loja no formato GIF e tamanho de 112X25 pixels.

 

Porém como eu ainda não pude sequer fazer os testes, como eu posso pedir a chave?

 

O link do site que enviei, é ainda o site antigo (asp) , todo o site novo, está em um outro ambiente (php), eu estava esperando terminar de montar tudo e com o cielo funcionando em teste, para então fazer a transferência e então pedir a homologação.

 

Alguma solução que eu possa fazer para verificar o funcionamento da cielo? Com a loja teste, eu consigo gerar os xml de transação, tanto o envio quanto o recebimento, porém a transação fica somente como criada e eu sequer entro no ambiente buy page cielo...

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,
Estava companhando as perguntas e resolvi postar uma forma de fazer a comunicação via Curl com a CIELO, esse código foi encontrado na internet e realizei alguns ajustes necessários, está em funcionamento em minhas aplicações.

Espero que ajudem!

// INTEGRACAO COM A CIELO
// DADOS DO CADASTRO NA CIELO
$cielo_numero = '1006993069'; //Número de filiação da cielo
$chave_cielo = '25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3'; // Chave de filiação da cielo
 
// DADOS PARA TRANSACAO
$cielo_id = '123'; //ID a compra, geralmente alguma chave primária.
$cielo_valor = '10000';
$cielo_bandeira = 'visa'; //Bandeira, no caso a Visa, outras bandeiras olhar no manual
$cielo_agora = date('Y-m-d\TH:i:s'); //Data atual
$cielo_titular = 'Jefferson Comprador'; //Nome do dono do cartão exatamente como impresso no mesmo.
$cielo_cartao = '4012001037141112'; //Número do cartão de crédito, apenas números.
$cielo_codigo = '123'; //Código de segurança do verso do cartão
$cielo_indicador = ($cielo_codigo != '')?'1':'0'; //Se o cartão não tiver código de segurança o indicaro é zero, caso contrário um
$cielo_vencimento = '201805'; //Ano com 4 dígitos e Mês com dois dígitos de vencimento do cartão, no exemplo maio de 2018.
$cielo_parcela = '1'; //Quantidade total de parcelas
$cielo_produto = ($cielo_parcela == '1')?'1':'3'; //Sempre que a quantidade de parcelas for igual a 1 o produto deve ser 1, caso contrário ele deve ser 2 ou 3 (ver o manual)
$cielo_autorizar = '3'; //No caso a '3' é a chamada "autorização direta", para entender o que é e quais as outras opções consulte o manual
$cielo_captura = 'true'; //A captura é quando após aprovada a transação você confirma para a operadora que quer o dinheiro, observe que se você não capturar, mesmo uma transação autorizada, não gerará débito para o usuário. No caso estou dizendo que se a transação for autorizada ela deve ser capturada, caso queira fazer a captura posteriormente devo usar false no lugar e posteriormente realizar a captura em outro procedimento.
 
$string = '<?xml version="1.0" encoding="ISO-8859-1"?>
<requisicao-transacao id="'.$cielo_id.'" versao="1.3.0">
    <dados-ec>
        <numero>'.$cielo_numero.'</numero>
        <chave>'.$chave_cielo.'</chave>
    </dados-ec>
    <dados-portador>
        <numero>'.$cielo_cartao.'</numero>
        <validade>'.$cielo_vencimento.'</validade>
        <indicador>'.$cielo_indicador.'</indicador>
        <codigo-seguranca>'.$cielo_codigo.'</codigo-seguranca>
        <token></token>
    </dados-portador>
    <dados-pedido>
        <numero>'.$cielo_id.'</numero>
        <valor>'.$cielo_valor.'</valor>
        <moeda>986</moeda>
        <data-hora>'.$cielo_agora.'</data-hora>
        <descricao>[origem:'.$ip.']</descricao>
        <idioma>PT</idioma>
        <soft-descriptor></soft-descriptor>
    </dados-pedido>
    <forma-pagamento>
        <bandeira>'.$cielo_bandeira.'</bandeira>
        <produto>'.$cielo_produto.'</produto>
        <parcelas>'.$cielo_parcela.'</parcelas>
    </forma-pagamento>
    <url-retorno>https://www.infarmabrasil.com.br/inpag/retorno.php</url-retorno>
    <autorizar>'.$cielo_autorizar.'</autorizar>
    <capturar>'.$cielo_captura.'</capturar>
    <gerar-token>false</gerar-token>
    <avs><![CDATA[<dados-avs><cpf>12345678901</cpf><endereco>Rua Teste AVS</endereco><complemento>Casa</complemento><numero>123</numero><bairro>Vila AVS</bairro><cep>12345-123</cep></dados-avs>]]></avs>
</requisicao-transacao>';
 
 
if($cielo_numero == '1006993069'){
    //Ambiente de testes
    $url = 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do';
}else{
    //Ambiente de produção
    $url = 'https://ecommerce.cbmp.com.br/servicos/ecommwsec.do';
}
 
// Inicia o cURL acessando uma URL
$ch = curl_init();
    flush();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,  'mensagem=' . $string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
    $string = curl_exec($ch);
 
    curl_close($ch);
    $xml = simplexml_load_string($string);
 
    if ($xml->tid){
        if($xml->captura->codigo == '6' || $xml->autorizacao->codigo == '6'){
            echo "200:Transacao autorizada:".$xml->tid;
        }else{
            echo "300:Transacao nao autorizada:".$xml->tid;
        }
    }else{
echo "301:Transacao nao autorizada";
    }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Raphael Barros, tudo bem? vi que sua solução utilizada pelo "Wawa Bodyboard 2006" funcionou perfeitamente.

 

fiz alguns passos que você orientou e obtive sucesso, com exceção do retorno do xml.

 

Tentei baixar o arquivo que você disponibilizou, mas o mesmo não se encontra mais disponível.

 

Se não for abusar demais, teria como você me enviar uma nova url do arquivo ou se possível, postar os códigos aqui?

 

Abraços,

 

Mauro Lúcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,

Estava companhando as perguntas e resolvi postar uma forma de fazer a comunicação via Curl com a CIELO, esse código foi encontrado na internet e realizei alguns ajustes necessários, está em funcionamento em minhas aplicações.

 

Espero que ajudem!

 

Olá jstecnologia, você poderia me ajudar a esclarecer uma dúvida?

Estou implementando o AVS e me parece estar tudo certo no envio da requisição da transação.. Porém no retorno eu gostaria de mostrar uma mensagem dizendo se o CEP confere ou não, mas tudo o que aparece quando tento pegar o valor de <mensagem-cep-avs> é o número "0". Segundo o Manual da Cielo este valor deveria ser "Confere", "Não confere", etc...

Alguma ideia do que poderia ser?

Desde já, agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Coloquei essa pasta exatamente do jeito que está no meu servidor e quando clico em "pagar" não sai da janela de "Redirecionando".

Alterei o número da loja e a chave no arquivo "include" e no "transation.cielo";

 

Sabem como resolver?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.