intopays
Version:
Intopays - Gateway de integração bancária
66 lines (65 loc) • 2.46 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Boleto = void 0;
const FineTypeEnum_1 = require("../enums/FineTypeEnum");
const InterestEnum_1 = require("../enums/InterestEnum");
const DiscountEnum_1 = require("../enums/DiscountEnum");
/**
* Representa um boleto bancário com todos os dados necessários para emissão e integração.
*/
class Boleto {
constructor(data) {
/**
* Tipo de desconto aplicado:
* - `NO_DISCOUNT`: Sem desconto
* - `FIXED_VALUE_UNTIL_INFORMED_DATE`: Valor fixo até a data informada
* - `PERCENTAGE_UNTIL_INFORMED_DATE`: Percentual até a data informada
*/
this.discount1Code = DiscountEnum_1.DiscountEnum.NO_DISCOUNT;
/** Percentual do primeiro desconto */
this.discount1Rate = 0;
/** Valor fixo do primeiro desconto */
this.discount1Value = 0;
/**
* Tipo de desconto aplicado:
* - `NO_DISCOUNT`: Sem desconto
* - `FIXED_VALUE_UNTIL_INFORMED_DATE`: Valor fixo até a data informada
* - `PERCENTAGE_UNTIL_INFORMED_DATE`: Percentual até a data informada
*/
this.discount2Code = DiscountEnum_1.DiscountEnum.NO_DISCOUNT;
/** Percentual do segundo desconto */
this.discount2Rate = 0;
/** Valor fixo do segundo desconto */
this.discount2Value = 0;
/**
* Tipo de multa a ser aplicada:
* - `NO_FINE`: Sem multa
* - `AMOUNT`: Valor fixo
* - `PERCENT`: Percentual sobre o valor do boleto
*/
this.fineCode = FineTypeEnum_1.FineTypeEnum.NO_FINE;
/** Data de início da multa */
this.fineDate = null;
/** Percentual da multa */
this.fineRate = 0;
/** Valor fixo da multa */
this.fineValue = 0;
/**
* Tipo de juros aplicável ao boleto:
* - `AMOUNT_PER_DAY`: Valor fixo por dia de atraso
* - `MONTHLY_RATE`: Percentual mensal de juros
* - `EXEMPT`: Isento de juros
*/
this.interestCode = InterestEnum_1.InterestEnum.EXEMPT;
/** Data de início da cobrança de juros */
this.interestDate = null;
/** Percentual dos juros */
this.interestRate = 0;
/** Valor fixo dos juros */
this.interestValue = 0;
if (data) {
Object.assign(this, data);
}
}
}
exports.Boleto = Boleto;