Bom Galera. Andei trabalhando em cima deste módulo. Parabéns aos desenvolvedores que o disponibilizarm.
Em relação a segunda via do
boleto creio que eu tenha resolvido o problema. Na verdade na hora de gerar o
boleto pela primeira vez o módulo faz um encriptação do ID do Pedido e gera o hash e logo após passar o hash ele o decriptografa e gera o
boleto.
Na segunda via apenas passando o parâmetro do pedido ele não identifica o
boleto pois ele irá fazer a decriptação na linha 65 "$order_id = $encryption->decrypt(@$this->request->get['order_id']);"
Ou seja, na linha em que ele decripta o hash para gerar a ID da venda por razão do parametro passado ser a propria ID ele não irá identificar o ID do pedido.
A solução que adotei foi adicionar um novo "Bloco" com a função "Finalizar Pagamento" logo após a exibição dos Historicos. Nesse bloco eu chamei a função de encriptar o ID do Pedido e gerar o link correto do
boleto. O ser passado esse hash ele irá gerar o
boleto.
No arquivo "catalog/view/theme/THEMENAME/template/account/order_info.tpl" logo após o bloco que exibe os historicos inseri o seguinte codigo:
Código: Selecionar todos<?php
/**
* Apenas Exibe o Bloco se a Forma de Pagamento for "Boleto Banco Itau" e o Ultimo Status for "Aguardando Pagamento"
*/
if ( ($payment_method == "Boleto Banco Itaú") && ($histories[(sizeof($histories) - 1)]['status'] == "Aguardando Pagamento") ) :
?>
<?php
$this->load->library('encryption'); /* Carrega a Biblioteca de Encriptacao */
$encryption = new Encryption($this->config->get('config_encryption')); /* Inicia a Nova Variavel de Encriptacao */
$idboleto = $encryption->encrypt($order_id); /* Gera a Criptografia de Acordo com o ID do Pedido */
?>
<h2>Finalizar Pagamento</h2>
<table class="list">
<thead>
<tr>
<td class="left">Método de Pagamento</td>
<td class="left">Ação</td>
</tr>
</thead>
<tbody>
<tr>
<td class="left"><?php echo $payment_method; ?></td>
<td class="left"><a href="index.php?route=payment/boleto_itau/callback&order_id=<?php echo $idboleto; ?>" target="_blank">Gerar Segunda Via do Boleto</a></td>
</tr>
</tbody>
</table>
<?php endif; ?>
Espero que tenha ajudado. Estou agora apenas com um problema no
boleto: Ele exibe uma mensagem: Warning: number_format() expects parameter 1 to be double, string given in /home/visualco/public_html/catalog/controller/payment/boleto_itau.php on line 98
Caso eu consiga resolver esse problema voltarei a postar aqui.
Abração!.