Problemas comunicação com a Cielo - Atualização TLS

122 views
Skip to first unread message

Fillipe

unread,
Jul 19, 2018, 8:47:11 AM7/19/18
to Cielo Magento
Bom dia pessoal, tudo bem?

O módulo tem bastante tempo e, portanto, tem diferentes versões no mercado. As vezes atualizar não é uma boa, pois possui customizações. Então vou passar as instruções das duas versões mais predomintantemente utilizadas.

Na primeira versão deverá ser realizada a seguinte alteração, utilizando a extensão Curl do PHP:

No arquivo app/code/community/Query/Cielo/Model/WebServiceConnector.php (em versões muito antigas ele pode se chamar WebServiceOrder.php), na função construct:

Onde consta:

        $curlInfo = curl_version();
 
         
if($curlInfo['version'] <= '7.26.0')
         
{
             $this
->_sslVersion = 1;
         
}
         
else
         
{
             $this
->_sslVersion = 4;            
         
}

Deve passar a constar:

        $curlInfo = curl_version();
 
         
if($curlInfo['version'] <= '7.26.0')
         
{
             $this
->_sslVersion = 1;
         
}
         
else
         
{
             $this
->_sslVersion = CURL_SSLVERSION_TLSv1_2;            
         
}

Todavia, a partir de uma certa época, entendi que utilizar o Curl era uma solução mais sensível a versões do outras opções e passei a utilizar a conexão via soquete. Portanto, em muitas versões, esta variável foi inutilizada. Nestas versões, a alteração é a seguinte:

No arquivo app/code/community/Query/Cielo/Model/WebServiceConnector.php, na função _sendRequest:

Onde consta:

$config = array
(
 
'adapter' => Zend_Http_Client_Adapter_Socket,
 
'ssltransport' => 'tls'
);

Deve passar a constar:

$config = array
(
 
'adapter' => Zend_Http_Client_Adapter_Socket,
 
'ssltransport' => 'tlsv1.2'
);

Reparem que declaramos explicitamente o protocolo, mas confesso que não sei se o omitirmos fará com que a classe Zend_Http_Client detecte o protocolo aceito pelo servidor da Cielo. Se este for o caso, a melhor opção será oimitir o protocolo, removendo aquela linha de código que especifica o ssltransport.

Atualizei a versão do módulo disponível em nosso site com essa alteração, para que o pessoal possa atualizar. Não pude testar adequadamente, caso dê algum problema, por favor, me avisem. Segue link: https://www.querycommerce.com/modulo-de-integracao-magento-cielo.html

Peço desculpas por não poder ajudar de forma mais eficiente, tenho ficado bem agarrado com outras questões.

Abs.
Fillipe.
Reply all
Reply to author
Forward
0 new messages