intopays
Version:
Intopays - Gateway de integração bancária
154 lines (153 loc) • 5.46 kB
TypeScript
import { IntegrationEnum } from "../enums/IntegrationEnum";
import { StateEnum } from "../enums/StateEnum";
import { FineTypeEnum } from "../enums/FineTypeEnum";
import { InterestEnum } from "../enums/InterestEnum";
import { PaymentStatus } from "../enums/PaymentStatus";
import { DiscountEnum } from "../enums/DiscountEnum";
/**
* Representa um boleto bancário com todos os dados necessários para emissão e integração.
*/
export declare class Boleto {
constructor(data?: Partial<Boleto>);
/** Identificador único do boleto */
id: number;
/** Valor do boleto em centavos */
amount: number;
/** Data de vencimento do boleto */
dueDate: Date;
/** Dias após o vencimento para cancelamento automático */
daysAfterDueDateForCancellation: number;
/** CPF ou CNPJ do pagador */
payerDocument: string;
/** Nome completo do pagador */
payerName: string;
/** E-mail do pagador */
payerEmail: string;
/** Telefone do pagador */
payerPhone: string;
/** CEP do pagador */
payerZipCode: string;
/** Número do endereço do pagador */
payerNumber: string;
/** Complemento do endereço do pagador */
payerComplement: string;
/** Bairro do pagador */
payerNeighborhood: string;
/** Cidade do pagador */
payerCity: string;
/**
* Estado (UF) do pagador.
* Ex: `SP`, `RJ`, `MG`, etc.
* Valores válidos: `AC`, `AL`, `AP`, `AM`, `BA`, `CE`, `DF`, `ES`, `GO`, `MA`, `MT`,
* `MS`, `MG`, `PA`, `PB`, `PR`, `PE`, `PI`, `RJ`, `RN`, `RS`, `RO`, `RR`, `SC`, `SP`, `SE`, `TO`.
*/
payerState: StateEnum;
/** Endereço completo do pagador */
payerAddress: string;
/** Mensagem personalizada (linha 1) */
messageLine1: string;
/** Mensagem personalizada (linha 2) */
messageLine2: string;
/**
* 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
*/
discount1Code: DiscountEnum;
/** Percentual do primeiro desconto */
discount1Rate: number;
/** Valor fixo do primeiro desconto */
discount1Value: number;
/** Data limite para o primeiro desconto */
discount1Date: Date;
/**
* 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
*/
discount2Code: DiscountEnum;
/** Percentual do segundo desconto */
discount2Rate: number;
/** Valor fixo do segundo desconto */
discount2Value: number;
/** Data limite para o segundo desconto */
discount2Date: Date;
/**
* Tipo de multa a ser aplicada:
* - `NO_FINE`: Sem multa
* - `AMOUNT`: Valor fixo
* - `PERCENT`: Percentual sobre o valor do boleto
*/
fineCode: FineTypeEnum;
/** Data de início da multa */
fineDate: Date | null;
/** Percentual da multa */
fineRate: number;
/** Valor fixo da multa */
fineValue: number;
/**
* 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
*/
interestCode: InterestEnum;
/** Data de início da cobrança de juros */
interestDate: Date | null;
/** Percentual dos juros */
interestRate: number;
/** Valor fixo dos juros */
interestValue: number;
/** Nome do beneficiário final do boleto */
finalBeneficiaryName: string;
/** Documento (CPF/CNPJ) do beneficiário final */
finalBeneficiaryDocument: string;
/** CEP do beneficiário final */
finalBeneficiaryZipCode: string;
/** Endereço do beneficiário final */
finalBeneficiaryAddress: string;
/** Bairro do beneficiário final */
finalBeneficiaryNeighborhood: string;
/** Cidade do beneficiário final */
finalBeneficiaryCity: string;
/**
* Estado (UF) do beneficiário final.
* Ex: `SP`, `RJ`, `MG`, etc.
* Valores válidos: `AC`, `AL`, `AP`, `AM`, `BA`, `CE`, `DF`, `ES`, `GO`, `MA`, `MT`,
* `MS`, `MG`, `PA`, `PB`, `PR`, `PE`, `PI`, `RJ`, `RN`, `RS`, `RO`, `RR`, `SC`, `SP`, `SE`, `TO`.
*/
finalBeneficiaryState: StateEnum;
/** Código de barras do boleto */
barcode: string;
/** Linha digitável do boleto */
digitableLine: string;
/** Código QR para pagamento instantâneo (ex: PIX) */
qrcode: string;
/** Código de referência interno do sistema */
referenceCode: string;
/** Código de integração com a instituição bancária */
integrationBankingCode: string;
/**
* Tipo de integração utilizada com a instituição bancária:
* - `SICOOB`
* - `SICREDI`
* - `INTER`
* - `SANTANDER`
* - `BANCODOBRASIL`
* - `BRADESCO`
* - `ITAU`
*/
integrationType: IntegrationEnum;
/**
* Status atual do boleto:
* - `EXPIRED`: Expirado (data de validade final ultrapassada)
* - `OVERDUE`: Vencido (vencimento ultrapassado, mas ainda válido)
* - `OPEN`: Aberto (ainda aguardando pagamento)
* - `PAID`: Pago
* - `CANCELLED`: Cancelado
* - `PROCESSING`: Em processamento (aguardando confirmação bancária)
*/
status?: PaymentStatus;
}