mozgbrasil / magento-cielo-php_54
Integração ao cielo
Installs: 100
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Type:magento-module
Requires
This package is auto-updated.
Last update: 2024-11-05 17:17:55 UTC
README
Mozg\Cielo
Sinopse
Integração a Cielo 3.0
Motivação
Atender o mercado de módulos para Magento oferecendo melhorias e um excelente suporte
Vídeo(s) Demonstrativo
Suporte / Dúvidas
Para obter o devido suporte Clique aqui, relatando o motivo da ocorrência o mais detalhado possível e anexe o print da tela para nosso entendimento
Preço
Recursos do módulo
- [✓] Transação
- [✓] Consulta
- [✓] Captura
- [✓] Reembolso
- [✓] Cancelamento
Característica técnica
No checkout é feito o processo de autorização
No retorno de "Transação autorizada" é feito redirecionamento para a página de sucesso
Na página de sucesso é enviado infomações para o recurso de notificação da transação
Via CRON deve ser processado a notificação da transação,
No processamento da notificação caso o pagamento seja confirmado, deve ser alterado o "state/status" do pedido para "processing" ou seja "Processando", liberando as ações para processar a fatura e o envio
A captura da transação deve ser feita acessando a fatura no Magento e clicando no botão "Capturar", caso seja feita a captura pelo sistema da Cielo não deve ser exibido no Magento o status de "Pagamento confirmado" quando feito a consulta usando a API da Cielo
Antes do envio da mercadoria, sempre confira as informações do pedido, se o status da transação está sendo exibido que o pagamento foi confirmado, inclusive junto a operadora financeira se a transação foi capturada, caso algo esteja inconsistente será necessário cancelar o pedido até a correção da ocorrência
Quando o pedido é enviado o status é alterado para "complete" ou seja "Completo"
Foi implementada automação para a cada 5 minutos ser feito a consulta do status da transação para ser atualizado o status do pedido
Setup Cron
Para o uso do método é necessário ativar a CRON para o Magento
Clique aqui para visualizar o documento da MOZG
Certifique-se de que ação esteja sendo executado a cada minuto
Esse módulo usa o cronjob para processar as notificações
O módulo executa as notificações que foram recebidas há pelo menos 5 minutos.
Testando na Heroku
Gostaria de apresentar o aplicativo que disponibilizei para a plataforma Heroku
Com apenas 1 clique, o aplicativo cria sua loja virtual usando a plataforma de comércio eletrônico Magento e instala os módulos da MOZG
https://github.com/mozgbrasil/heroku-magento#descrição
Instalação - Atualização - Desinstalação - Desativação
--
Sugiro "printar" as telas com todos os procedimentos executados
Envie para nós as imagens das telas na eventualidade de quaisquer dificuldades
--
Este módulo destina-se a ser instalado usando o Composer
Execute o seguinte comando no terminal, para visualizar a existencia do Composer e sua versão
composer --version
Caso não tenha o Composer em seu ambiente, sugiro ler o seguinte artigo Clique aqui
--
É necessário que o servidor tenha o suporte a extensão ionCube PHP Loader
Para visualizar a existência da extensão nesse ambiente denominado PHP CLI, execute o seguinte comando no terminal
php -v
Para visualizar se essa extensão está ativa em seu servidor no ambiente denominado PHP WEB
Certique se da presença do arquivo phpinfo.php na raiz do seu projeto
<?php phpinfo(); ?>
Caso não exista o arquivo phpinfo.php na raiz do projeto Magento, crie o mesmo adicionado o conteúdo acima
Acesse o arquivo pelo browser
Em seguida pesquise pelo termo "ionCube PHP Loader"
Caso o seu servidor não tenha o suporte a extensão, entre em contato com sua empresa de hospedagem e peça para que eles ativem a extensão
Caso tenha a permissão e queira ativar a extensão, Clique aqui
Em "Loader Downloads API", efetue download do pacote compatível com o seu servidor
Descompacte o pacote e faça upload do arquivo "loader-wizard.php" para seu servidor, onde será demonstrado o passo a passo para a ativação da extensão
Clique aqui para ver os processos executados
--
Na presença do "ionCube PHP Loader" efetue o download do seguinte arquivo e coloque na raiz do seu servidor e acesse, se funcionar quer dizer que o "ionCube" está lendo esse tipo de encriptação
--
Para utilizar o(s) módulo(s) da MOZG é necessário aceitar o Acordo de licença do usuário final
--
Sugiro manter um ambiente de testes para efeito de testes e somente após os devidos testes aplicar os devidos procedimento no ambiente de produção
--
Sugiro efetuar backup da plataforma Magento e do banco de dados
--
Antes de efetuar qualquer atualização no Magento sempre mantenha o Compiler e o Cache desativado
--
Certique se da presença do arquivo composer.json na raiz do seu projeto Magento e que o mesmo tenha os parâmetros semelhantes ao modelo JSON abaixo
{
"minimum-stability": "dev",
"prefer-stable": true,
"license": [
"proprietary"
],
"repositories": [
{
"type": "composer",
"url": "https://packages.firegento.com"
}
],
"extra": {
"magento-root-dir": "./",
"magento-deploystrategy": "copy",
"magento-force": true
}
}
Caso não exista o arquivo composer.json na raiz do projeto Magento, crie o mesmo adicionado o conteúdo acima
Para instalar o módulo execute o comando a seguir no terminal do seu servidor
composer require mozgbrasil/magento-cielo-php_54:dev-master
Você pode verificar se o módulo está instalado, indo ao backend em:
STORES -> Configuration -> ADVANCED/Advanced -> Disable Modules Output
--
Para atualizar o módulo execute o comando a seguir no terminal do seu servidor
Antes de efetuar qualquer processo que envolva atualização no Magento é recomendado manter o Compiler e Cache desativado
composer update
Na ocorrência de erro, renomeie a pasta /vendor/mozgbrasil e execute novamente
Para checar a data do módulo execute o seguinte comando
grep -ri --include=*.json 'time": "' ./vendor/mozgbrasil
--
Para desinstalar o módulo execute o comando a seguir no terminal do seu servidor
composer remove mozgbrasil/magento-cielo-php_54
--
Para desativar o módulo
-
Antes de efetuar qualquer processo que envolva atualização sobre o Magento é necessário manter o Compiler e Cache desativado
-
Caso queira desativar os módulos da MOZG renomeie a seguinte pasta app/code/local/Mozg
A desativação do módulo pode ser usado para detectar se determinada ocorrência tem relação com o módulo
Como configurar o método de pagamento
Para configurar o método de pagamento, acesse no backend em:
STORES -> Configuration -> Sales/Payment Methods -> Cielo (powered by MOZG)
Você terá os campos a seguir
Cielo API 3.0 - Configurações Padrão
Configurações necessárias
• Modo Teste ou Produção
Deve ser informado o devido ambiente
• Merchant ID para o ambiente de teste
Efetue o cadastro no seguinte ambiente para obter os dados de integração como: MerchantId e MerchantKey
https://cadastrosandbox.cieloecommerce.cielo.com.br/
• Merchant Key Ambiente de teste
Efetue o cadastro no seguinte ambiente para obter os dados de integração como: MerchantId e MerchantKey
https://cadastrosandbox.cieloecommerce.cielo.com.br/
• Merchant ID para o ambiente de produção
A informação deve ser fornecido pela Cielo
• Merchant Key Ambiente de produção
A informação deve ser fornecido pela Cielo
• Merchant ID Checkout Cielo
A informação deve ser fornecido pela Cielo
Avançado: Processamento de Pedidos Magento
• Status do pedido: ordem de criação
Status dos pedidos recém-criados, antes da confirmação de resultado de pagamento via notificações de servidor da operadora
• Status do pedido: autorização de pagamento
Status dos pedidos após autorização confirmada por uma notificação de AUTORIZAÇÃO da operadora
• Status do pedido: pagamento confirmado
Status dos pedidos após captura confirmada por uma notificação de AUTORIZAÇÃO da operadora
• Status do pedido: cancelamento de pedido
Status dos pedidos após cancelamento confirmada por uma notificação de CANCELAMENTO da operadora
Se as encomendas já estiverem faturadas, não poderão ser canceladas
• Status do pedido: captura de pagamento (produtos virtuais)
Selecione somente o status atribuído ao estado concluído, deixe vazio para usar o mesmo que os produtos normais
• Status do pedido: Reembolsado
Status dos pedidos após reembolso confirmada por uma notificação de REEMBOLSO da operadora
• Status do pedido: Reembolsado Parcial
Status dos pedidos após reembolso (parcial) confirmada por uma notificação de REEMBOLSO_PARCIAL da operadora. Recomendamos que não defina este status e deixe Magento decidir o status.
• Status do pedido: pedidos pendentes
Status dos pedidos após notificação de PENDENCIA da operadora
• Criar uma fatura pendente (apenas para captura manual)
Isso criará uma fatura pendente se a notificação de AUTORIZAÇÃO for recebida.
Nota: isto fará com que Magento empurre todas as encomendas para o estado: 'Processamento' uma vez que a fatura é criada, ignorando todas as outras definições.
• Tipo de Captura
A opção "automática" deve ser selecionado, na necessidade do uso dessa automação que deve ser executada no processamento da notificação que é executada via CRON
A opção "manual" deve ser selecionado, na necessidade de capturar a transação manualmente, essa ação é feita acessando a fatura do pedido e clicando no botão "Capturar"
• Status do pedido: Capturar no embarque
Se você habilitar esta função será feito uma solicitação de captura para a operadora se você fizer o envio
• Ativar Descancelar pedido
Se uma pedido é cancelada por algum motivo, mas recebeu uma notificação de que o pagamento é autorizado, isso cancelará automaticamente o pedido
• Cancelamento\Reembolso automático quando o pedido é cancelado
Ativar / Desativar reembolso automático ao cancelar um pedido
• E-mail da fatura
Ativar / desativar atualizações de e-mails
• Enviar e-mail de notificação do status do pedido
Ativar / desativar e-mails de atualização para todas as alterações no status do pedido para o cliente
• Ativar log de depuração
Deve ser armazenado os processos do módulo em var/log/
O arquivo
DATE_mozg.log
se trata de log do módulo sendo um log mais detalhado contendo todos os processos inclusive das execuções realizadas pelas bibliotecas externas do módulo
O arquivo
payment_METHOD.log
Avançado: Cielo Notificações
• Ignorar notificação de reembolso
Se o reembolso for feito na operadora, e a mesma enviar uma notificação de reembolso para o Magento, deve ser criado automaticamente uma nota de crédito. Se você definir essa configuração como 'Sim', isso não acontecerá porque ele não processará nenhuma das notificações de REEMBOLSO recebidas.
Avançado: Experiência de Checkout
• Redirecionar o destino após o cancelamento
Determina como os compradores são redirecionados após cancelar um pagamento.
• Método de pagamento método de renderização
Determina se os métodos de pagamento serão exibidos com seu logotipo ou apenas o nome.
• Idioma local (opcional)
Isso substituirá o local do cliente padrão do armazenamento do Magento.
Deixe vazio para deixar Magento decidir (Ex: nl_NL)
• Código do país ISO (opcional)
Isso irá substituir o país do endereço de faturamento do comprador ao determinar quais métodos de pagamento serão exibidos.
Cartão de Crédito Cielo
• Ativar
Para "ativar" ou "desativar" o uso do método
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido
• Título
Nome do método que deve ser exibido
• Pagamentos aplicáveis aos países
Você pode definir se o método deve funcionar para "Todos os Países aceito" ou "Especificar Países "
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional
• Tipos de Cartão de Crédito
Selecione as bandeiras liberadas pela operadora
• Criar Entrega
Se você habilitar isso, será criado automaticamente uma remessa se a fatura for criada
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento
• Autenticar
Define se o comprador será direcionado ao Banco emissor para autenticação do cartão
Para essa opção é enviado o parâmetro ReturnUrl, não deve funcionar para dominios que contenham caracteres especiais conforme as regras da Cielo
Para pedidos feito no backend não ative essa opção, pois não deve funcionar o redirecionamento para a URL de autenticação
• Analise de Fraude
Deve funcionar somente no ambiente de produção
• Ativar Parcelamentos
Define o uso de parcelas
• Parcelas padrão
Para a coluna "Moeda" informe a sigla da moeda por exemplo BRL
Para a coluna "Montante (incl.)" informe o valor para a exibição da parcela
Para a coluna "Número máximo de parcelas" informe o número de parcelas que será exibida até o valor previamente informando para a exibição da parcela
Para a coluna "Taxa de juros (%) 0.0" informe a taxa de juro usada
A regra para a exibição da parcela é definida com base na faixas de preços
O módulo já vem pré-configurado usando a seguinte regra
Nessa regra
entre R$ 0,00 até R$ 100,00 é exibido 1 parcela
entre R$ 101,00 até R$ 200,00 é exibido 2 parcelas
entre R$ 201,00 até R$ 600,00 é exibido 3 parcelas
entre R$ 601,00 até R$ 800,00 é exibido 4 parcelas
entre R$ 801,00 até R$ 10.000,00 é exibido 5 parcelas
entre R$ 10.000,00 até R$ 100.000,00 é exibido 6 parcelas
Altere conforme sua necessidade
• Desativar em total geral zero
Desative esta forma de pagamento no checkout quando o total geral da cotação for 0.
Cartão de Débito Cielo
• Ativar
Para "ativar" ou "desativar" o uso do método
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido
• Título
Nome do método que deve ser exibido
• Pagamentos aplicáveis aos países
Você pode definir se o método deve funcionar para "Todos os Países aceito" ou "Especificar Países "
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional
• Tipos de Cartão de Débito
Selecione as bandeiras liberadas pela operadora
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento
• Desativar em total geral zero
Desative esta forma de pagamento no checkout quando o total geral da cotação for 0.
Boleto Cielo
• Ativar
Para "ativar" ou "desativar" o uso do método
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido
• Título
Nome do método que deve ser exibido
• Pagamentos aplicáveis aos países
Você pode definir se o método deve funcionar para "Todos os Países aceito" ou "Especificar Países "
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional
• Tipos de Boleto
Selecione as bandeiras liberadas pela operadora
• Status do pedido não pago
Com Boleto é possível pagar menos do que o valor total. Selecione aqui o status, se este for o caso. Se você deixar isso em branco, ele tomará o status de pedido de pagamento autorizado como status padrão
• Status do pedido pago em excesso
Com Boleto é possível pagar mais do que o valor total. Selecione aqui o status, se este for o caso. Se você deixar isso em branco, ele tomará o status de pedido de pagamento autorizado como status padrão
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento
Transferência Eletrônica Cielo
• Ativar
Para "ativar" ou "desativar" o uso do método
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido
• Título
Nome do método que deve ser exibido
• Pagamentos aplicáveis aos países
Você pode definir se o método deve funcionar para "Todos os Países aceito" ou "Especificar Países "
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional
• Tipos de Transferência Eletrônica
Selecione as bandeiras liberadas pela operadora
• Status do pedido não pago
Com Boleto é possível pagar menos do que o valor total. Selecione aqui o status, se este for o caso. Se você deixar isso em branco, ele tomará o status de pedido de pagamento autorizado como status padrão
• Status do pedido pago em excesso
Com Boleto é possível pagar mais do que o valor total. Selecione aqui o status, se este for o caso. Se você deixar isso em branco, ele tomará o status de pedido de pagamento autorizado como status padrão
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento
Checkout Cielo
• Ativar
Para "ativar" ou "desativar" o uso do método
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido
• Título
Nome do método que deve ser exibido
• Pagamentos aplicáveis aos países
Você pode definir se o método deve funcionar para "Todos os Países aceito" ou "Especificar Países "
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional
• Nome que aparecerá na fatura
Informe o nome que aparecerá na fatura
• Ativar Antifraud
Defina o uso
• Status do pedido não pago
Com Boleto é possível pagar menos do que o valor total. Selecione aqui o status, se este for o caso. Se você deixar isso em branco, ele tomará o status de pedido de pagamento autorizado como status padrão
• Status do pedido pago em excesso
Com Boleto é possível pagar mais do que o valor total. Selecione aqui o status, se este for o caso. Se você deixar isso em branco, ele tomará o status de pedido de pagamento autorizado como status padrão
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento
Perguntas mais frequentes "FAQ"
Oque fazer após a instalação do módulo ?
::
Crie uma conta de teste em
https://cadastrosandbox.cieloecommerce.cielo.com.br/
Onde será fornecido o seu MerchantId e MerchantKey
Configure no método o seu MerchantId e MerchantKey
Para efeito de testes, pode ser usado os seguintes cartões de testes
http://mozg.com.br/dicas/dicas-magento1#cartões-de-crédito-para-testes
Efetue a finalização de um pedido sobre o ambiente de teste onde será feito o processamento da transação
Se foi exibido a tela de finalização quer dizer que foi processado sua transação
::
Deve ser enviado e-mail para a Cielo solicitando homologação dessa integração e solicitando os dados para ser usados em ambiente de produção
::
Envie o seguinte email para cieloecommerce@cielo.com.br
Assunto: "Número do Estabelecimento: ??? / Razão Social: ??? / Sobre: ???"
A/C Suporte Cielo
Favor iniciar processo de homologação
Fico no aguardo dos dados do ambiente de produção para prosseguirmos com processo de homologação
Conforme imagem em anexo o processo está funcional sobre esse ambiente
- URL do produto
http://phpstack-97926-416875.cloudwaysapps.com/teste.html
- Usuário e Senha (caso seja necessário)
mailer@mozg.com.br / 123456
::
A Cielo deve enviar e-mail com os devidos procedimentos
Não envie de e-mail a Cielo contendo assinatura e logotipos pois o mesmo pode ser bloqueado
O corpo do e-mail tem que ser branco somente com a interação de homologação
30 minutos depois de enviar o e-mail ligar para confirmar se eles receberem o e-mail
Dados que a Cielo solicita quando se liga para a confirmação do e-mail ( Número do estabelecimento, razão social e CNPJ)
::
Sobre "cartões internacionais"
Conforme
A Cielo aceita cartões internacionais, mas as transações são processadas em Reais "R$/BRL"
Portanto a moeda base da loja deve ser "R$/BRL"
A seguir temos um topico sobre a cotação de moedas
http://mozg.com.br/dicas/dicas-magento1#cotação-de-moedas-magento-cambio
Sobre "Pagamento por e-mail"
A pratica de "Pagamento por e-mail" consiste conter no e-mail do pedido ou similar um link para o usuario acessar e efetuar o pagamento
No módulo da Cielo consta a integração "Checkout Cielo" que permite essa funcionalidade
Como cancelar um pedido
Para cancelar um pedido pelo magento, acesse a fatura previamente criada e clique no botão "Cancelar" em seguida acesse o pedido e clique no botão "Cancelar
Como fazer o reembolso
Acesse a fatura previamente criada e clique no botão "Reembolso"
Obs. o botão "Reembolso" só deve ser exibido quando tiver sido feito a captura
Na visualização do pedido ao clicar no botão "Reembolsar" o Magento só exibe o botão nomeado como "Reembolso Offline", ao clicar nesse botão só é feito a ação de Reembolso para o Magento
Na visualização da fatura do pedido ao clicar no botão "Reembolsar" o Magento deve exibir os botões nomeados como "Reembolso Offline" e "Reembolso", ao clicar no botão "Reembolso" é disparado ação "Online" ou seja é disparado ação para a operadora de pagamento "Cancelar" a transação relacionada ao pedido
Sobre erro de validação do cartão de crédito "Número do Cartão de Crédito não condiz com o tipo do cartão"
No Magento as validações de cartão de crédito é feita pelo script nativo da própria plataforma Magento
ou seja o seguinte script
/js/prototype/validation.js
::
Na ocasião habilitei o método nativo do Magento "Credit Card (saved)" que também usa o validador nativo onde o número do cartão em questão não passou pelo validador
Esse teste é uma forma de detectar se a ocorrência parte de módulos de terceiros ou se trata de ocorrência relativa ao Magento
::
Detectei que a validação não estava funcionando porque o projeto estava usando uma versão defasada do Magento que tem esse problema de validação
O projeto estava na versão 1.7.0.2 e a atual versão do Magento é 1.9.3.3
Como recomendado é sugerido sempre manter o projeto atualizado devido as melhorias e correções
::
Recomendei o uso de forma temporária do validador do Magento 1.9.3.3, até que o cliente atualize o projeto para a nova versão do Magento
https://raw.githubusercontent.com/firegento/magento/magento-1.9.3.3/js/prototype/validation.js
::
Uma forma para testar o validador é a seguinte
-
No checkout não digite nada e clique no botão de finalizar pedido, verá que será disparado o evento do validador apontando as ocorrência de não preenchimento
-
Digite a informação no devido campo e clique no botão de finalizar pedido, com as informações correta o validador deve ser processado sem exibição de alerta
::
Caso queira testar todas as bandeiras acesse
https://mozg.com.br/dicas/dicas-magento1#cartões-de-crédito-para-testes
Sobre o armazenamento da parcela
Para o método de pagamento: Braspag API V2 ou Cielo API 3.0 ou Redecard Komerci Webservice
A seleção da parcela é feita no Magento e armazenada no Magento
Para resgatar a parcela, podemos usar o seguinte script modelo
$order = Mage::getModel('sales/order')->load('855');
$payment = $order->getPayment();
$additionaInformation = $payment->getData('additional_information');
$installment = $additionaInformation['number_of_installments'];
echo $installment;
::
Para o método de pagamento: Checkout Cielo
A seleção da parcela é feita no ambiente da Cielo
No /checkout/ do Magento não é solicitado a seleção da parcela, por isso não temos o armazenamento e a exibição da mesma no gerenciamento do pedido em "Informações de Pagamento"
Gerenciando o Checkout Cielo
https://cieloecommerce.cielo.com.br/Backoffice/
Sobre URL: de Retorno, Notificação e Mudança de Status para o método "Checkout Cielo"
Para as Urls
- URL de Retorno
Sugiro não informar nada
-
URL de Notificação
http://SEU_DNS/mozg_cielo/process/notification/checkout_cielo/robo/
-
URL de Mudança de Status
http://SEU_DNS/mozg_cielo/process/notification/checkout_cielo/robo/
Sobre a bandeira selecionada no ambiente "Checkout Cielo"
Na notificação enviada pela Cielo, é
Como alterar a imagem do método
Pode ser adicionado a imagem, contendo qualquer uma das nomenclaturas a seguir
- method-boleto.png
- method-creditcard.png
- method-debitcard.png
- method-eletronictransfer.png
E adicione a imagem no diretório do seu template
/skin/frontend//default/images/mozg_cielo
Dados de contato - Cielo
Cielo E-Commerce cieloecommerce@cielo.com.br Tel: 4002-9700 (Capitais e regiões metropolitanas) e 0800-570-1700 (Demais localidades)
Enviar assunto no seguinte formato:
Número do Estabelecimento: ??? / Razão Social: ??? / Sobre: ???
ou acesse
Para entrar em contato com a Cielo
Manual
https://developercielo.github.io/manual/cielo-ecommerce
https://developercielo.github.io/manual/checkout-cielo
Contribuintes
Equipe Mozg
License
Badges
🐈