<?php

class cieloCheckoutTransparente{ 
    public function cancelaTransacaoCielo($cieloNumero, $cieloChave, $cieloIDTransacao, $orderID){
        
        // 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($cieloNumero == '1006993069'){
            $url = 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do';
            
        }else{
            $url = 'https://ecommerce.cbmp.com.br/servicos/ecommwsec.do';
            
        }
        
$string=<<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<requisicao-cancelamento id="$idclielo" versao="1.2.1">
        <tid>$cieloIDTransacao</tid>
        <dados-ec>
            <numero>$cieloNumero</numero>
            <chave>$cieloChave</chave>
        </dados-ec>
</requisicao-cancelamento>
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);
        }
        curl_close($ch);
        $xml = simplexml_load_string($string);
        
        
        
        echo "<br/>";
		
		
        if ($xml->tid){
            if($xml->cancelamentos->cancelamento->codigo == '9'){
                $data = array();

                $cielo_tid = $xml->tid;
                $cielo_codigo = $xml->cancelamentos->cancelamento->codigo;
                $cielo_mensagem = utf8_decode($xml->cancelamentos->cancelamento->mensagem);
                $comentario = "Cielo: ". $cielo_mensagem . " - TID: ".$cielo_tid; 
                
                $data = array(
                    'cielo_tid '        => $xml->tid,
                    'cielo_codigo'      => $xml->cancelamentos->cancelamento->codigo,
                    'cielo_mensagem'    => utf8_decode($xml->cancelamentos->cancelamento->mensagem),
                    'comentario'        => "Cielo: ".$cielo_codigo ." - ". $cielo_mensagem . "TID: ".$cielo_tid,
                    'cielo_lr'          => $xml->autorizacao->lr,
                    //dados do pedido
                    'cielo_valor'       => $xml->{'dados-pedido'}->valor,
                    'cielo_bandeira'    => $xml->{'forma-pagamento'}->bandeira,
                    'cielo_produto'     => $xml->{'forma-pagamento'}->produto,
                    'cielo_parcelas'    => $xml->{'forma-pagamento'}->parcelas
                                                
		);

		return $data;
            }    
        }else{
            echo ''.utf8_decode($xml->mensagem);
        }

        

    }
}

