Pular para o conteúdo

Fernando Soares - Mantendo sua Tecnologia

Increase font size Decrease font size Default font size
Você está aqui:  Início Fórum Projetos Mamboleto [RESOLVIDO] Enviar dados do cliente para o boleto (Virtuemart)
Pular para o conteúdo
Bem-Vindo, Visitante
Username: Password: Lembrar-me
  • Página:
  • 1

TÓPICO: [RESOLVIDO] Enviar dados do cliente para o boleto (Virtuemart)

[RESOLVIDO] Enviar dados do cliente para o boleto (Virtuemart) 02 Mai 2012 19:41 #5531

  • Marcos Canova
  • Marcos Canova's Avatar
  • OFFLINE
  • Especialista
  • Postagens: 432
  • Thank you received: 4
  • Karma: 12
Olá,

Estava testando o Mamboleto no VM aqui e vi que o código não estava enviando os dados do cliente (endereço, CPF, etc) para o boleto. Fiz uma pesquisa rápida no fórum e não achei solução, aliás achei outras dúvidas como esta...então resolvi dar uma olhada no código e cheguei a esta conclusão abaixo, que para mim funcionou:
<!-- Início Formulário Payment Extra Info Mamboleto  -->
<!-- Versão Setembro/2008 -->
<!-- Funciona com Joomla! 1.5 e VirtueMart 1.1 - por Fernando Soares - http://www.fernandosoares.com.br -->
<!--
/**
* Payment Extra Info do Plug-in do Mamboleto para VirtueMart
* @version 9.0, Setembro/2008
* @author Fernando Soares ( www.fernandosoares.com.br )
* @version $Id: ps_mamboleto.php, v9.0 06/09/2008 $
* @package VirtueMart 1.1
* @copyright Copyright (C) 2008 Fernando Soares. All rights reserved.
*/
-->
 
<?php
 
/* Mostra a opção imprimir boleto se a situação da encomenda for pendente. */
 
/* Pega o arquivo de configuração com os dados do módulo correspondente. */
require_once(CLASSPATH ."payment/ps_mamboleto.cfg.php");
$custo_boleto = number_format(str_replace("," , ".", CUSTO_BLTO_MB), 2, '.', '');
$prazo_blto = PRAZO_BLTO_MB;
$boletomail = EMAIL_ID_MB;
 
// Pega dados de cobrança
$dbbt = new ps_DB;
$qt = "SELECT * FROM `#__vm_user_info` WHERE user_id='".$auth["user_id"]."' AND address_type='BT'";
$dbbt->query($qt);
$dbbt->next_record();
$user_info_id = $dbbt->f("user_info_id");
if( $user_info_id != $d["ship_to_info_id"]) {
  // Pega dados de cobrança do cliente
  $dbst =& new ps_DB;
  $qt = "SELECT * FROM #__vm_user_info WHERE user_info_id='".$d["ship_to_info_id"]."' AND address_type='ST'";
  $dbst->query($qt);
  $dbst->next_record();
}else{
  $dbst = $dbbt;
}
 
 
// Monta valor do boleto
$total = number_format($db->f("order_total"), 2, '.', '');
$total = $total + $custo_boleto;
 
// Pega nome do cliente e e-mail
$cliente = $dbbt->f("first_name")."&nbsp;".$dbbt->f("middle_name")."&nbsp;".$dbbt->f("last_name");
$endereco_cliente = $dbbt->f("address_1")."&nbsp;-&nbsp;".$dbbt->f("address_2")."&nbsp;-&nbsp;".$dbbt->f("zip")."&nbsp;/&nbsp;".$dbbt->f("city")."&nbsp;-&nbsp;".$dbbt->f("state");
$cgc_cpf_cliente = $dbbt->f("fax");
$recipiente_email = $dbbt->f("user_email");
 
// Pega número do pedido para ser usado como nosso número do boleto
$nosso_numero = $order_id;
 
// Pega e monta datas para processamento e comparação
$data_documento = date("d/m/Y", $db->f("cdate"));
$vencimento_numerico = $db->f("cdate")+60*60*24*$prazo_blto;
$vencimento = date("d/m/Y", $vencimento_numerico);
$hoje = time();
 
if($vencimento_numerico >= $hoje){
 
  echo "<font size='2' face='arial,helvetica,sans-serif'><b>CLIQUE NO LOGO DO BANCO PARA GERAR O BOLETO</b></font><br>";
  if($boletomail = '1'){
    echo "<font size='1' face='arial,helvetica,sans-serif'>Este boleto também será enviado a seu e-mail cadastrado</font><br /><br />";
  }
 
  // Pega dados dos boletos
  $database = new ps_DB;
  $q = "SELECT bnid,nome,codigo FROM #__mblto_bancos ORDER BY bnid";
  $database->query($q);
  $id_banco = Array();
  $nome_banco = Array();
  $cod_banco = Array();
 
  while($database->next_record()){
    $id_banco[] = $database->f("bnid");
    $nome_banco[] = $database->f("nome");
    $cod_banco[] =  sprintf("%03d", $database->f("codigo"));
  }
 
  echo '<table align="center"><tr>';
  for($i = 0; $i <= 5; $i++){
    $id = array(MAMBOLETO_MB1, MAMBOLETO_MB2, MAMBOLETO_MB3, MAMBOLETO_MB4, MAMBOLETO_MB5, MAMBOLETO_MB6);
 
    if($id[$i] != "NU"){
 
      // Envia os dados por POST para melhorar a segurança
      if($i == "3"){ 
        echo "</tr><tr>";
      }
      echo '<td><center>';
      echo '<form target="_blank" action="index2.php" method="post">';
      echo '<input type="hidden" name="option" value="com_mamboleto" />';
      echo '<input type="hidden" name="no_html" value="0" />';
      echo '<input type="hidden" name="vencimento" value="'.$vencimento.'" />';
      echo '<input type="hidden" name="nosso_numero" value="'.$nosso_numero.'" />';
      echo '<input type="hidden" name="numero_documento" value="'.$order_id.'" />';
      echo '<input type="hidden" name="data_documento" value="'.$data_documento.'" />';
      echo '<input type="hidden" name="valor_documento" value="'.$total.'" />';
      echo '<input type="hidden" name="id" value="'.$id[$i].'" />';
      echo '<input type="hidden" name="sacado" value="'.$cliente.'" />';
	  echo '<input type="hidden" name="endereco" value="'.$endereco_cliente.'" />';
	  echo '<input type="hidden" name="cgc_cpf" value="'.$cgc_cpf_cliente.'" />';
      if($boletomail = '1'){
        echo '<input type="hidden" name="boletomail" value="'.$boletomail.'" />';
        echo '<input type="hidden" name="recipiente_email" value="'.$recipiente_email.'" />';
        echo '<input type="hidden" name="assunto" value="Boleto Bancário - Pedido No. '.$nosso_numero.'" />';
      }
 
      if($custo_boleto != '0,00' && $custo_boleto != ''){
        echo '<input type="hidden" name="instrucoes_linha5" value="ATENÇÃO: Inclui custo do boleto bancário no valor de R$ '.$custo_boleto.'" />';
      }
 
      echo '<input type="image" src="./administrator/components/com_mamboleto/imagens/'.$cod_banco[$id[$i]-1].'.jpg" name="submit" border="0" alt="Boleto Bancário">';
      echo '</form>';
      echo '</center></td>';
    }
  }
  echo "</tr></table>";
}
?>
 
<!-- Fim Formulário Payment Extra Info Mamboleto  -->

Caso o Mamboleto já esteja instalado (e também a integração com o VM feita), vá até:
Componentes > VM > Métodos de Pagamento > Boleto Bancário (Mamboleto) > Configuração > em "Informações Extra do Pagamento" cole o código acima e salve.

PS.: É preciso estar traduzido com a tradução do Fernando (com CPF-CNPJ).

Abs
Última Edição: 02 Mai 2012 19:56 por Marcos Canova.
O administrador desabilitou o acesso público de escrita.
  • Página:
  • 1
Time to create page: 0.158 seconds