Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Cielo Webservice

$
0
0

Olá a todos, 

Estou a dois dias lendo o manual da Cielo e procurando em tudo que é lugar alguma forma de fazer funcionar.

Ele processa na tela, sem erros, contudo só me responde: Transação não autorizada: 

Isso pois acredito que sequer esteja chegando a CIELO a minha requisição.

Testei esse código no WAMP local e em servidor web que tenho aplicação rodando.

Também já verifiquei o php_curl está instalado em ambos.

<?php
date_default_timezone_set( 'America/Sao_Paulo' );
header ('Content-type: text/html; charset=UTF-8');
echo "<br />processa cartão <br /><br />";
$agora = date('Y-m-d\TH:i:s');

$string=<<<XML
<?xml version='1.0' encoding='ISO-8859-1'?>
<requisicao-transacao id='a97ab62a-7956-41ea-b03f-c2e9f612c293' versao='1.2.1'>
  <dados-ec>
    <numero>1006993069</numero>
    <chave>25fbb997438630f30b112d033ce2e621b34f3</chave>
  </dados-ec>
  <dados-portador>
    <numero>4012001037141112</numero>
    <validade>201508</validade>
    <indicador>1</indicador>
    <codigo-seguranca>123</codigo-seguranca>
    <token/>
  </dados-portador>
  <dados-pedido>
    <numero>178148599</numero>
    <valor>1000</valor>
    <moeda>986</moeda>
    <data-hora>$agora</data-hora>
    <descricao></descricao>
    <idioma>PT</idioma>
    <soft-descriptor/>
    <taxa-embarque/>
  </dados-pedido>
  <forma-pagamento>
    <bandeira>visa</bandeira>
    <produto>A</produto>
    <parcelas>1</parcelas>
  </forma-pagamento>
  <url-retorno>http://meuendereco.com.br/cielo/proc_cartao.php</url-retorno>
  <autorizar>1</autorizar>
  <capturar>false</capturar>
  <campo-livre>Informações extras</campo-livre>
  <bin>455187</bin>
  <gerar-token>false</gerar-token>
  <avs>
  <![CDATA[
    <dados-avs>
      <endereco>Rua Teste AVS</endereco>
      <complemento>Casa</complemento>
      <numero>123</numero>
      <bairro>Vila AVS</bairro>
      <cep>12345-123</cep>
    </dados-avs>
  ]]>
  </avs>
</requisicao-transacao>
XML;

//Ambiente de testes
$url = "https://qasecommerce.cielo.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_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
$string = curl_exec($ch);

if(!curl_errno($ch))
  {
    $info = curl_getinfo($ch);
    echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
  }
curl_close($ch);


$xml = simplexml_load_string($string);

echo "<br />";
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;
    }
?> 

Peço muito a ajuda de vocês. O normal seria a resposta de transação ser aceita ou autorizada.


Viewing all articles
Browse latest Browse all 14190