Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 1 of 14
Boleto Bancário Community
 
Julio Vedovatto
Member
 
Total Posts:  33
Joined:  2008-06-18
 

Boa Tarde Pessoal.

Peguei o módulo do boleto bancário de um tópico aqui, que estava utilizando o core do magento para funcionar e passei ele para community, para facilitar em atualizações do magento. Ele utiliza biblioteca de boletos prontos em php, chamada BoletoPHP.

Por enquanto utilizei o boleto do bradesco, caso queira para outro boleto, apenas abra o StandardController.class.php na função gerarAction e alterar o include pro boleto especificado.

Super simples.

[]’s

File Attachments
boleto_community.zip  (File Size: 84KB - Downloads: 1737)
 
Magento Community Magento Community
Magento Community
Magento Community
 
Wagner Felipe
Member
 
Avatar
Total Posts:  75
Joined:  2008-04-01
Jaraguá do Sul
 

Os que baixaram..
Funciona o módulo?

 
Magento Community Magento Community
Magento Community
Magento Community
 
APEofGOD
Sr. Member
 
Avatar
Total Posts:  100
Joined:  2008-05-28
 

Tá longe de ser só abrir o StandardController.class.php ir na função gerarAction e alterar o include pro boleto especificado. Essa é só a primeira etapa de muitas, no caso do boleto BB, tem que se fazer várias alterações no funcoes_bb.php e layout_bb.php para funcionar integrado com o Magento. O bom é que dá para se basear no que foi feito no funcoes_bradesco.php e layout_bradesco.php, mas mesmo assim é trabalhoso. Implementei o boleto do BB, falta só testar. Vou vericar o código de barras gerado em um caixa eletrônico.

De qualquer maneira muito obrigado Julio Vedovatto por migrar o módulo para a community. Após os testes, disponibilizo o boleto BB aqui.

 
Magento Community Magento Community
Magento Community
Magento Community
 
andreladocruz
Guru
 
Total Posts:  322
Joined:  2008-05-07
Brazil
 

Julio,

Show! Parabéns!

APEofGOD,

Parabéns pelo esforço.

Melhor ainda vai ser publicar o código por aqui para os demais não terem que fazer a mesma coisa.

Abraços,

 
Magento Community Magento Community
Magento Community
Magento Community
 
APEofGOD
Sr. Member
 
Avatar
Total Posts:  100
Joined:  2008-05-28
 

Pessoal, como eu havia falado, estava acrescentando o boleto do Banco do Brasil no módulo, só faltava testar. Pois bem, funcionou e confirmei olhando no gerenciador financeiro da minha conta, portanto, estou disponibilizando a versão do módulo com os boletos do Bradesco e do Banco do Brasil, sendo o último o boleto padrão. Acrescentei um arquivo leiame.txt explicando como mudar o boleto padrão.

É bom frisar que fiz pequenas mudanças no layout do boleto do BB em relação ao original do projeto BoletoPhp. Mudei o logotipo do BB apresentado no boleto por um melhor em gif, mas o original em jpg não foi apagado, quem quiser voltar a ele basta alterar as linhas do layout do boleto BB referentes ao logo_empresa.gif para logo_empresa.jpg.

Também alterei a forma como o logotipo da empresa é apresentado no boleto, pois no modelo do BoletoPhp ele é inserido como um background via CSS, o problema é que assim o logotipo aparece no boleto quando ele é gerado, mas ao imprimir na maioria dos navegadores, por ser um background e não uma imagem da página, ele é excluído da impressão, não aparecendo no boleto impresso. Para resolver o problema comentei o código CSS referente ao logo e acrescentei o mesmo como uma imagem via html, assim o logo sempre aparecerá no boleto impresso. Quem quiser voltar a ser como antes, só precisa apagar a linha html da imagem, e descomentar o código CSS.

Isso é tudo, baixem o arquivo em anexo.

File Attachments
boleto_community.zip  (File Size: 82KB - Downloads: 1727)
 
Magento Community Magento Community
Magento Community
Magento Community
 
APEofGOD
Sr. Member
 
Avatar
Total Posts:  100
Joined:  2008-05-28
 

Há um pequeno problema no módulo, que o desenvolvedor poderia corrigir. Ocorre ao se finalizar a compra, o boleto é gerado na mesma página, porém o correto seria ele ser gerado em uma nova página, para que a página de Checkout possa ir para a tela do número do pedido e o cliente receber o e-mail da confirmação do pedido.

Da forma como está, devido o boleto ser gerado na mesma página, o pedido é efetuado, mas o cliente não é direcionado a página com o número do pedido e também não recebe o e-mail de confirmação. Para resolver isso basta gerar o boleto em uma nova página, permitindo que o a página de Checkout vá para a página com o número do pedido.

Alguém sabe como resolver isso?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Julio Vedovatto
Member
 
Total Posts:  33
Joined:  2008-06-18
 

Não muito ortodoxo, mas abre popup e redireciona para pagina de sucesso.

Não quis me aprofundar e descobrir qual action é chamada antes do redirect para fazer abrir popup.

public function redirectAction()
    
{
        
if (isset($_GET['popup']))
            
$this->getResponse()->setBody($this->getLayout()->createBlock('BoletoBancario/standard_redirect')->toHtml());
        else
            exit(
"<script type=\"text/javascript\">
                    if (window.open) {
                        window.open('" 
Mage::getUrl("BoletoBancario/standard/redirect?popup=true") . "','BoletoBancario','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=700');  
                        if (window.parent)
                            window.parent.location = '" 
Mage::getUrl("BoletoBancario/standard/success") . "';
                    }
                    else
                        [removed] = '" 
Mage::getUrl("BoletoBancario/standard/redirect?popup=true") . "';
                </script>"
);
    
}

[]’s

 
Magento Community Magento Community
Magento Community
Magento Community
 
APEofGOD
Sr. Member
 
Avatar
Total Posts:  100
Joined:  2008-05-28
 

Beleza, funcionou 100%, porém tem uma determinada situação que eu não previ e você também. No meu caso usando o Firefox 3, eu clico no botão Place Order, ele abre a janela do boleto, o popup block do FF fecha ela e coloca uma tarja amarela no topo da janela avisando que bloqueou, mas como imediatamente após isso a página é redirecionada para a página de sucesso, mal dá pra notar a tarja de popup bloqueada, quando mais clicar nela para abrir a popup bloqueada, no caso o boleto.

É um problema sério, já que inevitavelmente vai acontecer com muitos clientes, para resolver este problema seria necessária a inclusão de um link para gerar uma segunda via do boleto na página do pedido do cliente, ela poderia aparecer ali na parte de método de pagamento, tanto na página de pedido do frontend (cliente) quanto no backend (administração).

Outra coisa boa seria a inclusão do Meu Número do boleto lá na página do pedido da administração, porque como trata-se de boleto não registrado, a melhor forma de se localizar um boleto específico é pelo Meu Número. Ele aparece no boleto pro cliente, mas não achei registro algum dele na área administrativa.

Você pode fazer isso Julio? Alguém se habilita? Eu infelizmente não programo em PHP confused

 
Magento Community Magento Community
Magento Community
Magento Community
 
Renato!
Jr. Member
 
Total Posts:  15
Joined:  2008-04-22
 
APEofGOD - 12 September 2008 10:35 AM

Beleza, funcionou 100%, porém tem uma determinada situação que eu não previ e você também. No meu caso usando o Firefox 3, eu clico no botão Place Order, ele abre a janela do boleto, o popup block do FF fecha ela e coloca uma tarja amarela no topo da janela avisando que bloqueou, mas como imediatamente após isso a página é redirecionada para a página de sucesso, mal dá pra notar a tarja de popup bloqueada, quando mais clicar nela para abrir a popup bloqueada, no caso o boleto.

É um problema sério, já que inevitavelmente vai acontecer com muitos clientes, para resolver este problema seria necessária a inclusão de um link para gerar uma segunda via do boleto na página do pedido do cliente, ela poderia aparecer ali na parte de método de pagamento, tanto na página de pedido do frontend (cliente) quanto no backend (administração).

Outra coisa boa seria a inclusão do Meu Número do boleto lá na página do pedido da administração, porque como trata-se de boleto não registrado, a melhor forma de se localizar um boleto específico é pelo Meu Número. Ele aparece no boleto pro cliente, mas não achei registro algum dele na área administrativa.

Você pode fazer isso Julio? Alguém se habilita? Eu infelizmente não programo em PHP confused

Ape,

O que da pra fazer aqui é uma implementação em ajax ou apenas a criação de uma layer em css com aplicação de visible ou hidden.
tou baixando o arquivo pra testar.

assim que terminar publico aqui os resultados.

 
Magento Community Magento Community
Magento Community
Magento Community
 
APEofGOD
Sr. Member
 
Avatar
Total Posts:  100
Joined:  2008-05-28
 

Ok, mas não entendi como isso poderia ser feito via CSS com visible ou hiden, o boleto teria que estar carregado para isso, não? Mas ele não carrega dentro da página do Magento. Quanto ao AJAX pode ser que dê certo, faz o boleto carregar em uma popup em AJAX dentro da página do Magento, sem precisar abrir uma nova janela, após o cliente fechar essa popup o sistema redirecionaria para a página de sucesso. É uma idéia que pode dar certo.

Outra seria redirecionar para o boleto só após já aberta a página de sucesso, e não antes, ou adicionar um link para o cliente abrir o boleto na página de sucesso, sem redirecionamento automático. Destas formas o carrinho seria esvaziado e o cliente receberia o e-mail do pedido. Só falta saber se é possível.

Vou ver se consigo colocar o Meu Número na admin do Magento, isso quebra um galhão na hora de saber se um determinado pedido pago com boleto já foi liquidado, para poder enviar a mercadoria.

Boa sorte nos testes!

 
Magento Community Magento Community
Magento Community
Magento Community
 
R. Maeda
Jr. Member
 
Total Posts:  9
Joined:  2008-06-23
 

estou com o mesmo problema, tentando resolver, mas ainda nao consegui uma solução viável.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Julio Vedovatto
Member
 
Total Posts:  33
Joined:  2008-06-18
 

Fiz uma implementação rápida para caso de bloqueadores de popups:

public function redirectAction()
    
{
        
if (isset($_GET['popup']))
            
$this->getResponse()->setBody($this->getLayout()->createBlock('BoletoBancario/standard_redirect')->toHtml());
        else
            exit(
"<script type=\"text/javascript\">
                    if (window.open('" 
Mage::getUrl("BoletoBancario/standard/redirect?popup=true") . "','BoletoBancario','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=700')) {
                        if (window.parent)
                            window.parent.location = '" 
Mage::getUrl("BoletoBancario/standard/success") . "';
                    } else
                        window .location = '" 
Mage::getUrl("BoletoBancario/standard/redirect?popup=true") . "';
                </script>"
);
    
}

Ao tentar abrir a popup e não conseguir, gera o boleto na tela mesmo, com link para voltar para a loja. Caso abra a popup, redireciona para página de sucesso.

É algo apenas paliativo a solução.
O certo seria na página de sucesso colocar junto com o link de impressão do pedido, regerar o boleto. Infelizmente não posso fazer isto, pois este trabalho está sendo pago e o cliente ainda não solicitou tal coisa.

[]’s

 
Magento Community Magento Community
Magento Community
Magento Community
 
Renato!
Jr. Member
 
Total Posts:  15
Joined:  2008-04-22
 
Julio Vedovatto - 22 September 2008 04:36 AM

Fiz uma implementação rápida para caso de bloqueadores de popups:

public function redirectAction()
    
{
        
if (isset($_GET['popup']))
            
$this->getResponse()->setBody($this->getLayout()->createBlock('BoletoBancario/standard_redirect')->toHtml());
        else
            exit(
"<script type=\"text/javascript\">
                    if (window.open('" 
Mage::getUrl("BoletoBancario/standard/redirect?popup=true") . "','BoletoBancario','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=700,height=700')) {
                        if (window.parent)
                            window.parent.location = '" 
Mage::getUrl("BoletoBancario/standard/success") . "';
                    } else
                        window .location = '" 
Mage::getUrl("BoletoBancario/standard/redirect?popup=true") . "';
                </script>"
);
    
}

Ao tentar abrir a popup e não conseguir, gera o boleto na tela mesmo, com link para voltar para a loja. Caso abra a popup, redireciona para página de sucesso.

É algo apenas paliativo a solução.
O certo seria na página de sucesso colocar junto com o link de impressão do pedido, regerar o boleto. Infelizmente não posso fazer isto, pois este trabalho está sendo pago e o cliente ainda não solicitou tal coisa.

[]’s

entendi Júlio,

mas da pra ter uma opção no acompanhamento do produto pra gerar 2 via de boleto? ou gerar a 1 via sempre que necessário?
pode ser que no momento em que foi realizada a compra e o cliente imprimiu o boleto, o papel rasgou ou alguem fez caca em cima.

No meu caso, o ideal não é nem imprimir o boleto no ato da compra, mas pela pagina de acompanhamento do pedido mesmo.

abçs

 
Magento Community Magento Community
Magento Community
Magento Community
 
Helio
Jr. Member
 
Total Posts:  16
Joined:  2008-09-25
 

Ola
Me falta somente duas coisas:
o link para o cliente gerar a 2ª via, ao receber a confirmação e a colocação do CPF ou CNPJ no boleto.
Tem como colocar em portugues o modulo Tax Vap no cliente para ele colocar ali o CNPJ ou CPF, que serviria tambem para se emitir a nota fiscal para o cliente.
Grato

 
Magento Community Magento Community
Magento Community
Magento Community
 
fjaugusto
Jr. Member
 
Total Posts:  3
Joined:  2008-10-06
 

Desculpe minha falta de conhecimento, mas quais os locais que devem ser armazenados os os diretórios zipados?

Abs,

Fabio

EDITADO: Entendi a lógica dos diretórios. Copiar os arquivos/diretórios seguindo a lógica da árvore do módulo zipado.

Sobre o funcionamento: a forma mais “correta” ao meu ver é gerar um link para impressão do boleto na conclusão do pedido.

Entendo que se for possível gerar um link como “GERAR BOLETO” nesta página seria o mais legal. Este link pode ser aberto em outra página (ou não). Feito isso, este módulo fica bastante operacional!

APEofGOD: Quanto ao número do pedido, pelo que percebi, o final do “nosso número” acompanha o número do pedido, então dá para rastrear e dar baixa na compra.

Abs!

 
Magento Community Magento Community
Magento Community
Magento Community
 
APEofGOD
Sr. Member
 
Avatar
Total Posts:  100
Joined:  2008-05-28
 

Infelizmente não, pois é necessário ter o Meu Número completo para localizar um boleto específico, não é possível localizar o boleto apenas com parte do Meu Número (parte essa que é o nº do pedido). Portanto fica complicado localizar um boleto específico de um determinado pedido, já que só dispomos de parte do Meu Número, a outra parte gerada aleatóriamente pelo BoletoPHP nós não temos. Por isso digo que seria bom guardar em algum lugar o Meu Número completo. Qualquer dúvida tenta achar um boleto no seu gerenciador financeiro digitando só a parte do número do pedido.

Tô estudando PHP para ver se implemento isso.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 14