<?php


date_default_timezone_set( 'America/Sao_Paulo' );
header ('Content-type: text/html; charset=ISO-8859-1');
 
 
function transacao($cartaocredito,$bandeira,$validade,$csv,$nome_titular,$pedidoloja,$compratotal,$produto,$parcelas,$url,$cielo_numero,$chave_cielo) {
 
// CRIAR ID CIELO
$str = "abcdefghijklmnopqrstuvx0123456789";
$codigo = str_shuffle($str);
$idclielo = substr($codigo, 0, 8) . "-" . substr($codigo, 9, 4) . "-" . substr($codigo, 10, 4) . "-" . substr($codigo, 14, 4) . "-" . substr($codigo, 15, 12); 
$dataprocessamento = date('Y-m-d\TH:i:s');
 
if($parcelas == "1") { 
    $cielo_produto = "1";
    $cielo_parcelas = "1";
} else { 
    $cielo_produto = "2";
    $cielo_parcelas = $parcelas;
}
 
if($cielo_numero == '1006993069'){
    $url = 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do';
    $valorcielo = $compratotal;//intval($compratotal)."00";
}else{
    $url = 'https://ecommerce.cbmp.com.br/servicos/ecommwsec.do';
    $valorcielo = $compratotal;
}
 
$string=<<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<requisicao-transacao id="$idclielo" versao="1.2.1">
  <dados-ec>
    <numero>$cielo_numero</numero>
    <chave>$chave_cielo</chave>
  </dados-ec>
  <dados-portador>
    <numero>$cartaocredito</numero>
    <validade>$validade</validade>
    <indicador>1</indicador>
    <codigo-seguranca>$csv</codigo-seguranca>
    <nome-portador><![CDATA[$nome_titular]]></nome-portador>
  </dados-portador>
  <dados-pedido>
    <numero>$pedidoloja</numero>
    <valor>$valorcielo</valor>
    <moeda>986</moeda>
    <data-hora>$dataprocessamento</data-hora>
    <descricao></descricao>
    <idioma>PT</idioma>
  </dados-pedido>
  <forma-pagamento>
    <bandeira>$bandeira</bandeira>
    <produto>$cielo_produto</produto>
    <parcelas>$cielo_parcelas</parcelas>
  </forma-pagamento>
  <url-retorno>$url</url-retorno>
  <autorizar>3</autorizar>
  <capturar>true</capturar>
  <gerar-token>true</gerar-token>
</requisicao-transacao>
XML;
 
    $ch = curl_init();
    flush();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'mensagem='.$string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSLVERSION, 4);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    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'] . ' Requisitado: ' . $info['url'];
    }
    curl_close($ch);
    $xml = simplexml_load_string($string);
    echo "<br/>";
    if ($xml->tid){
    
        if($xml->captura->codigo == '6' AND $xml->autorizacao->codigo == '6'){
          $mensagem_retorno = "Aprovado";
          $cielo_tid = $xml->tid;
          $cielo_mensagem = utf8_decode($xml->autorizacao->mensagem);
          $cielo_lr = $xml->autorizacao->lr;
          $cielo_codigo = $xml->autorizacao->codigo;
          echo $cielo_tid.":".$cielo_mensagem.":".$cielo_codigo.":".$cielo_lr.":".$mensagem_retorno;
        }else{
          $mensagem_retorno = "Reprovado";
          $cielo_tid = $xml->tid;
          $cielo_mensagem = utf8_decode($xml->autorizacao->mensagem);
          $cielo_lr = $xml->autorizacao->lr;
          $cielo_codigo = $xml->autorizacao->codigo;
          echo $cielo_tid.":".$cielo_mensagem.":".$cielo_codigo.":".$cielo_lr.":".$mensagem_retorno;
        }      
    }else{
        echo ''.utf8_decode($xml->mensagem);
    }
} // FIM FUN?+O CRIAR TRANSA?+O 


/* --------------------------------------------------------------------------------------------------------- */

    $cartaocredito = $_POST['cc'];
    $bandeira = $_POST['bandeira'];
    $validade = $_POST['validade'];
    $csv = $_POST['csv'];
    $nome_titular = $_POST['nome_titular'];
    $pedidoloja = $_POST['pedidoloja'];
    $compratotal = $_POST['compratotal'];
    $parcelas = $_POST['parcelas'];
    $url = $_POST['url'];
    $cielo_numero = $_POST['cielo_numero'];
    $cielo_chave = $_POST['cielo_chave'];
     
    transacao("$cartaocredito","$bandeira","$validade","$csv","$nome_titular","$pedidoloja","$compratotal",'1',"$parcelas","$url","$cielo_numero","$cielo_chave");
     
   
