@dueheads/citi-bank-boleto-sdk
Version:
SDK para registro de boletos na API do Citibank via mTLS.
96 lines (95 loc) • 2.65 kB
TypeScript
import { BoletoData } from "./interfaces";
interface Endereco {
cep: string | null;
logradouro: string | null;
numero: string | null;
complemento: string | null;
bairro: string | null;
cidade: string | null;
uf: string | null;
}
interface Desconto {
codigo: '1' | '2';
percentual?: string;
valor?: string;
data_limite: string;
}
interface Juros {
codigo: '1' | '3';
valor_ao_dia?: string;
}
interface Multa {
codigo: '1' | '2';
percentual?: string;
valor?: string;
dias_apos_vencimento?: string;
}
interface Protesto {
codigo: '1';
dias: string;
}
interface PagamentoParcial {
permitido: boolean | null;
quantidade: number | null;
}
export interface BoletoPayload {
dadosBeneficiario: {
identificador: string;
inscricao: string;
tipo: 'F' | 'J';
convenio: string;
nome: string;
};
dados: {
pagador: {
tipo_inscricao: '1' | '2' | null;
inscricao: string;
nome: string;
email: string | null;
endereco: Endereco;
};
sacador: {
nome: string | null;
tipo_inscricao?: '1' | '2' | null;
inscricao?: string | null;
email?: string | null;
endereco?: Endereco | null;
} | null;
documento: {
numero: string;
nosso_numero: string;
especie: string;
valor: string;
data_emissao: string;
data_vencimento: string;
data_processamento: string;
pix_cobranca: string | null;
mensagem: string | null;
pagamento_parcial: PagamentoParcial | null;
protesto: Protesto | null;
multa: Multa | null;
juros: Juros | null;
desconto: Desconto | null;
valor_iof?: string | null;
valor_abatimento?: string | null;
instrucao_baixa?: {
dias: string;
codigo: '1' | '2';
} | null;
};
};
}
/**
* Classe responsável por interpretar e converter dados do formato BoletoPayload
* para o formato esperado pelo CitiBankBoletoSDK (BoletoData).
*/
export declare class DataInterpreter {
/**
* Converte o objeto de dados da sua aplicação para o formato BoletoData do SDK.
* @param payload O objeto de dados no formato da sua aplicação.
* @returns Um objeto no formato BoletoData, pronto para ser usado pelo SDK.
*/
toSdkFormat(payload: BoletoPayload): BoletoData;
private calcularDataEncargo;
}
export {};