monta_linha_digitavel

Montagem da linha digitvel - Funo tirada do PHPBoleto No mudei nada.

Description

monta_linha_digitavel( $linha ); 

Parameters (1)

0. $linha
The linha.

Usage

  1. if ( !function_exists( 'monta_linha_digitavel' ) ) { 
  2. require_once ABSPATH . PLUGINDIR . 'woocommerce-boleto/includes/banks/bancoob/functions.php'; 
  3.  
  4. // The linha. 
  5. $linha = null; 
  6.  
  7. // NOTICE! Understand what this does before running. 
  8. $result = monta_linha_digitavel($linha); 
  9.  

Defined (12)

The function is defined in the following location(s).

/includes/banks/bancoob/functions.php  
  1. function monta_linha_digitavel($linha) { 
  2. // Posio Contedo 
  3. // 1 a 3 Nmero do banco 
  4. // 4 Cdigo da Moeda - 9 para Real 
  5. // 5 Digito verificador do Cdigo de Barras 
  6. // 6 a 19 Valor (12 inteiros e 2 decimais) 
  7. // 20 a 44 Campo Livre definido por cada banco 
  8.  
  9. // 1. Campo - composto pelo cdigo do banco, cdigo da moeda, as cinco primeiras posies 
  10. // do campo livre e DV (modulo10) deste campo 
  11. $p1 = substr($linha, 0, 4); 
  12. $p2 = substr($linha, 19, 5); 
  13. $p3 = modulo_10("$p1$p2"); 
  14. $p4 = "$p1$p2$p3"; 
  15. $p5 = substr($p4, 0, 5); 
  16. $p6 = substr($p4, 5); 
  17. $campo1 = "$p5.$p6"; 
  18.  
  19. // 2. Campo - composto pelas posi*oes 6 a 15 do campo livre 
  20. // e livre e DV (modulo10) deste campo 
  21. $p1 = substr($linha, 24, 10); 
  22. $p2 = modulo_10($p1); 
  23. $p3 = "$p1$p2"; 
  24. $p4 = substr($p3, 0, 5); 
  25. $p5 = substr($p3, 5); 
  26. $campo2 = "$p4.$p5"; 
  27.  
  28.  
  29. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  30. // e livre e DV (modulo10) deste campo 
  31. $p1 = substr($linha, 34, 10); 
  32. $p2 = modulo_10($p1); 
  33. $p3 = "$p1$p2"; 
  34. $p4 = substr($p3, 0, 5); 
  35. $p5 = substr($p3, 5); 
  36. $campo3 = "$p4.$p5"; 
  37.  
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr($linha, 4, 1); 
  41.  
  42. // 5. Campo composto pelo valor nominal pelo valor nominal do documento, sem 
  43. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  44. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  45. $campo5 = substr($linha, 5, 14); 
  46. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/bb/functions.php  
  1. function monta_linha_digitavel( $linha ) { 
  2. // Posio Contedo 
  3. // 1 a 3 Nmero do banco 
  4. // 4 Cdigo da Moeda - 9 para Real 
  5. // 5 Digito verificador do Cdigo de Barras 
  6. // 6 a 19 Valor (12 inteiros e 2 decimais) 
  7. // 20 a 44 Campo Livre definido por cada banco 
  8.  
  9. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  10. // do campo livre e DV (modulo10) deste campo 
  11. $p1 = substr( $linha, 0, 4 ); 
  12. $p2 = substr( $linha, 19, 5 ); 
  13. $p3 = modulo_10( "$p1$p2" ); 
  14. $p4 = "$p1$p2$p3"; 
  15. $p5 = substr( $p4, 0, 5 ); 
  16. $p6 = substr( $p4, 5 ); 
  17. $campo1 = "$p5.$p6"; 
  18.  
  19. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  20. // e livre e DV (modulo10) deste campo 
  21. $p1 = substr( $linha, 24, 10 ); 
  22. $p2 = modulo_10( $p1 ); 
  23. $p3 = "$p1$p2"; 
  24. $p4 = substr( $p3, 0, 5 ); 
  25. $p5 = substr( $p3, 5 ); 
  26. $campo2 = "$p4.$p5"; 
  27.  
  28. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  29. // e livre e DV (modulo10) deste campo 
  30. $p1 = substr( $linha, 34, 10 ); 
  31. $p2 = modulo_10( $p1 ); 
  32. $p3 = "$p1$p2"; 
  33. $p4 = substr( $p3, 0, 5 ); 
  34. $p5 = substr( $p3, 5 ); 
  35. $campo3 = "$p4.$p5"; 
  36.  
  37. // 4. Campo - digito verificador do codigo de barras 
  38. $campo4 = substr( $linha, 4, 1 ); 
  39.  
  40. // 5. Campo composto pelo valor nominal pelo valor nominal do documento, sem 
  41. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  42. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  43. $campo5 = substr( $linha, 5, 14 ); 
  44.  
  45. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/bradesco/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. // 01-03 -> Cdigo do banco sem o digito 
  4. // 04-04 -> Cdigo da Moeda (9-Real) 
  5. // 05-05 -> Dgito verificador do cdigo de barras 
  6. // 06-09 -> Fator de vencimento 
  7. // 10-19 -> Valor Nominal do Ttulo 
  8. // 20-44 -> Campo Livre (Abaixo) 
  9.  
  10. // 20-23 -> Cdigo da Agencia (sem dgito) 
  11. // 24-05 -> Nmero da Carteira 
  12. // 26-36 -> Nosso Nmero (sem dgito) 
  13. // 37-43 -> Conta do Beneficiário (sem dgito) 
  14. // 44-44 -> Zero (Fixo) 
  15.  
  16.  
  17. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  18. // do campo livre e DV (modulo10) deste campo 
  19.  
  20. $p1 = substr( $codigo, 0, 4 ); // Numero do banco + Carteira 
  21. $p2 = substr( $codigo, 19, 5 ); // 5 primeiras posies do campo livre 
  22. $p3 = modulo_10( "$p1$p2" ); // Digito do campo 1 
  23. $p4 = "$p1$p2$p3"; // Unio 
  24. $campo1 = substr( $p4, 0, 5 ).'.'.substr( $p4, 5 ); 
  25.  
  26. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  27. // e livre e DV (modulo10) deste campo 
  28. $p1 = substr( $codigo, 24, 10 ); //Posies de 6 a 15 do campo livre 
  29. $p2 = modulo_10( $p1 ); //Digito do campo 2 
  30. $p3 = "$p1$p2"; 
  31. $campo2 = substr( $p3, 0, 5 ).'.'.substr( $p3, 5 ); 
  32.  
  33. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  34. // e livre e DV (modulo10) deste campo 
  35. $p1 = substr( $codigo, 34, 10 ); //Posies de 16 a 25 do campo livre 
  36. $p2 = modulo_10( $p1 ); //Digito do Campo 3 
  37. $p3 = "$p1$p2"; 
  38. $campo3 = substr( $p3, 0, 5 ).'.'.substr( $p3, 5 ); 
  39.  
  40. // 4. Campo - digito verificador do codigo de barras 
  41. $campo4 = substr( $codigo, 4, 1 ); 
  42.  
  43. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  44. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  45. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  46. $p1 = substr( $codigo, 5, 4 ); 
  47. $p2 = substr( $codigo, 9, 10 ); 
  48. $campo5 = "$p1$p2"; 
  49.  
  50. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/cef/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. // Posio Contedo 
  4. // 1 a 3 Nmero do banco 
  5. // 4 Cdigo da Moeda - 9 para Real 
  6. // 5 Digito verificador do Cdigo de Barras 
  7. // 6 a 9 Fator de Vencimento 
  8. // 10 a 19 Valor (8 inteiros e 2 decimais) 
  9. // 20 a 44 Campo Livre definido por cada banco (25 caracteres) 
  10.  
  11. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  12. // do campo livre e DV (modulo10) deste campo 
  13. $p1 = substr( $codigo, 0, 4 ); 
  14. $p2 = substr( $codigo, 19, 5 ); 
  15. $p3 = modulo_10( "$p1$p2" ); 
  16. $p4 = "$p1$p2$p3"; 
  17. $p5 = substr( $p4, 0, 5 ); 
  18. $p6 = substr( $p4, 5 ); 
  19. $campo1 = "$p5.$p6"; 
  20.  
  21. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  22. // e livre e DV (modulo10) deste campo 
  23. $p1 = substr( $codigo, 24, 10 ); 
  24. $p2 = modulo_10( $p1 ); 
  25. $p3 = "$p1$p2"; 
  26. $p4 = substr( $p3, 0, 5 ); 
  27. $p5 = substr( $p3, 5 ); 
  28. $campo2 = "$p4.$p5"; 
  29.  
  30. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  31. // e livre e DV (modulo10) deste campo 
  32. $p1 = substr( $codigo, 34, 10 ); 
  33. $p2 = modulo_10( $p1 ); 
  34. $p3 = "$p1$p2"; 
  35. $p4 = substr( $p3, 0, 5 ); 
  36. $p5 = substr( $p3, 5 ); 
  37. $campo3 = "$p4.$p5"; 
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr( $codigo, 4, 1 ); 
  41.  
  42. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  43. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  44. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  45. $p1 = substr( $codigo, 5, 4 ); 
  46. $p2 = substr( $codigo, 9, 10 ); 
  47. $campo5 = "$p1$p2"; 
  48.  
  49. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/cef_sigcb/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. // Posio Contedo 
  4. // 1 a 3 Nmero do banco 
  5. // 4 Cdigo da Moeda - 9 para Real 
  6. // 5 Digito verificador do Cdigo de Barras 
  7. // 6 a 9 Fator de Vencimento 
  8. // 10 a 19 Valor (8 inteiros e 2 decimais) 
  9. // 20 a 44 Campo Livre definido por cada banco (25 caracteres) 
  10.  
  11. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  12. // do campo livre e DV (modulo10) deste campo 
  13. $p1 = substr( $codigo, 0, 4 ); 
  14. $p2 = substr( $codigo, 19, 5 ); 
  15. $p3 = modulo_10( "$p1$p2" ); 
  16. $p4 = "$p1$p2$p3"; 
  17. $p5 = substr( $p4, 0, 5 ); 
  18. $p6 = substr( $p4, 5 ); 
  19. $campo1 = "$p5.$p6"; 
  20.  
  21. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  22. // e livre e DV (modulo10) deste campo 
  23. $p1 = substr( $codigo, 24, 10 ); 
  24. $p2 = modulo_10( $p1 ); 
  25. $p3 = "$p1$p2"; 
  26. $p4 = substr( $p3, 0, 5 ); 
  27. $p5 = substr( $p3, 5 ); 
  28. $campo2 = "$p4.$p5"; 
  29.  
  30. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  31. // e livre e DV (modulo10) deste campo 
  32. $p1 = substr( $codigo, 34, 10 ); 
  33. $p2 = modulo_10( $p1 ); 
  34. $p3 = "$p1$p2"; 
  35. $p4 = substr( $p3, 0, 5 ); 
  36. $p5 = substr( $p3, 5 ); 
  37. $campo3 = "$p4.$p5"; 
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr( $codigo, 4, 1 ); 
  41.  
  42. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  43. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  44. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  45. $p1 = substr( $codigo, 5, 4 ); 
  46. $p2 = substr( $codigo, 9, 10 ); 
  47. $campo5 = "$p1$p2"; 
  48.  
  49. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/cef_sinco/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. // Posio Contedo 
  4. // 1 a 3 Nmero do banco 
  5. // 4 Cdigo da Moeda - 9 para Real 
  6. // 5 Digito verificador do Cdigo de Barras 
  7. // 6 a 9 Fator de Vencimento 
  8. // 10 a 19 Valor (8 inteiros e 2 decimais) 
  9. // 20 a 44 Campo Livre definido por cada banco (25 caracteres) 
  10.  
  11. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  12. // do campo livre e DV (modulo10) deste campo 
  13. $p1 = substr( $codigo, 0, 4 ); 
  14. $p2 = substr( $codigo, 19, 5 ); 
  15. $p3 = modulo_10( "$p1$p2" ); 
  16. $p4 = "$p1$p2$p3"; 
  17. $p5 = substr( $p4, 0, 5 ); 
  18. $p6 = substr( $p4, 5 ); 
  19. $campo1 = "$p5.$p6"; 
  20.  
  21. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  22. // e livre e DV (modulo10) deste campo 
  23. $p1 = substr( $codigo, 24, 10 ); 
  24. $p2 = modulo_10( $p1 ); 
  25. $p3 = "$p1$p2"; 
  26. $p4 = substr( $p3, 0, 5 ); 
  27. $p5 = substr( $p3, 5 ); 
  28. $campo2 = "$p4.$p5"; 
  29.  
  30. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  31. // e livre e DV (modulo10) deste campo 
  32. $p1 = substr( $codigo, 34, 10 ); 
  33. $p2 = modulo_10( $p1 ); 
  34. $p3 = "$p1$p2"; 
  35. $p4 = substr( $p3, 0, 5 ); 
  36. $p5 = substr( $p3, 5 ); 
  37. $campo3 = "$p4.$p5"; 
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr( $codigo, 4, 1 ); 
  41.  
  42. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  43. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  44. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  45. $p1 = substr( $codigo, 5, 4 ); 
  46. $p2 = substr( $codigo, 9, 10 ); 
  47. $campo5 = "$p1$p2"; 
  48.  
  49. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/hsbc/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2. // Posio Contedo 
  3. // 1 a 3 Nmero do banco 
  4. // 4 Cdigo da Moeda - 9 para Real 
  5. // 5 Digito verificador do Cdigo de Barras 
  6. // 6 a 9 Fator de Vencimento 
  7. // 10 a 19 Valor (8 inteiros e 2 decimais) 
  8. // Campo Livre definido por cada banco (25 caracteres) 
  9. // 20 a 26 Cdigo do Beneficiário 
  10. // 27 a 39 Cdigo do Documento 
  11. // 40 a 43 Data de Vencimento em Juliano (mmmy) 
  12. // 44 Cdigo do aplicativo CNR = 2 
  13.  
  14. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  15. // do campo livre e DV (modulo10) deste campo 
  16. $campo1 = substr( $codigo, 0, 4 ) . substr( $codigo, 19, 5 ); 
  17. $campo1 = $campo1 . modulo_10( $campo1 ); 
  18. $campo1 = substr( $campo1, 0, 5 ) . '.' . substr( $campo1, 5, 5 ); 
  19.  
  20. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  21. // e livre e DV (modulo10) deste campo 
  22. $campo2 = substr( $codigo, 24, 2 ) . substr( $codigo, 26, 8 ); 
  23. $campo2 = $campo2 . modulo_10( $campo2 ); 
  24. $campo2 = substr( $campo2, 0, 5 ) . '.' . substr( $campo2, 5, 6 ); 
  25.  
  26. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  27. // e livre e DV (modulo10) deste campo 
  28. $campo3 = substr( $codigo, 34, 5 ) . substr( $codigo, 39, 4 ) . substr( $codigo, 43, 1 ); 
  29. $campo3 = $campo3 . modulo_10( $campo3 ); 
  30. $campo3 = substr( $campo3, 0, 5 ) . '.' . substr( $campo3, 5, 6 ); 
  31.  
  32. // 4. Campo - digito verificador do codigo de barras 
  33. $campo4 = substr( $codigo, 4, 1 ); 
  34.  
  35. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  36. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  37. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  38. $campo5 = substr( $codigo, 5, 4 ) . substr( $codigo, 9, 10 ); 
  39.  
  40. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/itau/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2. // campo 1 
  3. $banco = substr( $codigo, 0, 3 ); 
  4. $moeda = substr( $codigo, 3, 1 ); 
  5. $ccc = substr( $codigo, 19, 3 ); 
  6. $ddnnum = substr( $codigo, 22, 2 ); 
  7. $dv1 = modulo_10( $banco.$moeda.$ccc.$ddnnum ); 
  8. // campo 2 
  9. $resnnum = substr( $codigo, 24, 6 ); 
  10. $dac1 = substr( $codigo, 30, 1 );//modulo_10($agencia.$conta.$carteira.$nnum); 
  11. $dddag = substr( $codigo, 31, 3 ); 
  12. $dv2 = modulo_10( $resnnum.$dac1.$dddag ); 
  13. // campo 3 
  14. $resag = substr( $codigo, 34, 1 ); 
  15. $contadac = substr( $codigo, 35, 6 ); //substr($codigo, 35, 5).modulo_10(substr($codigo, 35, 5)); 
  16. $zeros = substr( $codigo, 41, 3 ); 
  17. $dv3 = modulo_10( $resag.$contadac.$zeros ); 
  18. // campo 4 
  19. $dv4 = substr( $codigo, 4, 1 ); 
  20. // campo 5 
  21. $fator = substr( $codigo, 5, 4 ); 
  22. $valor = substr( $codigo, 9, 10 ); 
  23.  
  24. $campo1 = substr( $banco.$moeda.$ccc.$ddnnum.$dv1, 0, 5 ) . '.' . substr( $banco.$moeda.$ccc.$ddnnum.$dv1, 5, 5 ); 
  25. $campo2 = substr( $resnnum.$dac1.$dddag.$dv2, 0, 5 ) . '.' . substr( $resnnum.$dac1.$dddag.$dv2, 5, 6 ); 
  26. $campo3 = substr( $resag.$contadac.$zeros.$dv3, 0, 5 ) . '.' . substr( $resag.$contadac.$zeros.$dv3, 5, 6 ); 
  27. $campo4 = $dv4; 
  28. $campo5 = $fator.$valor; 
  29.  
  30. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/nossacaixa/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. // Posio Contedo 
  4. // 1 a 3 Nmero do banco 
  5. // 4 Cdigo da Moeda - 9 para Real 
  6. // 5 Digito verificador do Cdigo de Barras 
  7. // 6 a 9 Fator de Vencimento 
  8. // 10 a 19 Valor (8 inteiros e 2 decimais) 
  9. // 20 a 44 Campo Livre definido por cada banco (25 caracteres) 
  10.  
  11. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  12. // do campo livre e DV (modulo10) deste campo 
  13. $p1 = substr( $codigo, 0, 4 ); 
  14. $p2 = substr( $codigo, 19, 5 ); 
  15. $p3 = modulo_10( "$p1$p2" ); 
  16. $p4 = "$p1$p2$p3"; 
  17. $p5 = substr( $p4, 0, 5 ); 
  18. $p6 = substr( $p4, 5 ); 
  19. $campo1 = "$p5.$p6"; 
  20.  
  21. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  22. // e livre e DV (modulo10) deste campo 
  23. $p1 = substr( $codigo, 24, 10 ); 
  24. $p2 = modulo_10( $p1 ); 
  25. $p3 = "$p1$p2"; 
  26. $p4 = substr( $p3, 0, 5 ); 
  27. $p5 = substr( $p3, 5 ); 
  28. $campo2 = "$p4.$p5"; 
  29.  
  30. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  31. // e livre e DV (modulo10) deste campo 
  32. $p1 = substr( $codigo, 34, 10 ); 
  33. $p2 = modulo_10( $p1 ); 
  34. $p3 = "$p1$p2"; 
  35. $p4 = substr( $p3, 0, 5 ); 
  36. $p5 = substr( $p3, 5 ); 
  37. $campo3 = "$p4.$p5"; 
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr( $codigo, 4, 1 ); 
  41.  
  42. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  43. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  44. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  45. $p1 = substr( $codigo, 5, 4 ); 
  46. $p2 = substr( $codigo, 9, 10 ); 
  47. $campo5 = "$p1$p2"; 
  48.  
  49. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/real/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. // Posio Contedo 
  4. // 1 a 3 Nmero do banco 
  5. // 4 Cdigo da Moeda - 9 para Real 
  6. // 5 Digito verificador do Cdigo de Barras 
  7. // 6 a 9 Fator de Vencimento 
  8. // 10 a 19 Valor (8 inteiros e 2 decimais) 
  9. // 20 a 44 Campo Livre definido por cada banco (25 caracteres) 
  10.  
  11. // 1. Campo - composto pelo cdigo do banco, cdigo da moda, as cinco primeiras posies 
  12. // do campo livre e DV (modulo10) deste campo 
  13. $p1 = substr( $codigo, 0, 4 ); 
  14. $p2 = substr( $codigo, 19, 5 ); 
  15. $p3 = modulo_10( "$p1$p2" ); 
  16. $p4 = "$p1$p2$p3"; 
  17. $p5 = substr( $p4, 0, 5 ); 
  18. $p6 = substr( $p4, 5 ); 
  19. $campo1 = "$p5.$p6"; 
  20.  
  21. // 2. Campo - composto pelas posioes 6 a 15 do campo livre 
  22. // e livre e DV (modulo10) deste campo 
  23. $p1 = substr( $codigo, 24, 10 ); 
  24. $p2 = modulo_10( $p1 ); 
  25. $p3 = "$p1$p2"; 
  26. $p4 = substr( $p3, 0, 5 ); 
  27. $p5 = substr( $p3, 5 ); 
  28. $campo2 = "$p4.$p5"; 
  29.  
  30. // 3. Campo composto pelas posicoes 16 a 25 do campo livre 
  31. // e livre e DV (modulo10) deste campo 
  32. $p1 = substr( $codigo, 34, 10 ); 
  33. $p2 = modulo_10( $p1 ); 
  34. $p3 = "$p1$p2"; 
  35. $p4 = substr( $p3, 0, 5 ); 
  36. $p5 = substr( $p3, 5 ); 
  37. $campo3 = "$p4.$p5"; 
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr( $codigo, 4, 1 ); 
  41.  
  42. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  43. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  44. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  45. $p1 = substr( $codigo, 5, 4 ); 
  46. $p2 = substr( $codigo, 9, 10 ); 
  47. $campo5 = "$p1$p2"; 
  48.  
  49. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/santander/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2. // Posio Contedo 
  3. // 1 a 3 Nmero do banco 
  4. // 4 Cdigo da Moeda - 9 para Real ou 8 - outras moedas 
  5. // 5 Fixo "9' 
  6. // 6 a 9 PSK - codigo cliente (4 primeiros digitos) 
  7. // 10 a 12 Restante do PSK (3 digitos) 
  8. // 13 a 19 7 primeiros digitos do Nosso Numero 
  9. // 20 a 25 Restante do Nosso numero (8 digitos) - total 13 (incluindo digito verificador) 
  10. // 26 a 26 IOS 
  11. // 27 a 29 Tipo Modalidade Carteira 
  12. // 30 a 30 Dgito verificador do cdigo de barras 
  13. // 31 a 34 Fator de vencimento (qtdade de dias desde 07/10/1997 at a data de vencimento) 
  14. // 35 a 44 Valor do ttulo 
  15.  
  16. // 1. Primeiro Grupo - composto pelo cdigo do banco, cdigo da moda, Valor Fixo "9" 
  17. // e 4 primeiros digitos do PSK (codigo do cliente) e DV (modulo10) deste campo 
  18. $campo1 = substr( $codigo, 0, 3 ) . substr( $codigo, 3, 1 ) . substr( $codigo, 19, 1 ) . substr( $codigo, 20, 4 ); 
  19. $campo1 = $campo1 . modulo_10( $campo1 ); 
  20. $campo1 = substr( $campo1, 0, 5 ).'.'.substr( $campo1, 5 ); 
  21.  
  22.  
  23.  
  24. // 2. Segundo Grupo - composto pelas 3 ltimas posioes do PSK e 7 primeiros dgitos do Nosso Nmero 
  25. // e DV (modulo10) deste campo 
  26. $campo2 = substr( $codigo, 24, 10 ); 
  27. $campo2 = $campo2 . modulo_10( $campo2 ); 
  28. $campo2 = substr( $campo2, 0, 5 ).'.'.substr( $campo2, 5 ); 
  29.  
  30.  
  31. // 3. Terceiro Grupo - Composto por : Restante do Nosso Numero (6 digitos), IOS, Modalidade da Carteira 
  32. // e DV (modulo10) deste campo 
  33. $campo3 = substr( $codigo, 34, 10 ); 
  34. $campo3 = $campo3 . modulo_10( $campo3 ); 
  35. $campo3 = substr( $campo3, 0, 5 ).'.'.substr( $campo3, 5 ); 
  36.  
  37.  
  38.  
  39. // 4. Campo - digito verificador do codigo de barras 
  40. $campo4 = substr( $codigo, 4, 1 ); 
  41.  
  42.  
  43.  
  44. // 5. Campo composto pelo fator vencimento e valor nominal do documento, sem 
  45. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  46. // tratar de valor zerado, a representacao deve ser 0000000000 (dez zeros). 
  47. $campo5 = substr( $codigo, 5, 4 ) . substr( $codigo, 9, 10 ); 
  48.  
  49. return "$campo1 $campo2 $campo3 $campo4 $campo5"; 
/includes/banks/unibanco/functions.php  
  1. function monta_linha_digitavel( $codigo ) { 
  2.  
  3. $banco = substr( $codigo, 0, 3 ); 
  4. $moeda = substr( $codigo, 3, 1 ); 
  5. $k = substr( $codigo, 4, 1 ); 
  6. $fator = substr( $codigo, 5, 4 ); 
  7. $valor = substr( $codigo, 9, 10 ); 
  8. $cvt = substr( $codigo, 19, 1 ); 
  9. $codigo_cliente = substr( $codigo, 20, 7 ); 
  10. $zero = substr( $codigo, 27, 2 ); 
  11. $nossonumero_dv = substr( $codigo, 29, 15 ); 
  12.  
  13. $p1 = $banco.$moeda.$cvt.substr( $codigo_cliente, 0, 4 ); 
  14. $dv_1 = modulo_10( $p1 ); 
  15. $campo1 = substr( $p1, 0, 5 ).'.'.substr( $p1, -4 ).$dv_1; 
  16.  
  17. $p12 = substr( $codigo_cliente, 4, 3 ).$zero.substr( $nossonumero_dv, 0, 5 ); 
  18. $dv_2 = modulo_10( $p12 ); 
  19. $campo2 = substr( $p12, 0, 5 ).'.'.substr( $p12, -5 ).$dv_2; 
  20.  
  21. $p13 = substr( $nossonumero_dv, 5, 10 ); 
  22. $dv_3 = modulo_10( $p13 ); 
  23. $campo3 = substr( $p13, 0, 5 ).'.'.substr( $p13, -5 ).$dv_3; 
  24.  
  25. $campo4 = $k; 
  26.  
  27. // 5. Campo composto pelo valor nominal pelo valor nominal do documento, sem 
  28. // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se 
  29. // tratar de valor zerado, a representacao deve ser 000 (tres zeros). 
  30. $campo5 = $fator.$valor; 
  31.  
  32. return "$campo1 $campo2 $campo3 $campo4 $campo5";