2017 © Pedro Peláez
 

magento-module magento-bradesco-php_54

Integração ao bradesco

image

mozgbrasil/magento-bradesco-php_54

Integração ao bradesco

  • Friday, July 27, 2018
  • by mozgbrasil
  • Repository
  • 1 Watchers
  • 0 Stars
  • 20 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 43 % Grown

The README.md

valid XHTML, (*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

Clique para visualizar o vídeo, (*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_54.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_54: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_54

--, (*62)

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, (*63)

  2. 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, (*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/, (*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

Join the chat at https://gitter.im/mozgbrasil Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads Reference Status Dependency Status, (*170)

:cat2:, (*171)

The Versions

27/07 2018

dev-master

9999999-dev http://mozg.com.br

Integração ao bradesco

  Sources   Download

proprietary

The Requires

 

payment magento pagamento cerebrum mozg bradesco

01/03 2018

1.0.0

1.0.0.0 http://mozg.com.br

Integração ao bradesco

  Sources   Download

proprietary

The Requires

 

payment magento pagamento cerebrum mozg bradesco