, (*1)
Mozg\Bradesco
Sinopse
Integração ao Bradesco, (*2)
Motivação
Atender o mercado de módulos para Magento oferecendo melhorias e um excelente suporte, (*3)
Demonstração
, (*4)
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, (*5)
Preço
Clique aqui, (*6)
Recursos do módulo
- [✓] Transação
- [✓] Consulta
Característica técnica
No checkout é feito o processo de autorização, (*7)
Na página de sucesso é exibido a janela que acessa o tipo de pagamento, (*8)
Via CRON deve ser processado a notificação da transação,, (*9)
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, (*10)
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, (*11)
Quando o pedido é enviado o status é alterado para "complete" ou seja "Completo", (*12)
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, (*13)
Setup Cron
Para o uso do método é necessário ativar a CRON para o Magento, (*14)
Clique aqui para visualizar o documento da MOZG, (*15)
Certifique-se de que ação esteja sendo executado a cada minuto, (*16)
Esse módulo usa o cronjob para processar as notificações, (*17)
O módulo executa as notificações que foram recebidas há pelo menos 5 minutos., (*18)
Testando na Heroku
Gostaria de apresentar o aplicativo que disponibilizei para a plataforma Heroku, (*19)
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, (*20)
https://github.com/mozgbrasil/heroku-magento#descrição, (*21)
Instalação - Atualização - Desinstalação - Desativação
--, (*22)
Sugiro "printar" as telas com todos os procedimentos executados, (*23)
Envie para nós as imagens das telas na eventualidade de quaisquer dificuldades, (*24)
--, (*25)
Este módulo destina-se a ser instalado usando o Composer, (*26)
Execute o seguinte comando no terminal, para visualizar a existencia do Composer e sua versão, (*27)
composer --version
Caso não tenha o Composer em seu ambiente, sugiro ler o seguinte artigo Clique aqui, (*28)
--, (*29)
É necessário que o servidor tenha o suporte a extensão ionCube PHP Loader, (*30)
Para visualizar a existência da extensão nesse ambiente denominado PHP CLI, execute o seguinte comando no terminal, (*31)
php -v
Para visualizar se essa extensão está ativa em seu servidor no ambiente denominado PHP WEB, (*32)
Certique se da presença do arquivo phpinfo.php na raiz do seu projeto, (*33)
<?php phpinfo(); ?>
Caso não exista o arquivo phpinfo.php na raiz do projeto Magento, crie o mesmo adicionado o conteúdo acima, (*34)
Acesse o arquivo pelo browser, (*35)
Em seguida pesquise pelo termo "ionCube PHP Loader", (*36)
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, (*37)
Caso tenha a permissão e queira ativar a extensão, Clique aqui, (*38)
Em "Loader Downloads API", efetue download do pacote compatível com o seu servidor, (*39)
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, (*40)
Clique aqui para ver os processos executados, (*41)
--, (*42)
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, (*43)
https://raw.githubusercontent.com/mozgbrasil/heroku-magento/master/phpinfo-ioncube-encoder10-x86-64-php_56.php, (*44)
--, (*45)
Para utilizar o(s) módulo(s) da MOZG é necessário aceitar o Acordo de licença do usuário final, (*46)
--, (*47)
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, (*48)
--, (*49)
Sugiro efetuar backup da plataforma Magento e do banco de dados, (*50)
--, (*51)
Antes de efetuar qualquer atualização no Magento sempre mantenha o Compiler e o Cache desativado, (*52)
--, (*53)
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, (*54)
{
"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, (*55)
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-bradesco-php_56:dev-master
Você pode verificar se o módulo está instalado, indo ao backend em:, (*56)
STORES -> Configuration -> ADVANCED/Advanced -> Disable Modules Output
--, (*57)
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, (*58)
composer update
Na ocorrência de erro, renomeie a pasta /vendor/mozgbrasil e execute novamente, (*59)
Para checar a data do módulo execute o seguinte comando, (*60)
grep -ri --include=*.json 'time": "' ./vendor/mozgbrasil
--, (*61)
Para desinstalar o módulo execute o comando a seguir no terminal do seu servidor no diretório do seu projeto
composer remove mozgbrasil/magento-bradesco-php_56
--, (*62)
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, (*63)
-
Caso queira desativar os módulos da MOZG renomeie a seguinte pasta app/code/local/Mozg, (*64)
A desativação do módulo pode ser usado para detectar se determinada ocorrência tem relação com o módulo, (*65)
Como configurar o método de pagamento
Para configurar o método de pagamento, acesse no backend em:, (*66)
STORES -> Configuration -> Sales/Payment Methods -> Bradesco (powered by MOZG)
Você terá os campos a seguir, (*67)
Bradesco Meios de Pagamentos - Configurações Padrão
Configurações necessárias
• Modo Teste ou Produção
Deve ser informado o devido ambiente, (*68)
• Merchant ID ou "MID" para o ambiente de teste
Ao se logar em, (*69)
https://homolog.meiosdepagamentobradesco.com.br/gerenciadorapi/login.jsp, (*70)
Na parte superior direita temos essa informação como MID, (*71)
• Chave de Segurança para o ambiente de teste
Em, (*72)
https://homolog.meiosdepagamentobradesco.com.br/gerenciadorapi/meiopagamento/form, (*73)
É possível gerar a chave de segurança caso não tenha definido, (*74)
• Merchant ID para o ambiente de produção
A informação deve ser fornecido pelo Bradesco, (*75)
• Chave de Segurança para o ambiente de produção
A informação deve ser fornecido pelo Bradesco, (*76)
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, (*77)
• Status do pedido: autorização de pagamento
Status dos pedidos após autorização confirmada por uma notificação de AUTORIZAÇÃO da operadora, (*78)
• Status do pedido: pagamento confirmado
Status dos pedidos após captura confirmada por uma notificação de AUTORIZAÇÃO da operadora, (*79)
• Status do pedido: cancelamento de pedido
Status dos pedidos após cancelamento confirmada por uma notificação de CANCELAMENTO da operadora, (*80)
Se as encomendas já estiverem faturadas, não poderão ser canceladas, (*81)
• 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, (*82)
• Status do pedido: Reembolsado
Status dos pedidos após reembolso confirmada por uma notificação de REEMBOLSO da operadora, (*83)
• 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., (*84)
• Status do pedido: pedidos pendentes
Status dos pedidos após notificação de PENDENCIA da operadora, (*85)
• 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, (*86)
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", (*87)
• Criar uma fatura pendente (apenas para captura manual)
Isso criará uma fatura pendente se a notificação de AUTORIZAÇÃO for recebida., (*88)
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., (*89)
• 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, (*90)
• 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, (*91)
• Cancelamento\Reembolso automático quando o pedido é cancelado
Ativar / Desativar reembolso automático ao cancelar um pedido, (*92)
• E-mail da fatura
Ativar / desativar atualizações de e-mails, (*93)
• 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, (*94)
• Ativar log de depuração
Deve ser armazenado os processos do módulo em var/log/, (*95)
O arquivo, (*96)
DATE_mozg.log, (*97)
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, (*98)
O arquivo, (*99)
payment_METHOD.log, (*100)
Avançado: Bradesco 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., (*101)
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., (*102)
• 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., (*103)
• Idioma local (opcional)
Isso substituirá o local do cliente padrão do armazenamento do Magento., (*104)
Deixe vazio para deixar Magento decidir (Ex: nl_NL), (*105)
• 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., (*106)
Boleto Bradesco
• Ativar
Para "ativar" ou "desativar" o uso do método, (*107)
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido, (*108)
• Título
Nome do método que deve ser exibido, (*109)
• 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 ", (*110)
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional, (*111)
• Nome do beneficiário/cedente
Nome do beneficiário/cedente, (*112)
• Carteira
Carteira, (*113)
• Vencimento
Vencimento, (*114)
• Logo
Logo, (*115)
O tamanho da imagem deve ser de 120px largura por 80px de altura, (*116)
• Mensagem de cabeçalho exibida no topo do boleto
Mensagem de cabeçalho exibida no topo do boleto, (*117)
• Instruções (máximo de três linhas)
Instruções (máximo de três linhas), (*118)
• 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, (*119)
• 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, (*120)
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento, (*121)
Transferência Eletrônica Bradesco
• Ativar
Para "ativar" ou "desativar" o uso do método, (*122)
• Ordem de exibição
É a ordem apresentada em métodos de entrega no passo de fechamento de pedido, (*123)
• Título
Nome do método que deve ser exibido, (*124)
• 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 ", (*125)
• Pagamentos específicos aos países
Você deve selecionar os países que o método deve ser funcional, (*126)
• Tipos de Transferência Eletrônica
Selecione as bandeiras liberadas pela operadora, (*127)
• 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, (*128)
• 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, (*129)
• Visível em
Determine a visibilidade desse método de pagamento no frontend e/ou backend do Magento, (*130)
Perguntas mais frequentes "FAQ"
Oque fazer após a instalação do módulo ?
Primeiro deve ser feito o teste sobre o ambiente de homologação, (*131)
Acesse o gerenciador do Bradesco, (*132)
https://homolog.meiosdepagamentobradesco.com.br/gerenciadorapi/login.jsp, (*133)
Acesse: Configurações -> Meios de Pagamentos, (*134)
E obtenha as informações, (*135)
merchantId=???
email=???
chaveSeguranca=???
Atualize essas configurações no método de pagamento no Magento, (*136)
Crie um pedido de teste de R$ 1,00, (*137)
Efetue testes de finalização do pedido, (*138)
Caso seja exibido a transação do pedido, (*139)
Envie e-mail para a Scopus solicitando homologação dessa integração e solicitando os dados para ser usados em ambiente de produção, (*140)
https://meiosdepagamentobradesco.com.br/gerenciadorapi/login.jsp, (*141)
Como é feito a alteração do status dos métodos: Boleto e TEF
Para o processamento do Boleto e TEF, a cada 5 minutos a CRON acessa a operadora para obter o status da transação a fim de efetuar o processamento da notificação, (*142)
O serviço da CRON "mozg_bradesco_trigger_notification" deve estar operando, (*143)
Como configurar a URL de notificação
É mencionado acima o mesmo processo que deve ser executado no acesso a URL de notificação, (*144)
-, (*145)
Devido a possibilidade de incompatibilidade de TLS, entre os ambientes: Bradesco x Loja, (*146)
A Scopus sugere a utilização da seguinte URL de notificação, (*147)
https://meiosdepagamentobradesco.com.br/notification, (*148)
ERRO: "SISTEMA INDISPONIVEL NO MOMENTO
Foi retornado o erro na tentativa de transação por boleto "O valor da Carteira deve conter o valor 25 ou 26" alterei para 26 e funcionou, (*149)
Como alterar a imagem do método
Pode ser adicionado a imagem, contendo qualquer uma das nomenclaturas a seguir, (*150)
- method-boleto.png
- method-eletronictransfer.png
E adicione a imagem no diretório do seu template, (*151)
/skin/frontend//default/images/mozg_bradesco, (*152)
Como é criado o cabeçalho de autorização para a transação
Abaixo temos uma transação com o seguinte cabeçalho de autorização, (*153)
--header 'Authorization: Basic MTAwMDA2ODczOm1WeWFuZzZpZm9GNjNkMWE1UFFqd25GQ3ZrWDM0bV9ZMWVQREpjQms3clE='
Que equivale ao recurso "base64_encode(merchantId:chaveSeguranca)", (*154)
Podemos usar o seguinte serviço para codificar a informação, (*155)
Acesse, (*156)
https://www.base64encode.org/, (*157)
e informe, (*158)
seu_merchantId:sua_chaveSeguranca, (*159)
No meu caso é os dados a seguir, (*160)
"100006873:mVyang6ifoF63d1a5PQjwnFCvkX34m_Y1ePDJcBk7rQ", (*161)
Simulação de autenticação
Abaixo simulação usando o ambiente de teste do bradesco e meus dados, veja que funciona o retorno de autenticação, (*162)
merchantId=100006873
email=suporte@cerebrum.com.br
chaveSeguranca=mVyang6ifoF63d1a5PQjwnFCvkX34m_Y1ePDJcBk7rQ
suporte@cerebrum.com.br:mVyang6ifoF63d1a5PQjwnFCvkX34m_Y1ePDJcBk7rQ, (*163)
curl --request GET https://homolog.meiosdepagamentobradesco.com.br/SPSConsulta/Authentication/100006873 --header 'Content-Type: application/json' --header 'Authorization: Basic c3Vwb3J0ZUBjZXJlYnJ1bS5jb20uYnI6bVZ5YW5nNmlmb0Y2M2QxYTVQUWp3bkZDdmtYMzRtX1kxZVBESmNCazdyUQ==' --data '' --verbose
Simulação de transação para boleto
curl --request POST https://homolog.meiosdepagamentobradesco.com.br/apiboleto/transacao --header 'Content-Type: application/json' --header 'Authorization: Basic MTAwMDA2ODczOm1WeWFuZzZpZm9GNjNkMWE1UFFqd25GQ3ZrWDM0bV9ZMWVQREpjQms3clE=' --data '{
"merchant_id":"100006873",
"meio_pagamento":"300",
"pedido":{
"numero":"145000639",
"valor":10000,
"descricao":"Compra pelo site http://127.0.0.1/public_html/magento-1.9.3.1-dev34/root/"
},
"comprador":{
"nome":"Eula Jackson",
"documento":"25739569000102",
"endereco":{
"cep":"08215070",
"logradouro":"Avenida Córrego do Jacuu",
"numero":"12",
"complemento":"ap. 23 B",
"bairro":"Itaquera",
"cidade":"São Paulo",
"uf":"CE"
},
"ip":"127.0.0.1",
"user_agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0"
},
"boleto":{
"beneficiario":"ACME (American Company Makes Everything)",
"carteira":"25",
"nosso_numero":"145000639",
"data_emissao":"2017-05-25",
"data_vencimento":"2017-06-01",
"valor_titulo":10000,
"url_logotipo":"",
"mensagem_cabecalho":"mensagem de cabecalho",
"tipo_renderizacao":"2",
"instrucoes":{
"instrucao_linha_1":"- instrucao_linha_1",
"instrucao_linha_2":"- instrucao_linha_2",
"instrucao_linha_3":"- instrucao_linha_3"
},
"registro":null
},
"token_request_confirmacao_pagamento":"a784f7b1e854b967da7fc2e2bc91ef2465712196"
}' --verbose
Simulação de transação para transferência eletrônica
curl --request POST https://homolog.meiosdepagamentobradesco.com.br/transf/transacao --header 'Content-Type: application/json' --header 'Authorization: Basic MTAwMDA2ODczOm1WeWFuZzZpZm9GNjNkMWE1UFFqd25GQ3ZrWDM0bV9ZMWVQREpjQms3clE=' --data '{
"merchant_id":"100006873",
"meio_pagamento":"800",
"pedido":{
"numero":"145000641",
"valor":100,
"descricao":"Compra pelo site http://127.0.0.1/public_html/magento-1.9.3.1-dev34/root/"
},
"comprador":{
"nome":"Eula Jackson",
"documento":"25739569000102",
"endereco":{
"cep":"08215070",
"logradouro":"Avenida Córrego do Jacuu",
"numero":"12",
"complemento":"ap. 23 B",
"bairro":"Itaquera",
"cidade":"São Paulo",
"uf":"CE"
},
"ip":"127.0.0.1",
"user_agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0"
},
"token_request_confirmacao_pagamento":"a784f7b1e854b967da7fc2e2bc91ef2465712196"
}' --verbose
Dados de contato - SCOPUS TECNOLOGIA
Sistema de Pagamento Seguro
Suporte Técnico
Scopus Tecnologia
(11) 3909-3482
(11) 3909-3637
kit@scopus.com.br, homologacao@scopus.com.br, comerciobradesco@scopus.com.br, (*164)
Manual
https://homolog.meiosdepagamentobradesco.com.br/manual/Manual_BoletoBancario.pdf, (*165)
https://homolog.meiosdepagamentobradesco.com.br/manual/Manual_ConsultaPedidos.pdf, (*166)
https://homolog.meiosdepagamentobradesco.com.br/manual/Manual_API_Transferencia.pdf, (*167)
Contribuintes
Equipe Mozg, (*168)
License
Comercial License, (*169)
Badges
, (*170)
:cat2:, (*171)