Saltar al contenido principal

API de Facturación - FlowInvoices

La clase FlowInvoices permite gestionar la facturación en Flow.cl, proporcionando métodos para obtener información de facturas, cancelarlas, registrar pagos externos y reintentar cobros de facturas vencidas.

Inicialización

import Flow from "@nicotordev/flowcl-pagos";

const flow = new Flow("tu_api_key", "tu_secret_key", "sandbox"); // o 'production'
const invoices = flow.invoices;

Métodos Disponibles

Obtener datos de una factura

invoices.get(invoiceId: string): Promise<FlowGetInvoiceDataResponse>
  • Request:
    • invoiceId: string (ID de la factura)
  • Response: FlowGetInvoiceDataResponse
    • id: number (ID de la factura)
    • customerId: string (ID del cliente asociado)
    • amount: number (Monto total de la factura)
    • currency: string (Moneda utilizada)
    • status: number (0 impago, 1 pagado, 2 anulado)
    • due_date: string (Fecha de vencimiento)
    • paymentLink: string (Enlace de pago, si aplica)

Obtener facturas vencidas

invoices.getOverdue(data: FlowGetOverdueInvoicesRequest): Promise<FlowGetOverdueInvoicesResponse>
  • Request: FlowGetOverdueInvoicesRequest
    • planId: string (Opcional, filtrar por plan de suscripción)
  • Response: FlowGetOverdueInvoicesResponse
    • total: number (Número total de facturas vencidas)
    • data: string (Lista de facturas vencidas)

Cancelar una factura pendiente de pago

invoices.cancelPendingPayment(invoiceId: string): Promise<FlowCancelInvoicePendingPaymentReponse>
  • Request:
    • invoiceId: string (ID de la factura a cancelar)
  • Response: FlowCancelInvoicePendingPaymentReponse
    • id: number (ID de la factura cancelada)
    • status: number (2 anulado)

Registrar un pago externo y marcar factura como pagada

invoices.recordExternalPaymentAndMarkInvoicePaid(
data: FlowRecordExternalPaymentAndMarkInvoicePaidRequest
): Promise<FlowRecordExternalPaymentAndMarkInvoicePaidResponse>
  • Request: FlowRecordExternalPaymentAndMarkInvoicePaidRequest
    • invoiceId: number (ID de la factura)
    • date: string (Fecha de pago en formato YYYY-MM-DD)
    • comment: string (Opcional, descripción del pago externo)
  • Response: FlowRecordExternalPaymentAndMarkInvoicePaidResponse
    • id: number (ID de la factura)
    • status: number (1 pagado)
    • outsidePayment: { date: string, comment: string } (Datos del pago externo)

Reintentar el cobro de una factura vencida

invoices.retryOverdueInvoicePayment(invoiceId: string): Promise<FlowRetryOverdueInvoicePaymentResponse>
  • Request:
    • invoiceId: string (ID de la factura a reintentar el cobro)
  • Response: FlowRetryOverdueInvoicePaymentResponse
    • id: number (ID de la factura)
    • status: number (0 impago, 1 pagado, 2 anulado)
    • next_attempt_date: string (Fecha del próximo intento de cobro, si aplica)

Manejo de Errores

ErrorDescripción
FlowAPIErrorError genérico de la API de Flow.
FlowAuthenticationErrorError de autenticación con la API de Flow.
FlowGetInvoiceDataErrorError al obtener los datos de una factura.
FlowGetOverdueInvoicesErrorError al obtener la lista de facturas vencidas.
FlowCancelInvoicePendingPaymentErrorError al cancelar una factura pendiente de pago.
FlowRecordExternalPaymentAndMarkInvoicePaidErrorError al registrar un pago externo y marcar la factura como pagada.
FlowRetryOverdueInvoicePaymentErrorError al reintentar el cobro de una factura vencida.

Para más detalles, visita Flow.cl API Docs.

Nota: Asegúrate de manejar correctamente todas las excepciones en tu aplicación.