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.