forked from Danielpk/boletos
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Jonatas Vinicius
committed
Nov 6, 2014
1 parent
b089e0a
commit 1a3293a
Showing
3 changed files
with
90 additions
and
90 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,34 @@ | ||
<?php | ||
// +----------------------------------------------------------------------+ | ||
// | BoletoPhp - Versão Beta | | ||
// | BoletoPhp - Versão Beta | | ||
// +----------------------------------------------------------------------+ | ||
// | Este arquivo está disponível sob a Licença GPL disponível pela Web | | ||
// | Este arquivo está disponível sob a Licença GPL disponível pela Web | | ||
// | em http://pt.wikipedia.org/wiki/GNU_General_Public_License | | ||
// | Você deve ter recebido uma cópia da GNU Public License junto com | | ||
// | esse pacote; se não, escreva para: | | ||
// | Você deve ter recebido uma cópia da GNU Public License junto com | | ||
// | esse pacote; se não, escreva para: | | ||
// | | | ||
// | Free Software Foundation, Inc. | | ||
// | 59 Temple Place - Suite 330 | | ||
// | Boston, MA 02111-1307, USA. | | ||
// +----------------------------------------------------------------------+ | ||
|
||
// +----------------------------------------------------------------------+ | ||
// | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | | ||
// | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | | ||
// | William Schultz e Leandro Maniezo que por sua vez foi derivado do | | ||
// | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | | ||
// | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | | ||
// | | | ||
// | Se vc quer colaborar, nos ajude a desenvolver p/ os demais bancos :-)| | ||
// | Acesse o site do Projeto BoletoPhp: www.boletophp.com.br | | ||
// +----------------------------------------------------------------------+ | ||
|
||
// +----------------------------------------------------------------------------+ | ||
// | Equipe Coordenação Projeto BoletoPhp: <[email protected]> | | ||
// | Equipe Coordenação Projeto BoletoPhp: <[email protected]> | | ||
// | Desenvolvimento Boleto Santander-Banespa : Fabio R. Lenharo | | ||
// +----------------------------------------------------------------------------+ | ||
|
||
|
||
// ------------------------- DADOS DINÂMICOS DO SEU CLIENTE PARA A GERAÇÃO DO BOLETO (FIXO OU VIA GET) -------------------- // | ||
// Os valores abaixo podem ser colocados manualmente ou ajustados p/ formulário c/ POST, GET ou de BD (MySql,Postgre,etc) // | ||
// ------------------------- DADOS DINÂMICOS DO SEU CLIENTE PARA A GERAÇÃO DO BOLETO (FIXO OU VIA GET) -------------------- // | ||
// Os valores abaixo podem ser colocados manualmente ou ajustados p/ formulário c/ POST, GET ou de BD (MySql,Postgre,etc) // | ||
if(!Configure::load('Boletos.boleto_santander_banespa')){ | ||
Configure::load('Boletos.BoletoSantBan'); | ||
} | ||
|
@@ -45,25 +45,25 @@ | |
$valor_cobrado = str_replace(",", ".",$valor_cobrado); | ||
$valor_boleto=number_format($valor_cobrado+$taxa_boleto, 2, ',', ''); | ||
|
||
$dadosboleto["nosso_numero"] = "1234567"; // Nosso numero sem o DV - REGRA: Máximo de 7 caracteres! | ||
$dadosboleto["nosso_numero"] = "1234567"; // Nosso numero sem o DV - REGRA: Máximo de 7 caracteres! | ||
$dadosboleto["numero_documento"] = "12345"; // Num do pedido ou nosso numero | ||
$dadosboleto["data_vencimento"] = $data_venc; // Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA | ||
$dadosboleto["data_documento"] = date("d/m/Y"); // Data de emissão do Boleto | ||
$dadosboleto["data_documento"] = date("d/m/Y"); // Data de emissão do Boleto | ||
$dadosboleto["data_processamento"] = date("d/m/Y"); // Data de processamento do boleto (opcional) | ||
$dadosboleto["valor_boleto"] = $valor_boleto; // Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula | ||
$dadosboleto["valor_boleto"] = $valor_boleto; // Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula | ||
|
||
// DADOS DO SEU CLIENTE | ||
$dadosboleto["sacado"] = "Nome do seu Cliente"; | ||
$dadosboleto["endereco1"] = "Endereço do seu Cliente"; | ||
$dadosboleto["endereco1"] = "Endereço do seu Cliente"; | ||
$dadosboleto["endereco2"] = "Cidade - Estado - CEP: 00000-000"; | ||
|
||
// INFORMACOES PARA O CLIENTE | ||
$dadosboleto["demonstrativo1"] = "Pagamento de Compra na Loja Nonononono"; | ||
$dadosboleto["demonstrativo2"] = "Mensalidade referente a nonon nonooon nononon<br>Taxa bancária - R$ ".number_format($taxa_boleto, 2, ',', ''); | ||
$dadosboleto["demonstrativo2"] = "Mensalidade referente a nonon nonooon nononon<br>Taxa bancária - R$ ".number_format($taxa_boleto, 2, ',', ''); | ||
$dadosboleto["demonstrativo3"] = "BoletoPhp - http://www.boletophp.com.br"; | ||
$dadosboleto["instrucoes1"] = "- Sr. Caixa, cobrar multa de 2% após o vencimento"; | ||
$dadosboleto["instrucoes2"] = "- Receber até 10 dias após o vencimento"; | ||
$dadosboleto["instrucoes3"] = "- Em caso de dúvidas entre em contato conosco: [email protected]"; | ||
$dadosboleto["instrucoes1"] = "- Sr. Caixa, cobrar multa de 2% após o vencimento"; | ||
$dadosboleto["instrucoes2"] = "- Receber até 10 dias após o vencimento"; | ||
$dadosboleto["instrucoes3"] = "- Em caso de dúvidas entre em contato conosco: [email protected]"; | ||
$dadosboleto["instrucoes4"] = " Emitido pelo sistema Projeto BoletoPhp - www.boletophp.com.br"; | ||
|
||
// DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE | ||
|
@@ -74,23 +74,23 @@ | |
$dadosboleto["especie_doc"] = ""; | ||
|
||
|
||
// ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- // | ||
// ---------------------- DADOS FIXOS DE CONFIGURÇÃO DO SEU BOLETO --------------- // | ||
|
||
|
||
// DADOS PERSONALIZADOS - SANTANDER BANESPA | ||
$dadosboleto["codigo_cliente"] = "0707077"; // Código do Cliente (PSK) (Somente 7 digitos) | ||
$dadosboleto["codigo_cliente"] = "0707077"; // Código do Cliente (PSK) (Somente 7 digitos) | ||
$dadosboleto["ponto_venda"] = "1333"; // Ponto de Venda = Agencia | ||
$dadosboleto["carteira"] = "102"; // Cobrança Simples - SEM Registro | ||
$dadosboleto["carteira_descricao"] = "COBRANÇA SIMPLES - CSR"; // Descrição da Carteira | ||
$dadosboleto["carteira"] = "102"; // Cobrança Simples - SEM Registro | ||
$dadosboleto["carteira_descricao"] = "COBRANÇA SIMPLES - CSR"; // Descrição da Carteira | ||
|
||
// SEUS DADOS | ||
$dadosboleto["identificacao"] = "BoletoPhp - Código Aberto de Sistema de Boletos"; | ||
$dadosboleto["identificacao"] = "BoletoPhp - Código Aberto de Sistema de Boletos"; | ||
$dadosboleto["cpf_cnpj"] = ""; | ||
$dadosboleto["endereco"] = "Coloque o endereço da sua empresa aqui"; | ||
$dadosboleto["endereco"] = "Coloque o endereço da sua empresa aqui"; | ||
$dadosboleto["cidade_uf"] = "Cidade / Estado"; | ||
$dadosboleto["cedente"] = "Coloque a Razão Social da sua empresa aqui"; | ||
$dadosboleto["cedente"] = "Coloque a Razão Social da sua empresa aqui"; | ||
|
||
// NÃO ALTERAR! | ||
// NÃO ALTERAR! | ||
include("include/funcoes_santander_banespa.php"); | ||
include("include/layout_santander_banespa.php"); | ||
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,35 @@ | ||
<?php | ||
// +----------------------------------------------------------------------+ | ||
// | BoletoPhp - Versão Beta | | ||
// | BoletoPhp - Versão Beta | | ||
// +----------------------------------------------------------------------+ | ||
// | Este arquivo está disponível sob a Licença GPL disponível pela Web | | ||
// | Este arquivo está disponível sob a Licença GPL disponível pela Web | | ||
// | em http://pt.wikipedia.org/wiki/GNU_General_Public_License | | ||
// | Você deve ter recebido uma cópia da GNU Public License junto com | | ||
// | esse pacote; se não, escreva para: | | ||
// | Você deve ter recebido uma cópia da GNU Public License junto com | | ||
// | esse pacote; se não, escreva para: | | ||
// | | | ||
// | Free Software Foundation, Inc. | | ||
// | 59 Temple Place - Suite 330 | | ||
// | Boston, MA 02111-1307, USA. | | ||
// +----------------------------------------------------------------------+ | ||
|
||
// +----------------------------------------------------------------------+ | ||
// | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | | ||
// | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | | ||
// | William Schultz e Leandro Maniezo que por sua vez foi derivado do | | ||
// | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | | ||
// | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | | ||
// | | | ||
// | Se vc quer colaborar, nos ajude a desenvolver p/ os demais bancos :-)| | ||
// | Acesse o site do Projeto BoletoPhp: www.boletophp.com.br | | ||
// +----------------------------------------------------------------------+ | ||
|
||
// +----------------------------------------------------------------------------+ | ||
// | Equipe Coordenação Projeto BoletoPhp: <[email protected]> | | ||
// | Equipe Coordenação Projeto BoletoPhp: <[email protected]> | | ||
// | Desenvolvimento Boleto Santander-Banespa : Fabio R. Lenharo | | ||
// +----------------------------------------------------------------------------+ | ||
|
||
$codigobanco = "033"; //Antigamente era 353 | ||
$codigo_banco_com_dv = geraCodigoBanco($codigobanco); | ||
$nummoeda = "9"; | ||
$fixo = "9"; // Numero fixo para a posição 05-05 | ||
$fixo = "9"; // Numero fixo para a posição 05-05 | ||
$ios = "0"; // IOS - somente para Seguradoras (Se 7% informar 7, limitado 9%) | ||
// Demais clientes usar 0 (zero) | ||
$fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); | ||
|
@@ -41,11 +41,11 @@ | |
//codigocedente deve possuir 7 caracteres | ||
$codigocliente = formata_numero($dadosboleto["codigo_cliente"],7,0); | ||
|
||
//nosso número (sem dv) é 11 digitos | ||
//nosso número (sem dv) é 11 digitos | ||
$nnum = formata_numero($dadosboleto["nosso_numero"],7,0); | ||
//dv do nosso número | ||
//dv do nosso número | ||
$dv_nosso_numero = modulo_11($nnum,9,0); | ||
// nosso número (com dvs) são 13 digitos | ||
// nosso número (com dvs) são 13 digitos | ||
$nossonumero = "00000".$nnum.$dv_nosso_numero; | ||
|
||
$vencimento = $dadosboleto["data_vencimento"]; | ||
|
@@ -99,7 +99,7 @@ function digitoVerificador_barra($numero) { | |
} | ||
|
||
|
||
// FUNÇÕES | ||
// FUNÇÕES | ||
// Algumas foram retiradas do Projeto PhpBoleto e modificadas para atender as particularidades de cada banco | ||
|
||
function formata_numero($numero,$loop,$insert,$tipo = "geral") { | ||
|
@@ -202,7 +202,7 @@ function fbarcode($valor){ | |
src=img/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img | ||
src=img/p.png width=<?php echo 1?> height=<?php echo $altura?> border=0> | ||
<?php | ||
} //Fim da função | ||
} //Fim da função | ||
|
||
function esquerda($entra,$comp){ | ||
return substr($entra,0,$comp); | ||
|
@@ -249,7 +249,7 @@ function modulo_10($num) { | |
// pega cada numero isoladamente | ||
$numeros[$i] = substr($num,$i-1,1); | ||
// Efetua multiplicacao do numero pelo (falor 10) | ||
// 2002-07-07 01:33:34 Macete para adequar ao Mod10 do Itaú | ||
// 2002-07-07 01:33:34 Macete para adequar ao Mod10 do Itaú | ||
$temp = $numeros[$i] * $fator; | ||
$temp0=0; | ||
foreach (preg_split('//',$temp,-1,PREG_SPLIT_NO_EMPTY) as $k=>$v){ $temp0+=$v; } | ||
|
@@ -263,7 +263,7 @@ function modulo_10($num) { | |
} | ||
} | ||
|
||
// várias linhas removidas, vide função original | ||
// várias linhas removidas, vide função original | ||
// Calculo do modulo 10 | ||
$resto = $numtotal10 % 10; | ||
$digito = 10 - $resto; | ||
|
@@ -280,22 +280,22 @@ function modulo_11($num, $base=9, $r=0) { | |
* Autor: | ||
* Pablo Costa <[email protected]> | ||
* | ||
* Função: | ||
* Função: | ||
* Calculo do Modulo 11 para geracao do digito verificador | ||
* de boletos bancarios conforme documentos obtidos | ||
* da Febraban - www.febraban.org.br | ||
* | ||
* Entrada: | ||
* $num: string numérica para a qual se deseja calcularo digito verificador; | ||
* $num: string numérica para a qual se deseja calcularo digito verificador; | ||
* $base: valor maximo de multiplicacao [2-$base] | ||
* $r: quando especificado um devolve somente o resto | ||
* | ||
* Saída: | ||
* Saída: | ||
* Retorna o Digito verificador. | ||
* | ||
* Observações: | ||
* - Script desenvolvido sem nenhum reaproveitamento de código pré existente. | ||
* - Assume-se que a verificação do formato das variáveis de entrada é feita antes da execução deste script. | ||
* Observações: | ||
* - Script desenvolvido sem nenhum reaproveitamento de código pré existente. | ||
* - Assume-se que a verificação do formato das variáveis de entrada é feita antes da execução deste script. | ||
*/ | ||
|
||
$soma = 0; | ||
|
@@ -330,7 +330,7 @@ function modulo_11($num, $base=9, $r=0) { | |
} | ||
} | ||
|
||
function modulo_11_invertido($num) // Calculo de Modulo 11 "Invertido" (com pesos de 9 a 2 e não de 2 a 9) | ||
function modulo_11_invertido($num) // Calculo de Modulo 11 "Invertido" (com pesos de 9 a 2 e não de 2 a 9) | ||
{ | ||
$ftini = 2; | ||
$fator = $ftfim = 9; | ||
|
@@ -353,29 +353,29 @@ function modulo_11($num, $base=9, $r=0) { | |
|
||
function monta_linha_digitavel($codigo) | ||
{ | ||
// Posição Conteúdo | ||
// 1 a 3 Número do banco | ||
// 4 Código da Moeda - 9 para Real ou 8 - outras moedas | ||
// Posição Conteúdo | ||
// 1 a 3 Nnúmero do banco | ||
// 4 Código da Moeda - 9 para Real ou 8 - outras moedas | ||
// 5 Fixo "9' | ||
// 6 a 9 PSK - codigo cliente (4 primeiros digitos) | ||
// 10 a 12 Restante do PSK (3 digitos) | ||
// 13 a 19 7 primeiros digitos do Nosso Numero | ||
// 20 a 25 Restante do Nosso numero (8 digitos) - total 13 (incluindo digito verificador) | ||
// 26 a 26 IOS | ||
// 27 a 29 Tipo Modalidade Carteira | ||
// 30 a 30 Dígito verificador do código de barras | ||
// 31 a 34 Fator de vencimento (qtdade de dias desde 07/10/1997 até a data de vencimento) | ||
// 35 a 44 Valor do título | ||
// 30 a 30 Dígito verificador do código de barras | ||
// 31 a 34 Fator de vencimento (qtdade de dias desde 07/10/1997 até a data de vencimento) | ||
// 35 a 44 Valor do título | ||
|
||
// 1. Primeiro Grupo - composto pelo código do banco, código da moéda, Valor Fixo "9" | ||
// 1. Primeiro Grupo - composto pelo código do banco, código da moeda, Valor Fixo "9" | ||
// e 4 primeiros digitos do PSK (codigo do cliente) e DV (modulo10) deste campo | ||
$campo1 = substr($codigo,0,3) . substr($codigo,3,1) . substr($codigo,19,1) . substr($codigo,20,4); | ||
$campo1 = $campo1 . modulo_10($campo1); | ||
$campo1 = substr($campo1, 0, 5).'.'.substr($campo1, 5); | ||
|
||
|
||
|
||
// 2. Segundo Grupo - composto pelas 3 últimas posiçoes do PSK e 7 primeiros dígitos do Nosso Número | ||
// 2. Segundo Grupo - composto pelas 3 últimas posiçoes do PSK e 7 primeiros dígitos do Nosso Número | ||
// e DV (modulo10) deste campo | ||
$campo2 = substr($codigo,24,10); | ||
$campo2 = $campo2 . modulo_10($campo2); | ||
|
Oops, something went wrong.