Skip to content

Commit

Permalink
feat: adicionado tipoBoleto CARTAO_DE_CREDITO
Browse files Browse the repository at this point in the history
  • Loading branch information
edniemeyer committed Apr 14, 2020
1 parent b85e2f9 commit 402caa0
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions src/boleto-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ exports.identificarTipoBoleto = (codigo) => {
codigo = codigo.replace(/[^0-9]/g, '');

if (typeof codigo !== 'string') throw new TypeError('Insira uma string válida!');

if (codigo.substr(0, 1) == '8') {

if (codigo.substr(-14) == '00000000000000') {
return 'CARTAO_DE_CREDITO';
} else if (codigo.substr(0, 1) == '8') {
if (codigo.substr(1, 1) == '1') {
return 'ARRECADACAO_PREFEITURA';
} else if (codigo.substr(1, 1) == '2') {
Expand All @@ -62,7 +64,7 @@ exports.identificarTipoBoleto = (codigo) => {
return 'OUTROS';
} else if (codigo.substr(1, 1) == '7') {
return 'ARRECADACAO_TAXAS_DE_TRANSITO';
}
}
} else {
return 'BANCO';
}
Expand Down Expand Up @@ -142,13 +144,13 @@ exports.identificarData = (codigo, tipoCodigo) => {
dataBoleto.setHours(23, 54, 59);

if (tipoCodigo === 'CODIGO_DE_BARRAS') {
if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
fatorData = codigo.substr(5, 4)
} else {
fatorData = '0';
}
} else if (tipoCodigo === 'LINHA_DIGITAVEL') {
if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
fatorData = codigo.substr(33, 4)
} else {
fatorData = '0';
Expand Down Expand Up @@ -226,7 +228,7 @@ exports.identificarValor = (codigo, tipoCodigo) => {
let valorFinal;

if (tipoCodigo == 'CODIGO_DE_BARRAS') {
if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
valorBoleto = codigo.substr(9, 10);
valorFinal = valorBoleto.substr(0, 8) + '.' + valorBoleto.substr(8, 2);

Expand All @@ -240,7 +242,7 @@ exports.identificarValor = (codigo, tipoCodigo) => {
}

} else if (tipoCodigo == 'LINHA_DIGITAVEL') {
if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
valorBoleto = codigo.substr(37);
valorFinal = valorBoleto.substr(0, 8) + '.' + valorBoleto.substr(8, 2);

Expand Down Expand Up @@ -301,7 +303,7 @@ exports.codBarras2LinhaDigitavel = (codigo, formatada) => {

let resultado = '';

if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
const novaLinha = codigo.substr(0, 4) + codigo.substr(19, 25) + codigo.substr(4, 1) + codigo.substr(5, 14);

const bloco1 = novaLinha.substr(0, 9) + this.calculaMod10(novaLinha.substr(0, 9));
Expand Down Expand Up @@ -372,7 +374,7 @@ exports.linhaDigitavel2CodBarras = (codigo) => {

let resultado = '';

if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
resultado = codigo.substr(0, 4) +
codigo.substr(32, 1) +
codigo.substr(33, 14) +
Expand Down Expand Up @@ -441,7 +443,7 @@ exports.validarCodigoComDV = (codigo, tipoCodigo) => {
if (tipoCodigo === 'LINHA_DIGITAVEL') {
tipoBoleto = this.identificarTipoBoleto(codigo, 'LINHA_DIGITAVEL');

if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
const bloco1 = codigo.substr(0, 9) + this.calculaMod10(codigo.substr(0, 9));
const bloco2 = codigo.substr(10, 10) + this.calculaMod10(codigo.substr(10, 10));
const bloco3 = codigo.substr(21, 10) + this.calculaMod10(codigo.substr(21, 10));
Expand Down Expand Up @@ -485,7 +487,7 @@ exports.validarCodigoComDV = (codigo, tipoCodigo) => {
} else if (tipoCodigo === 'CODIGO_DE_BARRAS') {
tipoBoleto = this.identificarTipoBoleto(codigo, 'CODIGO_DE_BARRAS');

if (tipoBoleto == 'BANCO') {
if (tipoBoleto == 'BANCO' || tipoBoleto == 'CARTAO_DE_CREDITO') {
const DV = this.calculaDVCodBarras(codigo, 4, 11);
resultado = codigo.substr(0, 4) + DV + codigo.substr(5);
} else {
Expand Down

0 comments on commit 402caa0

Please sign in to comment.