Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Por David CHC
#16657
Olá todos do Forum. Precisei testar Boleto do Bradesco. Com disponibilizaram aqui no forum uma versão para o 1.4.9.3, mas se tentar adicionar no 1.5.1.3 dará problema. Então fiz algumas modificações (poucas) para que funcione também no 1.5.3 (não sei se postei a dica no lugar certo no forum, caso não for, sintam-se a vontade de movê-lo para o local adequado)

Download:
bradesco-1.5.3.zip
Vou indicar as modificações que fiz. Lembrando sempre antes de instalar módulos, fazer backup da sua loja.

admin/controller/payment/boletobradesco.php

Na linha 34 a 52, substitui o código :
Código: Selecionar todos
$this->document->breadcrumbs = array();

$this->document->breadcrumbs[] = array(
 'href'      => HTTPS_SERVER . 'index.php?route=common/home',
 'text'      => 'Inicial',
 'separator' => FALSE
 );

$this->document->breadcrumbs[] = array(
 'href'      => HTTPS_SERVER . 'index.php?route=extension/payment',
 'text'      => 'Pagamentos',
 'separator' => ' :: '
 );

$this->document->breadcrumbs[] = array(
 'href'      => HTTPS_SERVER . 'index.php?route=payment/boletobradesco',
 'text'      => 'Boleto Bradesco',
 'separator' => ' :: '
 );
 
Para :
Código: Selecionar todos
$this->data['breadcrumbs'] = array();

$this->data['breadcrumbs'][] = array(
 'href'      => HTTPS_SERVER . 'index.php?route=common/home',
 'text'      => 'Inicial',
 'separator' => FALSE
 );

$this->data['breadcrumbs'][] = array(
 'href'      => HTTPS_SERVER . 'index.php?route=extension/payment',
 'text'      => 'Pagamentos',
 'separator' => ' :: '
 );

$this->data['breadcrumbs'][] = array(
 'href'      => HTTPS_SERVER . 'index.php?route=payment/boletobradesco',
 'text'      => 'Boleto Bradesco',
 'separator' => ' :: '
 );
 
no arquivo : admin/view/template/payment/boletobradesco.tpl

Depois de :
Código: Selecionar todos
<?php echo $header; ?>
Adicionar :
Código: Selecionar todos
<?php echo $header; ?>


<div id="content">
<div class="breadcrumb">
  <?php foreach ($breadcrumbs as $breadcrumb) { ?>
  <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
  <?php } ?>
</div>
Em : catalog/model/payment/boletobradesco.php

Na linha 3, substituir :
Código: Selecionar todos
public function getMethod($address) {  
Por
Código: Selecionar todos
public function getMethod($address, $total=0) {  
E no mesmo arquivo, ir na linha 21, e substituir:
Código: Selecionar todos
$method_data = array( 
                'id'         => 'boletobradesco',
                'title'      => $this->config->get('boletobradesco_nome'),
            'sort_order' => $this->config->get('boletobradesco_sort_order')
              );
 
por :
Código: Selecionar todos
$method_data = array( 
                'code'         => 'boletobradesco',
                'title'      => $this->config->get('boletobradesco_nome'),
            'sort_order' => $this->config->get('boletobradesco_sort_order')
              );
 
Com essas modificações, aparentemente está funcionando normalmente na versão 1.5.3. Se puderem testar também, para verificar o funcionamento, assim podemos ter uma garantia maior de encontrar possíveis problema, e tentar solucionarmos.

Espero tenha ajudado a quem precise desse módulo.

Abraços
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por David CHC em 01 Mar 2012, 09:30, em um total de 2 vezes.
#16787
Parabens pela iniciativa para a comunidade opencart dos brasileiros..

testando o boleto, saiu valor diferente do pedido, voce sabe por que? nao coloquei descontos
o pedido deu R$ 178,33 mas o boleto saiu apenas R$ 105,00 ????

e outras duvidas:
1 - como colocar uma sigla no campo "Numero de documento" exemplo LOJA00000000 e vai numerando LOJA00000001... LOJA00000002... pois o banco aceita este tipo de entrada.
2 - o layout do bradesco ja faz uns 6 anos pelo proprio programa gerador do bradesco, nao precisa aparecer o campo cpf/cnpj, tem como excluir do boleto este campo?
3 - e o link fica sempre disponivel publicamente, sem precisar se logar pra ver o boleto, isso é bom ou ruim?

obrigada
#16800
Só lembrando Vivian, eu não cheguei a mexer na funcionalidade dele, e sim adaptei pra funcionar na versão 1.5.3. Mas vamos tentar encontrar as soluções :

Sobre o valor do pedido, acabei de simular uma compra, e está aparecendo normal, igual ao pedido feito. Vc pode ver em o resultado, acessando o link da sua loja, e colocando um número do pedido:
Código: Selecionar todos
www.seusite.com.br/boletos/boletobradesco/boleto_bradesco.php?boleto= numero do pedido
1 - Pelo que vi, atualmente o número do documento é o número do pedido. Mas você personalizar isso, indo:

boletos/boletobradesco/boleto_bradesco.php

E na linha 47, fica o numero documento:
Código: Selecionar todos
$dadosboleto["numero_documento"] = $itemId; 
Poderia colocar assim:
Código: Selecionar todos
$dadosboleto["numero_documento"] = 'LOJA0000000'.$itemId; 
2 - Sobre excluir os campos de CPF e CNPJ, creio que isso é do próprio modelo do boleto, creio que não dá para excluir, mas isso não tenho certeza.

3 No caso do link, seria esse aqui:
Código: Selecionar todos
www.seusite.com.br/boletos/boletobradesco/boleto_bradesco.php?boleto=
#16818
$dadosboleto["numero_documento"] = 'LOJA0000000'.$itemId; vai gerar um problema:

LOJA00000001
LOJA00000009
LOJA000000010
LOJA000000011
LOJA00000001000
LOJA00000001234567...

sugiro:

$dadosboleto["numero_documento"] = 'LOJA'. str_pad((int) $itemId,9,"0",STR_PAD_LEFT);

Assim ficará:

LOJA00000001
LOJA00000009
LOJA00000010
LOJA00000011
LOJA00001000
LOJA01234567

---

respondendo a pergunta
3 - e o link fica sempre disponivel publicamente, sem precisar se logar pra ver o boleto, isso é bom ou ruim?
Eu acho que não é problema. Até porque, o máximo que alguém pode fazer com um boleto que não é dele é... PAGAR! :mrgreen:
Avatar do usuário
Por vivian
Mensagens
#16823
valeu pelas respostas,
mas estranho que no seu caso funcionou...
estou usando a loja 1.5.1.3 e escolhi um produto de 830 reais e o boleto apareceu apenas 500 reais..
o que sera que pode ser

instalei copiando todos os arquivos e habilitei e so...
onde ver por que esta saindo valores diferentes do boleto do total da loja?

ah e na area de demonstrativo, tem como incluir "campos" na hora de editar o boleto (na area administrativa mesmo), por exemplo aparecer a listagem dos itens comprados la ?
#16830
Vivian, o teste que fiz também foi com opencart dessa versão. Vi o código, a única coisa que pode dá uma diferença, é se você adicionou na configuração do boleto um desconto (Desconto em %:), fora isso , não vi nada que poderia mexer no valor.

Sobre a segunda questão, você pode adicionar os produtos comprados, exemplo:

Em : boletos/boletobradesco/dados.php

Na última linha, antes de fechar a tag do PHP, você adiciona:
Código: Selecionar todos
$pedidosProdutos = $db->query("SELECT `name`, `quantity`, `price`, `total` FROM " . DB_PREFIX . "`order_product` WHERE order_id = '".$itemId."'");
$resultados = array();
    foreach($pedidosProdutos->rows as $pedidoProduto){
         $resultados[] = sprintf('%s  - R$ %s ', $pedidoProduto['name'], number_format($pedidoProduto['price'], 2, ',', '.'));
    }
$produtosFormatados = '<br /><br />Produtos : <br />'.implode('<br />', $resultados);
 
Ele vai coloca nome do produto, e o valor total desse produto.

E no arquivo - boletos/boletobradesco/boleto_bradesco.php

Na linha 61, você irá encontrar:
Código: Selecionar todos
$dadosboleto["demonstrativo3"] = $BoletoDemoT;
 
Vc irá substituir por:
Código: Selecionar todos
$dadosboleto["demonstrativo3"] =  $produtosFormatados ;
 
#16837
ola amigos
o meu acontece o mesmo problema so que pior
o valor que aparece no boleto é aleatorio e sempre menor
e para testar ja deixei "0" no desconto, deixei em branco, e nada tambem
Avatar do usuário
Por vivian
Mensagens
#16841
quem tiver erro deve ser de algum sistema baixado no forum, pois eu tambem testei o mesmo produto, com o pagamento pagseguro e foi valor errado tambem pra eles
agora onde esta o erro??
possivelmente no link dizia uma versao e baixava outra.. pois baixei tudo do forum,
por isso que gostaria que centralizasse na area de download as ultimas versoes, pois baixei do forum e por isso que deu erro,
quem teve este erro pode ser que baixaram a traducao errada para loja errada...

tem algum lugar onde baixamos a ultima versao do OC ja com a lingua portuguesa-br internamente?
ou que tal incluir os pagamentos e fretes e deixar a versao na area downloads no site?

eu mesma nao sei onde esta o erro.. quem teve este problema tb deve estar sem saber... help
  • 1
  • 2
  • 3
  • 4
  • 5
  • 7

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]