Boa noite pessoal estou a três dias procurando uma solução eu uso o modulo do Oitoo_cielo, segue:
public function enviarParaCielo($ambiente, $corpo){
$debug = Mage::getStoreConfig('payment/apelidocielo/debug');
if($debug):
$this->setLog("==================== ENVIANDO XML PARA CIELO ====================\n$corpo");
endif;
$curl = curl_init();
if ( is_resource( $curl ) ){
curl_setopt( $curl , CURLOPT_HEADER , 0 );
curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt( $curl , CURLOPT_FOLLOWLOCATION , 1 );
curl_setopt( $curl , CURLOPT_URL , $ambiente );
curl_setopt( $curl , CURLOPT_POST , 1 );
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false);
curl_setopt( $curl , CURLOPT_SSLVERSION, 6); //O ambiente de teste estava apresentando erro quando usado o valor 3. O problema está relacionado a um bug do curl
curl_setopt( $curl , CURLOPT_POSTFIELDS , http_build_query( array( 'mensagem' => $corpo ) ) );
$xml = curl_exec($curl);
$ern = curl_errno( $curl ); //numero do erro
$err = curl_error( $curl ); //mensagem do erro
curl_close( $curl );
if ( (bool) $ern ){
if($debug):
$this->setLog("Ocorreu um erro de comunicação com os servidores da cielo - $err");
endif;
$resposta = new stdClass();
$resposta->codigo = '999'; //CODIGO 999 SIGNIFICA ERRO DE COMUNICAÇÃO
$resposta->mensagem = 'Ocorreu um erro de comunicação entre nossa loja e a operadora do cartão. Por favor entre em contato. ';
return $resposta;
} else {
if($debug):
$this->setLog("==================== XML RETORNADO PELA CIELO ====================\n$xml");
endif;
return simplexml_load_string($xml);
}
} else {
if($debug):
$this->setLog("Ocorreu um erro ao tentar instanciar o módulo curl do php");
endif;
$resposta = new stdClass();
$resposta->codigo = '0000'; //CODIGO 0000 SIGNIFICA ERRO DE CURL
$resposta->mensagem = 'Ocorreu um erro inesperado no servidor. Por favor tente novamente.';
return $resposta;
}
}
tem essa função que envia para a cielo porém está dando erro de comunicação.
Se alguem puder me ajudar pf.