Renovação de Certificado Digital e-Commerce Cielo | Digital Certificate Renewal

251 views
Skip to first unread message

Pedro Filho

unread,
Aug 3, 2018, 11:23:22 AM8/3/18
to Cielo Magento
Ola pessoal! Um cliente me encaminhou esse e-mail que a cielo mandou. Nunca fiz instalação de nenhum certificado cielo para nenhuma das lojas funcionarem (a não ser o ssl padrão que a loja tem que ter) sabem se isso se aplica de alguma forma com o modulo da Query?

Aos Parceiros, 

Comunicamos que será executada a atualização do certificado digital na plataforma e-Commerce de produção (URL: ecommerce.cielo.com.br), no dia 14/08/2018 às 22:00hrs. 
Impacto: não há impacto previsto para aqueles que efetuarem a atualização local do certificado digital. 

A versão mais atualizada está disponível no link abaixo: https://developercielo.github.io/ 

Dúvidas, estamos à disposição. 


+55 11 4002-9700 (Capitais) 
0800-570-1700 (Demais regiões) 
ou 

+55 11 2860-1348 (International) 

cieloec...@cielo.com.br


abs!!!

Marcello InfoWeb

unread,
Aug 3, 2018, 3:27:41 PM8/3/18
to cielo-...@googlegroups.com
Recebi o mesmo e-mail, ainda não fiz nada, não sei por onde começar. Alguém poderia nos orientar? 

--
Você recebeu essa mensagem porque está inscrito no grupo "Cielo Magento" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magent...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Minas de Presentes

unread,
Aug 13, 2018, 7:17:49 PM8/13/18
to Cielo Magento
Boa noite,

Conseguiu descobrir o que tem que fazer? 

Abs

rgm83

unread,
Aug 16, 2018, 8:39:56 PM8/16/18
to Cielo Magento
O problema que eles trocaram o Emissor do Certificado e o Tipo para EV

Para não precisar ficar buscando qual certificado Root e Intermediário usar, peguei o cacert.pem que tem praticamente todos os certificado raízes e intermediários no link abaixo:


Salvei o arquivo na pasta ssl

Depois informei lá no arquivo

WebServiceOrder.php

Voltou a funcionar por aqui..

Abs...

cleiton trentin

unread,
Aug 17, 2018, 9:01:39 AM8/17/18
to cielo-...@googlegroups.com
Oi  rgm83, 
você criou essa pasta no magento ou ela já existe?

--
Você recebeu essa mensagem porque está inscrito no grupo "Cielo Magento" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magento+unsubscribe@googlegroups.com.

cleiton trentin

unread,
Aug 17, 2018, 1:34:07 PM8/17/18
to cielo-...@googlegroups.com
Oi efetuei as alterações q foi passado, porém sem sucesso aqui. Alguém sabe de algum outro passo q posso fazer. O erro no log é ñ foi possível se comunicar com a Cielo

Rogerio Girodo Marques

unread,
Aug 17, 2018, 1:47:25 PM8/17/18
to cielo-...@googlegroups.com
Na verdade é a pasta ssl do Plugin

app\code\community\Query\Cielo\ssl

Coloquei o cacert.pem nesse diretório que antes só tinha o arquivo VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt

Então lá no WebServiceOrder.php

Alterei a linha 69 para

$certificatePath = (isset($params['caminhoCertificado']) && $params['caminhoCertificado'] != "") ? $params['caminhoCertificado'] : Mage::getModuleDir('', 'Query_Cielo') . "/ssl/cacert.pem";

Estou usando o módulo 1.6.1 

Abs


Em 17 de agosto de 2018 14:33, cleiton trentin <cleiton...@gmail.com> escreveu:
Oi efetuei as alterações q foi passado, porém sem sucesso aqui. Alguém sabe de algum outro passo q posso fazer. O erro no log é ñ foi possível se comunicar com a Cielo

--

cleiton trentin

unread,
Aug 17, 2018, 1:53:56 PM8/17/18
to cielo-...@googlegroups.com
Fiz o mesmo procedimento. Porém nada de funcionar. Limpei cache do navegador da aplicação e nada. Uso a mesma versão q vc. Pedi ao servidor pra reiniciar o firewall agora pra ver oq acontece. Desde já agradeço.

Rogerio Girodo Marques

unread,
Aug 17, 2018, 1:59:48 PM8/17/18
to cielo-...@googlegroups.com
Gera um log do erro da requisicao

Lá em no método 

private function _sendRequest($postMsg, $transacao)

Antes do return false

Adiciona isso

Mage::log('Erro no retorno da requisicao: ' . curl_error($curl_session), null, 'cielo-requisicoes.log');

Isso vai gerar um log lá em var/log

Vai mostrar o erro do CURL, só certifique-se de estar usando CURL mesmo pois tem uma versão do plugin que usa Socket


Abs


Em 17 de agosto de 2018 14:53, cleiton trentin <cleiton...@gmail.com> escreveu:
Fiz o mesmo procedimento. Porém nada de funcionar. Limpei cache do navegador da aplicação e nada. Uso a mesma versão q vc. Pedi ao servidor pra reiniciar o firewall agora pra ver oq acontece. Desde já agradeço.

--

cleiton trentin

unread,
Aug 17, 2018, 2:47:40 PM8/17/18
to cielo-...@googlegroups.com
Oi Rogerio da primeira vez que tentei deu o seguinte log:
2018-08-17T18:19:58+00:00 DEBUG (7): [CIELO] Não conseguiu consultar o servidor.
html/downloader/Maged/Model/Session.php on line 252

cleiton trentin

unread,
Aug 18, 2018, 3:43:28 PM8/18/18
to cielo-...@googlegroups.com

Oi Rogerio Girodo Marques 

Está me dizendo que a chave não é valida.
Está caindo nesta função:
 public function validateFormKey()
    {
        if (!($formKey = $_REQUEST['form_key']) || $formKey != $this->getFormKey()) {
            return false;
        }
        return true;
    }

cleiton trentin

unread,
Aug 19, 2018, 2:16:30 AM8/19/18
to cielo-...@googlegroups.com
Se alguém tiver alguma sugestão sobre o que mais posso fazer, agradeço.
Meu  WebServiceOrder.php está assim->

$certificatePath = (isset($params['caminhoCertificado']) && $params['caminhoCertificado'] != '') ? $params['caminhoCertificado'] : Mage::getModuleDir('', 'Query_Cielo') . "/ssl/cacert.pem";

Log Gerado:

ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252

Na pasta ssl adicionado 
cacert.pem

Já não sei mais oque fazer, atualizei no servidor os certificados e nada de funcionar. Será que tem alguma coisa com a versão do PHP?

Fico no aguardo se alguém puder me ajudar.

Victor Minas De Presentes

unread,
Aug 19, 2018, 7:58:41 AM8/19/18
to cleiton trentin, cielo-...@googlegroups.com
Qual versao do seu tls e ssl?

Sent from TypeApp for iPhone


cleiton trentin wrote
Oi efetuei as alterações q foi passado, porém sem sucesso aqui. Alguém sabe de algum outro passo q posso fazer. O erro no log é ñ foi possível se comunicar com a Cielo

--
Você recebeu essa mensagem porque está inscrito no grupo "Cielo Magento" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magent...@googlegroups.com.

cleiton trentin

unread,
Aug 19, 2018, 12:20:52 PM8/19/18
to Cielo Magento

mas tls 1.2. atualizei quando a cielo fez a atualização.

segue meu log:
 
2018-08-19T13:06:58+00:00 DEBUG (7): [CIELO] Não conseguiu consultar o servidor.
2018-08-19T13:06:59+00:00 DEBUG (7): [CIELO] Não conseguiu consultar o servidor.
2018-08-19T13:17:35+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T13:28:15+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T13:38:52+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T13:49:09+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T13:57:56+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T14:08:23+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T14:18:26+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T14:29:23+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T14:39:18+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T14:48:24+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T14:57:57+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T15:08:08+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T15:17:43+00:00 DEBUG (7): [CIELO] Não conseguiu consultar o servidor.
2018-08-19T15:17:43+00:00 ERR (3): Notice: Trying to get property of non-object  in /chroot/home/rosatrap/rosatrapo.com.br/html/includes/src/Query_Cielo_Model_Abstract.php on line 73
2018-08-19T15:17:43+00:00 ERR (3): Notice: Trying to get property of non-object  in /chroot/home/rosatrap/rosatrapo.com.br/html/includes/src/Query_Cielo_Model_Abstract.php on line 74
2018-08-19T15:17:43+00:00 ERR (3): Notice: Trying to get property of non-object  in /chroot/home/rosatrap/rosatrapo.com.br/html/includes/src/Query_Cielo_Model_Abstract.php on line 74
2018-08-19T15:17:43+00:00 ERR (3): Notice: Trying to get property of non-object  in /chroot/home/rosatrap/rosatrapo.com.br/html/includes/src/Query_Cielo_Model_Abstract.php on line 75
2018-08-19T15:17:43+00:00 ERR (3): Notice: Trying to get property of non-object  in /chroot/home/rosatrap/rosatrapo.com.br/html/includes/src/Query_Cielo_Model_Abstract.php on line 75
2018-08-19T15:17:43+00:00 ERR (3): Notice: Trying to get property of non-object  in /chroot/home/rosatrap/rosatrapo.com.br/html/includes/src/Query_Cielo_Model_Abstract.php on line 76
2018-08-19T15:18:14+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T15:29:38+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T15:38:12+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T15:48:31+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T15:57:55+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T16:08:35+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252
2018-08-19T16:16:17+00:00 ERR (3): Notice: Undefined index: form_key  in /chroot/home/rosatrap/rosatrapo.com.br/html/downloader/Maged/Model/Session.php on line 252

Flavio Eduardo

unread,
Aug 20, 2018, 10:32:29 PM8/20/18
to cielo-...@googlegroups.com
Opinião pessoal: certificado Cielo não serve para nada.
Você não precisa subir o certificado, nem mudar o path no "__construct". 
 
Altere a requisição cURL na função "_sendRequest" no WebServiceOrder.php...

Você terá algo como:

curl_setopt($curl_session, CURLOPT_URL, $this->_webServiceURL);
curl_setopt($curl_session, CURLOPT_FAILONERROR true);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl_session, CURLOPT_CAINFO, $this->_SSLCertificatePath);
curl_setopt($curl_session, CURLOPT_SSLVERSION, 4);
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl_session, CURLOPT_TIMEOUT, 40);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_session, CURLOPT_POST, true);
curl_setopt($curl_session, CURLOPT_POSTFIELDS, $postMsg );

Altere as linhas conforme destacamento em bold:

curl_setopt($curl_session, CURLOPT_URL, $this->_webServiceURL);
curl_setopt($curl_session, CURLOPT_FAILONERROR, true);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl_session, CURLOPT_CAINFO, $this->_SSLCertificatePath);
curl_setopt($curl_session, CURLOPT_SSLVERSION, 6);
curl_setopt($curl_session, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl_session, CURLOPT_TIMEOUT, 40);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_session, CURLOPT_POST, true);
curl_setopt($curl_session, CURLOPT_POSTFIELDS, $postMsg );

Isso deve resolver o problema de comunicação com o ws.
Espero que ajude.

Abrçs.

cleiton trentin

unread,
Aug 21, 2018, 12:02:48 PM8/21/18
to cielo-...@googlegroups.com
Obrigado pelo retorno Flavio, mas não deu muito certo pra min segue meu   WebServiceOrder.php:
<?php

/*
 * Query Commerce Cielo Module - payment method module for Magento,
 * integrating the billing forms with a Cielo's gateway Web Service.
 * Copyright (C) 2013  Fillipe Almeida Dutra
 * Belo Horizonte, Minas Gerais - Brazil
 * 
 * Contact: law...@gmail.com
 * 
 * Team: 
 * Fillipe Almeida Dutra - law...@gmail.com
 * Hermes Luciano Monteiro Junior - herm...@gmail.com
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
class Query_Cielo_Model_WebServiceOrder
{
public $ccType; // bandeira do cartao de credito
public $paymentType; // forma de pagameto (debito, credito - a vista ou parcelado)
public $paymentParcels; // numero de parcelas
public $clientOrderNumber; // clientOrderNumber
public $clientOrderValue; // clientOrderValue
public $clientOrderCurrency = "986"; // numero de indice da moeda utilizada (R$)
public $clientOrderDate; // data da operacao
public $clientOrderDescription; // descricao
public $clientOrderLocale = "PT"; // idioma
public $clientSoftDesc; // identificador que aparece na fatura do cliente
public $cieloNumber; // identificador da loja na cielo
public $cieloKey; // chave da loja a cielo
public $generateToken; // flag indicando se deve gerar um token para o cliente
public $capture; // flag indicando quando pedido deve ser capturado
public $autorize; // flag indicando quando pedido deve ser autorizado
public $postbackURL; // url para qual o pagamento retornara o resultado da operacao
public $tid; // id da transacao
public $status; // status da transacao
private $_xmlResponse; // texto xml vindo da resposta da transacao
private $_transactionError; // erro ocorrido na transicao
private $_sslVersion; // ssl version a ser usado dependendo da versao do cUrl
private $_webServiceURL; // url do webservice da cielo
private $_SSLCertificatePath; // caminho no sistema de arquivos do certificado SSL
private $_URLAuthTag = "url-autenticacao"; // tag que armazena a url de autenticacao da transacao
const ENCODING = "ISO-8859-1"; // codificacao do xml
const VERSION = "1.2.1"; // versao do webservice da cielo
function __construct($params)
{
$baseURL = (isset($params['enderecoBase'])) ? $params['enderecoBase'] : "https://qasecommerce.cielo.com.br";
                      $certificatePath = (isset($params['caminhoCertificado']) && $params['caminhoCertificado'] != "") ? $params['caminhoCertificado']
                      Mage::getModuleDir('', 'Query_Cielo') . "/ssl/carcet.pem";
$this->_webServiceURL = $baseURL . "/servicos/ecommwsec.do";
$this->_SSLCertificatePath = $certificatePath;
                

$curlInfo = curl_version();

if($curlInfo['version'] <= '7.26.0')
{
$this->_sslVersion = 1;
}
else
{
$this->_sslVersion = CURL_SSLVERSION_TLSv1_2;
}
}
/**
*
* funcao utilizada para atribuir os valores base
* do pedido da cielo
* @param string $index
* @param string $value
* ou
* @param array $index
*/
public function setData($index, $value = null)
{
if(is_array($index))
{
foreach($index as $i => $v)
{
$this->$i = $v;
}
}
else
{
$this->$index = $value;
}
}
/**
*
* funcao responsavel por montar o xml de requisicao e 
* realizar a criacao da transacao na cielo
* @param boolean $ownerIncluded
* @return boolean
*/
public function requestTransaction($ownerData)
{
$msg  = $this->_getXMLHeader() . "\n";
$msg .= '<requisicao-transacao id="' . md5(date("YmdHisu")) . '" versao="' . self::VERSION . '">' . "\n   ";
$msg .= $this->_getXMLCieloData() . "\n   ";
$msg .= $this->_getXMLOwnerData($ownerData) . "\n   ";
$msg .= $this->_getXMLOrderData() . "\n   ";
$msg .= $this->_getXMLPaymentData() . "\n   ";
$msg .= $this->_getXMLPostbackURL() . "\n   ";
$msg .= $this->_getXMLAutorize() . "\n   ";
$msg .= $this->_getXMLCapture() . "\n   ";
$msg .= $this->_getXMLToken() . "\n   ";
$msg .= '</requisicao-transacao>';
$maxAttempts = 3;
while($maxAttempts > 0)
{
if($this->_sendRequest("mensagem=" . $msg, "Transacao"))
{
if($this->_hasConsultationError())
{
Mage::log($this->_transactionError);
return false;
}
$xml = simplexml_load_string($this->_xmlResponse);
// pega dados do xml
$this->tid = (string) $xml->tid;

$URLAuthTag = $this->_URLAuthTag;
return ((string) $xml->$URLAuthTag);
}
$maxAttempts--;
}
if($maxAttempts == 0)
{
Mage::log("[CIELO] Não conseguiu consultar o servidor.");
}
return false;
}

/**
*
* funcao responsavel por montar o xml de requisicao de token e 
* realizar o pedido a cielo
* @param boolean $ownerData
* @return boolean | XML
*/

/**
* funcao responsavel por realizar uma requisição de criação de token
* @param $ownerData
*/
public function requestToken($ownerData)
{
$msg  = $this->_getXMLHeader() . "\n";
$msg .= '<requisicao-token id="' . md5(date("YmdHisu")) . '" versao="' . self::VERSION . '">' . "\n   ";
$msg .= $this->_getXMLCieloData() . "\n   ";
$msg .= $this->_getXMLOwnerData($ownerData) . "\n   ";
$msg .= '</requisicao-token>';
$maxAttempts = 3;
while($maxAttempts > 0)
{
if($this->_sendRequest("mensagem=" . $msg, "Token"))
{
if($this->_hasConsultationError())
{
Mage::log($this->_transactionError);
return false;
}
$xml = simplexml_load_string($this->_xmlResponse);
return $xml;
}
$maxAttempts--;
}
if($maxAttempts == 0)
{
Mage::log("[CIELO] Não conseguiu consultar o servidor.");
}
return false;
}
/**
*
* funcao responsavel por montar o xml de requisicao e 
* realizar a consulta do status da transacao
* @return boolean | string
*/
 
public function requestConsultation()
{
$msg  = $this->_getXMLHeader() . "\n";
$msg .= '<requisicao-consulta id="' . md5(date("YmdHisu")) . '" versao="' . self::VERSION . '">' . "\n   ";
$msg .= '<tid>' . $this->tid . '</tid>' . "\n   ";
$msg .= $this->_getXMLCieloData() . "\n   ";
$msg .= '</requisicao-consulta>';
$maxAttempts = 3;
while($maxAttempts > 0)
{
if($this->_sendRequest("mensagem=" . $msg, "Consulta"))
{
if($this->_hasConsultationError())
{
Mage::log($this->_transactionError);
return false;
}
$xml = simplexml_load_string($this->_xmlResponse);
$this->status = (string) $xml->status;
return $this->status;
}
$maxAttempts--;
}
if($maxAttempts == 0)
{
Mage::log("[CIELO] Não conseguiu consultar o servidor.");
}
return false;
}
public function requestConsultationByStoreId()
{
$msg  = $this->_getXMLHeader() . "\n";
$msg .= '<requisicao-consulta-chsec id="' . md5(date("YmdHisu")) . '" versao="' . self::VERSION . '">' . "\n   ";
$msg .= '<numero-pedido>' . $this->clientOrderNumber . '</numero-pedido>' . "\n   ";
$msg .= $this->_getXMLCieloData() . "\n   ";
$msg .= '</requisicao-consulta-chsec>';

$maxAttempts = 1;
while($maxAttempts > 0)
{
if($this->_sendRequest("mensagem=" . $msg, "Consulta"))
{
if($this->_hasConsultationError())
{
Mage::log($this->_transactionError);
return false;
}
$xml = simplexml_load_string($this->_xmlResponse);
$this->status = (string) $xml->status;
$this->tid = (string) $xml->tid;
return $this->status;
}
$maxAttempts--;
}
if($maxAttempts == 0)
{
Mage::log("[CIELO] Não conseguiu consultar o servidor.");
}
return false;
}
/**
*
* funcao responsavel por montar o xml de requisicao e 
* realizar a captura da transacao
* @return boolean | string
*/
 
public function requestCapture($value)
{
$msg  = $this->_getXMLHeader() . "\n";
$msg .= '<requisicao-captura id="' . md5(date("YmdHisu")) . '" versao="' . self::VERSION . '">' . "\n   ";
$msg .= '<tid>' . $this->tid . '</tid>' . "\n   ";
$msg .= $this->_getXMLCieloData() . "\n   ";
$msg .= '<valor>' . $value . '</valor>' . "\n   ";
$msg .= '</requisicao-captura>';
$maxAttempts = 3;
while($maxAttempts > 0)
{
if($this->_sendRequest("mensagem=" . $msg, "Captura"))
{
if($this->_hasConsultationError())
{
Mage::log($this->_transactionError);
return false;
}
$xml = simplexml_load_string($this->_xmlResponse);
$this->status = (string) $xml->status;
return $this->status;
}
$maxAttempts--;
}
if($maxAttempts == 0)
{
Mage::log("[CIELO] Não conseguiu consultar o servidor.");
}
return false;
}
/**
*
* funcao responsavel por montar o xml de requisicao e 
* realizar o cancelamento da transacao
* @return boolean | string
*/
 
public function requestCancellation($value)
{
$msg  = $this->_getXMLHeader() . "\n";
$msg .= '<requisicao-cancelamento id="' . md5(date("YmdHisu")) . '" versao="' . self::VERSION . '">' . "\n   ";
$msg .= '<tid>' . $this->tid . '</tid>' . "\n   ";
$msg .= $this->_getXMLCieloData() . "\n   ";
if($value !== false)
{
$msg .= '<valor>' . $value . '</valor>' . "\n   ";
}
$msg .= '</requisicao-cancelamento>';
$maxAttempts = 3;
while($maxAttempts > 0)
{
if($this->_sendRequest("mensagem=" . $msg, "Cancelamento"))
{
if($this->_hasConsultationError())
{
Mage::log($this->_transactionError);
return false;
}
$xml = simplexml_load_string($this->_xmlResponse);
$this->status = (string) $xml->status;
return $this->status;
}
$maxAttempts--;
}
if($maxAttempts == 0)
{
Mage::log("[CIELO] Não conseguiu consultar o servidor.");
}
return false;
}
/**
*
* funcao responsavel por conferir se houve erro na requisicao
* @return boolean
*/
private function _hasConsultationError()
{
// certificao SSL invalido
if(stripos($this->_xmlResponse, "SSL certificate problem") !== false)
{
$this->_transactionError = "[CIELO] Certificado SSL inválido.";
return true;
}
$xml = simplexml_load_string($this->_xmlResponse);
// tempo de requisicao expirou
if($xml == null)
{
$this->_transactionError = "[CIELO] Tempo de espera na requisição expirou.";
return true;
}
// retorno de erro da cielo
if($xml->getName() == "erro")
{
$this->_transactionError = "[CIELO: " . $xml->codigo . "] " . utf8_decode($xml->mensagem);
return true;
}
return false;
}
/**
*
* retorna a msg de erro da requisicao
* @return string
*/
public function getError()
{
return $this->_transactionError;
}
/**
*
* funcao que realiza a requisicao
* @param string $postMsg
* @param string $transacao
* @return string | boolean
*/
private function _sendRequest($postMsg, $transacao)
{
$config = array
(
'adapter' => Zend_Http_Client_Adapter_Socket,
'ssltransport' => 'tlsv1.2'
);

$client = new Zend_Http_Client($this->_webServiceURL, $config);

$response = $client->setRawData($postMsg)->request('POST');
$this->_xmlResponse = $response->getBody();

if(!$this->_xmlResponse)
{
                        Mage::log('Erro no retorno da requisicao: ' . curl_error($curl_session), null, 'cielo-requisicoes.log');
return false;
}

return true;

/*
$curl_session = curl_init();
curl_setopt($curl_session, CURLOPT_URL, $this->_webServiceURL);
curl_setopt($curl_session, CURLOPT_FAILONERROR, true);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl_session, CURLOPT_CAINFO, $this->_SSLCertificatePath);
curl_setopt($curl_session, CURLOPT_SSLVERSION, $this->_sslVersion);
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl_session, CURLOPT_TIMEOUT, 40);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_session, CURLOPT_POST, true);
curl_setopt($curl_session, CURLOPT_POSTFIELDS, $postMsg );
$this->_xmlResponse = curl_exec($curl_session);
if(!$this->_xmlResponse)
{
Mage::log(curl_error($curl_session));
return false;
}
curl_close($curl_session);
return true;
*/
}
/**
*
* funcao que que consulta o retorno xml
* @return string | boolean
*/
public function getXmlResponse()
{
try
{
return simplexml_load_string($this->_xmlResponse);
}
catch(Exception $e)
{
return false;
}
}
/**
*
* funcoes que montam o conteudo xml da requisicao
* @return string
*/
private function _getXMLHeader()
{
return '<?xml version="1.0" encoding="' . self::ENCODING . '" ?>'; 
}
private function _getXMLCieloData()
{
$msg = '<dados-ec>' . "\n      " .
'<numero>'
. $this->cieloNumber . 
'</numero>' . "\n      " .
'<chave>'
. $this->cieloKey .
'</chave>' . "\n   " .
'</dados-ec>';
return $msg;
}
private function _getXMLOwnerData($ownerData)
{
if(!$ownerData)
{
return "";
}
if(isset($ownerData['token']) && $ownerData['token'])
{
$msg = '<dados-portador>' . "\n      " . 
'<token>' 
. urlencode($ownerData['token']) .
'</token>' . "\n     ".
'</dados-portador>';
}
else
{
$msg = '<dados-portador>' . "\n      " . 
'<numero>' 
. $ownerData['number'] .
'</numero>' . "\n      " .
'<validade>'
. $ownerData['exp_date'] .
'</validade>' . "\n      " .
'<indicador>'
. "1" .
'</indicador>' . "\n      " .
'<codigo-seguranca>'
. $ownerData['sec_code'] .
'</codigo-seguranca>' . "\n      " . 
'<nome-portador>'
. $ownerData['name'] .
'</nome-portador>' . "\n   " .
'</dados-portador>';
}
return $msg;
}
private function _getXMLOrderData()
{
$this->clientOrderDate = date("Y-m-d") . "T" . date("H:i:s");
$msg = '<dados-pedido>' . "\n      " .
'<numero>'
. $this->clientOrderNumber . 
'</numero>' . "\n      " .
'<valor>'
. $this->clientOrderValue.
'</valor>' . "\n      " .
'<moeda>'
. $this->clientOrderCurrency .
'</moeda>' . "\n      " .
'<data-hora>'
. $this->clientOrderDate .
'</data-hora>' . "\n      ";
if($this->clientOrderDescription != null && $this->clientOrderDescription != "")
{
$msg .= '<descricao>'
. $this->clientOrderDescription .
'</descricao>' . "\n      ";
}
$msg .= '<idioma>'
. $this->clientOrderLocale .
'</idioma>' . "\n      ";
if($this->clientSoftDesc != null && $this->clientSoftDesc != "")
{
'<softDescriptor>'
. $this->clientSoftDesc .
'</softDescriptor>' . "\n   ";
}
$msg .= '</dados-pedido>';
return $msg;
}
private function _getXMLPaymentData()
{
$msg = '<forma-pagamento>' . "\n      " .
'<bandeira>' 
. $this->ccType .
'</bandeira>' . "\n      " .
'<produto>'
. $this->paymentType .
'</produto>' . "\n      " .
'<parcelas>'
. $this->paymentParcels .
'</parcelas>' . "\n   " .
'</forma-pagamento>';
return $msg;
}
private function _getXMLPostbackURL()
{
$msg = '<url-retorno>' . $this->postbackURL . '</url-retorno>';
return $msg;
}
private function _getXMLAutorize()
{
$msg = '<autorizar>' . $this->autorize . '</autorizar>';
return $msg;
}
private function _getXMLCapture()
{
$msg = '<capturar>' . $this->capture . '</capturar>';
return $msg;
}
private function _getXMLToken()
{
$msg = '<gerar-token>' . $this->generateToken . '</gerar-token>';
return $msg;
}
}

--
Você recebeu essa mensagem porque está inscrito no grupo "Cielo Magento" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magento+unsubscribe@googlegroups.com.

cleiton trentin

unread,
Aug 21, 2018, 12:04:45 PM8/21/18
to cielo-...@googlegroups.com
segue o mesmo erro:  Mensagem de retorno da Cielo: Erro na transação: caso o problema persista, por favor entre em contato..
Para maiores informações, por favor acesse o link do pedido acima ou entre em contato conosco.

Flavio Eduardo

unread,
Aug 21, 2018, 4:58:09 PM8/21/18
to cielo-...@googlegroups.com
Estranho... pois na empresa q presto serviços fixamos bastante lojas q usam esse módulo em diferentes versões e deu certo....
Abrçs 

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magent...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Cielo Magento" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magent...@googlegroups.com.

cleiton trentin

unread,
Aug 21, 2018, 11:50:14 PM8/21/18
to cielo-...@googlegroups.com
Estou com o seguinte erro agora:

2018-08-22T03:45:10+00:00 ERR (3): Notice: Use of undefined constant Zend_Http_Client_Adapter_Socket - assumed 'Zend_Http_Client_Adapter_Socket'  in /chroot/home/rosatrap/rosatrapo.com.br/html/app/code/community/Query/Cielo/Model/WebServiceOrder.php on line 479

Se tiver alguém que possa me ajudar pf
Message has been deleted
Message has been deleted

Ivan RazaK

unread,
Nov 2, 2018, 8:38:04 AM11/2/18
to Cielo Magento
Muito obrigado meu amigo, funcionou aqui!!!

Rodolfo Castro

unread,
Nov 6, 2018, 2:56:10 PM11/6/18
to cielo-...@googlegroups.com
Isso ai acontece sempre?
resolveu mesmo?
Estou com um problema no meu módulo cielo 3.0 para Magento.

--
Você recebeu essa mensagem porque está inscrito no grupo "Cielo Magento" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cielo-magento+unsubscribe@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.



--

Att,

Rodolfo de Castro - Sócio / Web design / Web Developer

(85) 98811-8692 | 3046-6032
Rua José Lourenço, 427

Fortaleza - Ceará

www.geekwork.com.br

deni...@gmail.com

unread,
Dec 18, 2018, 6:26:19 AM12/18/18
to Cielo Magento
Obrigado, fiz o que foi descrito e resolveu meu problema.
Reply all
Reply to author
Forward
0 new messages