UNPKG

efi-easy-pix

Version:

A simple Node.js module for integrating with Efipay's PIX API

142 lines (126 loc) 4.78 kB
declare module 'efi-easy-pix' { export interface EfipayConfig { clientId: string; clientSecret: string; certificatePath: string; sandbox?: boolean; } export interface WebhookConfig { ngrokToken: string; port?: number; certificatePath: string; sandbox?: boolean; } export interface QRCode { content: string; image: { base64: string; toBuffer(): Buffer; }; } export interface PIXData { valor: string; pagador: { chave: string; infoPagador?: string; }; favorecido: { chave: string; }; } export interface ChargeData { calendario: { expiracao?: number; dataDeVencimento?: string; validadeAposVencimento?: number; }; devedor: { cpf?: string; cnpj?: string; nome: string; logradouro?: string; cidade?: string; uf?: string; cep?: string; }; valor: { original: string; multa?: { modalidade: number; valorPerc: string; }; juros?: { modalidade: number; valorPerc: string; }; desconto?: { modalidade: number; descontoDataFixa?: Array<{ data: string; valorPerc: string; }>; }; }; chave: string; solicitacaoPagador: string; } export interface RefundData { valor: string; } export interface ListParams { inicio: string; fim: string; status?: string; cpf?: string; cnpj?: string; } export class EfipayClient { constructor(config: EfipayConfig); // PIX Send Methods sendPix(idEnvio: string, pixData: PIXData): Promise<any>; getSentPixByE2eId(e2eId: string): Promise<any>; getSentPixByIdEnvio(idEnvio: string): Promise<any>; listSentPix(params: ListParams): Promise<any>; // QR Code Methods generateQRCode(chargeData: ChargeData): Promise<QRCode>; generateQRCodeWithDueDate(chargeData: ChargeData): Promise<QRCode>; getQRCodeDetails(qrCode: QRCode): Promise<any>; payQrCode(idEnvio: string, paymentData: PIXData): Promise<any>; // PIX Charge Methods createCharge(chargeData: ChargeData): Promise<any>; createChargeWithTxid(txid: string, chargeData: ChargeData): Promise<any>; updateCharge(txid: string, chargeData: Partial<ChargeData>): Promise<any>; getCharge(txid: string, revision?: number): Promise<any>; listCharges(params: ListParams): Promise<any>; // PIX Charge with Due Date Methods createDueDateCharge(txid: string, chargeData: ChargeData): Promise<any>; updateDueDateCharge(txid: string, chargeData: Partial<ChargeData>): Promise<any>; getDueDateCharge(txid: string, revision?: number): Promise<any>; listDueDateCharges(params: ListParams): Promise<any>; // PIX Transaction Methods getPixTransaction(e2eId: string, showBankCode?: boolean): Promise<any>; listPixTransactions(params: ListParams): Promise<any>; requestRefund(e2eId: string, refundId: string, refundData: RefundData): Promise<any>; getRefund(e2eId: string, refundId: string): Promise<any>; // Webhook Methods configureWebhook(chave: string, webhookUrl: string, skipMtls?: boolean): Promise<any>; getWebhookInfo(chave: string): Promise<any>; listWebhooks(params: ListParams): Promise<any>; deleteWebhook(chave: string): Promise<any>; resendWebhook(type: string, e2eids: string[]): Promise<any>; // Automatic PIX Webhook Methods configureAutoPixWebhook(webhookUrl: string): Promise<any>; getAutoPixWebhookInfo(): Promise<any>; deleteAutoPixWebhook(): Promise<any>; // Automatic PIX Charge Webhook Methods configureAutoPixChargeWebhook(webhookUrl: string): Promise<any>; getAutoPixChargeWebhookInfo(): Promise<any>; deleteAutoPixChargeWebhook(): Promise<any>; } export class WebhookHandler { constructor(config: WebhookConfig); start(): Promise<string>; stop(): Promise<void>; on(event: 'pixReceived' | 'pixRefund' | 'pixSent', listener: (data: any) => void): void; } }