Ir para conteúdo

POWERED BY:

Arquivado

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

Hugo Borges_120734

Sistema buy page loja com cielo parou

Recommended Posts

Galera tinha um scrip que funcionava perfeitamente e do dana parou, e não estou sabem o que pode ser.

 

E um sistema de pagamento buy page loja da cielo. O domínio que estou usando tem certificado ssl

 

 

 

Segue o código em php.

<?php
$id = '190'; //ID a compra, geralmente alguma chave primária.

$valor_total = '1'; //Enviando o valor de R$22,00, observa que não existe separador de milhar e de centavos

$bandeira = 'mastercard'; //Bandeira, no caso a Visa, outras bandeiras olhar no manual

$agora = date('Y-m-d\TH:i:s'); //Data atual

$cartao_nome_titular = 'fulano'; //Nome do dono do cartão exatamente como impresso no mesmo.

$numero_cartao = '5256630157993779'; //Número do cartão de crédito, apenas números.
          
$cartao_codigo = '902'; //Código de segurança do verso do cartão

$indicador = ($cartao_codigo != '')?'1':'0'; //Se o cartão não tiver código de segurança o indicaro é zero, caso contrário um

$data_vencimento = '201804'; //Ano com 4 dígitos e Mês com dois dígitos de vencimento do cartão, no exemplo maio de 2018.

$qtd_parcelas = '1'; //Quantidade total de parcelas

$produto = ($qtd_parcelas == '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)

$autorizar = '3'; //No caso a '3' é a chamada "autorização direta", para entender o que é e quais as outras opções consulte o manual

$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.

$cielo_numero = '1006993069'; //Número de filiação da cielo, neste caso é o exemplo da homologação
$chave_cielo = '25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3'; // Chave de filiação da cielo, neste caso é o exemplo da homologação

$string = "<?xml version='1.0' encoding='ISO-8859-1'?>
<requisicao-transacao id='$id' versao='1.2.0'>
    <dados-ec>
          <numero>$cielo_numero</numero>
          <chave>$chave_cielo</chave>
    </dados-ec>
    <dados-portador>
        <numero>$numero</numero>
        <validade>$data_vencimento</validade>
        <indicador>$indicador</indicador>
        <codigo-seguranca>$cod</codigo-seguranca>
        <nome-portador>$nome</nome-portador>
 
  <campo-livre>clubedocustm</campo-livre>
  <bin>$bin</bin>
</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';
}

      
    $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);
    $string = curl_exec($ch);
    curl_close($ch);
    $xml = simplexml_load_string($string);
    
    if ($xml->tid){
        echo 'TID da transação: '.$xml->tid.'<br />';
        if($xml->captura->codigo == '6' AND $xml->autorizacao->codigo == '6'){
            echo 'Transação autorizada pela operadora do cartão!';
        }else{
            echo 'Transação não autorizada: '.$xml->autorizacao->mensagem.'.';
        }       
    }else{
        echo 'Transação não autorizada: '.$xml->mensagem;
    }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este e o problema não retorna erro algum. simplesmente fala (Transação não autorizada:).

 

Liguei na cielo e eles me informaram que nem esta chegando anda la. você tem ideia do que pode ser? Esto código foi retirado deste site: http://www.profissionaisdaweb.com.br/implementando-a-cielo-como-meio-de-pagamento-na-funcao-credito-35.jsp

 

 

 

Ops kkk este blog e seu, legal :)

 

Segue o link de onde estou testando o código, cliva que você vai ver o que ocorre.

link

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está usando o ambiente de testes ou de produção? Se for o de testes, conforme consta no manual o número sempre deve ser redondo, então "1" sempre vai retornar erro, o certo seria "100"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cliquei... como eu disse pelo blog, tenho vários clientes usando a solução da Cielo e está tudo normal...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sempre testei a homologação sem certificado e sempre funcionou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando a homologação você deve ser seguir tudo que consta no manual, inclusive os cartões que eles indicam. Observe que citei que testo a HOMOLOGAÇÃO sem certificado, pois você nem consegue homologar a produção se não tiver SSL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize as classes que a própria Cielo disponibiliza. Eu acho que o problema esta no teu CURL, se você baixar a classe da Cielo, veja o CURL deles, esta passando informações de certificados que devem ser obrigatórios:

 

http://www.cielo.com.br/portal/cielo/solucoes-de-tecnologia/e-commerce.html

 

Procure onde diz:

 

 

• Realizar a conexão do seu site com a plataforma Cielo, seguindo as orientações do kit de integração. Faça o download agora mesmo do kit de integração, versão em português, clique aqui, versão em inglês, clique aqui.

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.