Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mozgbrasil/magento-bancodobrasil-php_54

magento
https://github.com/mozgbrasil/magento-bancodobrasil-php_54

apache composer ecommerce ecommerce-platform linux magento magento-extension magento-module magento1 mysql packagist php shell

Last synced: 26 days ago
JSON representation

magento

Awesome Lists containing this project

README

        

[checkmark]: https://raw.githubusercontent.com/mozgbrasil/mozgbrasil.github.io/master/assets/images/logos/logo_32_32.png "MOZG"
![valid XHTML][checkmark]

[url-method]: http://www.bancodobrasil.com.br/
[requerimentos]: http://mozgbrasil.github.io/requerimentos/
[contact-bancodobrasil]: http://www.bancodobrasil.com.br/fale-conosco/
[tickets]: https://cerebrum.freshdesk.com/support/tickets/new
[preco]: http://www.cerebrum.com.br/preco/
[getcomposer]: https://getcomposer.org/
[uninstall-mods]: https://getcomposer.org/doc/03-cli.md#remove
[artigo-composer]: http://mozg.com.br/ubuntu/composer
[ioncube-loader]: http://www.ioncube.com/loaders.php
[acordo]: http://mozg.com.br/acordo-licenca-usuario-final/

# Mozg\Bancodobrasil

## Sinopse

Integração a [Bancodobrasil][url-method] Comércio Eletrônico

## Motivação

Atender o mercado de módulos para Magento oferecendo melhorias e um excelente suporte

## Demonstração

[![Clique para visualizar o vídeo](https://img.youtube.com/vi/1D9iz-nbuos/0.jpg)](https://youtu.be/1D9iz-nbuos "Clique para visualizar o vídeo")

## Suporte / Dúvidas

Para obter o devido suporte [Clique aqui][tickets], relatando o motivo da ocorrência o mais detalhado possível e anexe o print da tela para nosso entendimento

## Preço

[Clique aqui][preco]

## Recursos do módulo

- [✓] Transação
- [✓] Consulta

## Característica técnica

Conforme video demonstrativo

Na página de sucesso é enviado infomações para o banco

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

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](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][getcomposer]

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][artigo-composer]

--

É necessário que o servidor tenha o suporte a extensão [ionCube PHP Loader][ioncube-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

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][ioncube-loader]

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](https://youtu.be/GZ2J6MLkko4) 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

https://raw.githubusercontent.com/mozgbrasil/heroku-magento/master/phpinfo-ioncube-encoder10-x86-64-php_54.php

--

Para utilizar o(s) módulo(s) da MOZG é necessário aceitar o [Acordo de licença do usuário final][acordo]

--

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 no diretório do seu projeto

composer require mozgbrasil/magento-bancodobrasil-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 no diretório do seu projeto

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][uninstall-mods] o módulo execute o comando a seguir no terminal do seu servidor no diretório do seu projeto

composer remove mozgbrasil/magento-bancodobrasil-php_54

--

### Para desativar o módulo

1. Antes de efetuar qualquer processo que envolva atualização sobre o Magento é necessário manter o Compiler e Cache desativado

2. 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 -> Bancodobrasil (powered by MOZG)

Você terá os campos a seguir

### Banco do Brasil Comércio Eletrônico - Configurações Padrão

#### Configurações necessárias

##### • **Modo Teste ou Produção**

Deve ser informado o devido ambiente

##### • **Código do convênio de Comércio Eletrônico**

Código do convênio de Comércio Eletrônico

##### • **Código de cobrança de Comércio Eletrônico**

Código de cobrança de Comércio Eletrônico

##### • **Vencimento (em dias)**

Vencimento (em dias)

##### • **Observação**

Observação

##### • **Tipo de título que originará o boleto**

Tipo de título que originará o boleto

#### 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

##### • **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"

##### • **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 factura é criada, ignorando todas as outras definições.

##### • **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: Bancodobrasil 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.

### Banco do Brasil (Todas as opções)

#### • **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

### Boleto Banco do Brasil

#### • **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

### Boleto Bancodobrasil

#### • **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

#### • **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 Bancodobrasil

#### • **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

#### • **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 ?

Configure no método o seu Código do convênio e ative o método

Efetue um teste

Se foi exibido a tela de finalização quer dizer que foi processado sua transação

Obs.

Para boleto não é possivel efetuar a consultar da transação, devendo ser processada fatura manualmente

### Simulações

Temos a possibilidade de fazer simulações de integrações em

http://loja.cerebrum.com.br/vendor/mozgbrasil/php-framework-php_56/examples/bb/Transacao.php

Ao informar o

idConv: ???
refTran:

Ao postar e ao clicar na opção Boleto é retornado

CPF do pagador nao encontrado na base. (C008-000)

Alterei os parametros para

indicadorPessoa: 2
cpfCnpj: 59.729.997/0001-68

Ao postar e ao clicar na opção Boleto é retornado

CPF/CNPJ não informado para cobrança registrada (C031-000)

Alterei os parametros para

indicadorPessoa: 2
cpfCnpj: 16619423000124

Ao postar e ao clicar na opção Boleto é retornado

CNPJ pagador informado inexistente. (C008-000)

Alterei os parametros para

indicadorPessoa: 2
cpfCnpj: 16619423000124
tpPagamento: 21

E foi exibido o Boleto

Em simulações foi feito uma requisição tendo o seguinte erro

UF informada no endereco pagador diferent (C008-000)

Isso acontece devido o CEP informado não ser da cidade informada

Isso é um controle do Banco do Brasil por isso é importante o sistema ter um bom suporte ao dados oque deve impedir o uso de dados discrepantes

### 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_bancodobrasil

### Observações

O processo da transação do pagamento é feito no sistema do Banco do Brasil e é aberto em popup.

Na eventualidade do navegador do usuário estiver habilitado o recurso de bloqueio de popup, será exibido um "aviso", induzindo o usuário ao clique para desbloqueio automático do popup.

### Dados de contato - Bancodobrasil

Deve ligar para 11 4004 0006, opção 8, opção 4, informar agencia e conta, opção 8, informar a chave J

Informado a ocorrência onde deve ser aberto um protocolo

Possível pode ser necessário o envio da ocorrência para o e-mail, [email protected], informando o protocolo e a ocorrência

## Manual

http://bb.com.br/portalbb/page44,3766,2229,0,0,1,2.bb

## Contribuintes

Equipe Mozg

## License

[Comercial License](LICENSE.txt)

## Badges

[![Join the chat at https://gitter.im/mozgbrasil](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mozgbrasil/)
[![Latest Stable Version](https://poser.pugx.org/mozgbrasil/magento-bancodobrasil-php_54/v/stable)](https://packagist.org/packages/mozgbrasil/magento-bancodobrasil-php_54)
[![Total Downloads](https://poser.pugx.org/mozgbrasil/magento-bancodobrasil-php_54/downloads)](https://packagist.org/packages/mozgbrasil/magento-bancodobrasil-php_54)
[![Latest Unstable Version](https://poser.pugx.org/mozgbrasil/magento-bancodobrasil-php_54/v/unstable)](https://packagist.org/packages/mozgbrasil/magento-bancodobrasil-php_54)
[![License](https://poser.pugx.org/mozgbrasil/magento-bancodobrasil-php_54/license)](https://packagist.org/packages/mozgbrasil/magento-bancodobrasil-php_54)
[![Monthly Downloads](https://poser.pugx.org/mozgbrasil/magento-bancodobrasil-php_54/d/monthly)](https://packagist.org/packages/mozgbrasil/magento-bancodobrasil-php_54)
[![Daily Downloads](https://poser.pugx.org/mozgbrasil/magento-bancodobrasil-php_54/d/daily)](https://packagist.org/packages/mozgbrasil/magento-bancodobrasil-php_54)
[![Reference Status](https://www.versioneye.com/php/mozgbrasil:magento-bancodobrasil-php_54/reference_badge.svg?style=flat-square)](https://www.versioneye.com/php/mozgbrasil:magento-bancodobrasil-php_54/references)
[![Dependency Status](https://www.versioneye.com/php/mozgbrasil:magento-bancodobrasil-php_54/1.0.0/badge?style=flat-square)](https://www.versioneye.com/php/mozgbrasil:magento-bancodobrasil-php_54/1.0.0)

:cat2: