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:
FlowGetInvoiceDataResponseid:number(ID de la factura)customerId:string(ID del cliente asociado)amount:number(Monto total de la factura)currency:string(Moneda utilizada)status:number(0impago,1pagado,2anulado)due_date:string(Fecha de vencimiento)paymentLink:string(Enlace de pago, si aplica)
Obtener facturas vencidas
invoices.getOverdue(data: FlowGetOverdueInvoicesRequest): Promise<FlowGetOverdueInvoicesResponse>
- Request:
FlowGetOverdueInvoicesRequestplanId:string(Opcional, filtrar por plan de suscripción)
- Response:
FlowGetOverdueInvoicesResponsetotal: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:
FlowCancelInvoicePendingPaymentReponseid:number(ID de la factura cancelada)status:number(2anulado)
Registrar un pago externo y marcar factura como pagada
invoices.recordExternalPaymentAndMarkInvoicePaid(
data: FlowRecordExternalPaymentAndMarkInvoicePaidRequest
): Promise<FlowRecordExternalPaymentAndMarkInvoicePaidResponse>
- Request:
FlowRecordExternalPaymentAndMarkInvoicePaidRequestinvoiceId:number(ID de la factura)date:string(Fecha de pago en formatoYYYY-MM-DD)comment:string(Opcional, descripción del pago externo)
- Response:
FlowRecordExternalPaymentAndMarkInvoicePaidResponseid:number(ID de la factura)status:number(1pagado)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:
FlowRetryOverdueInvoicePaymentResponseid:number(ID de la factura)status:number(0impago,1pagado,2anulado)next_attempt_date:string(Fecha del próximo intento de cobro, si aplica)
Manejo de Errores
| Error | Descripción |
|---|---|
FlowAPIError | Error genérico de la API de Flow. |
FlowAuthenticationError | Error de autenticación con la API de Flow. |
FlowGetInvoiceDataError | Error al obtener los datos de una factura. |
FlowGetOverdueInvoicesError | Error al obtener la lista de facturas vencidas. |
FlowCancelInvoicePendingPaymentError | Error al cancelar una factura pendiente de pago. |
FlowRecordExternalPaymentAndMarkInvoicePaidError | Error al registrar un pago externo y marcar la factura como pagada. |
FlowRetryOverdueInvoicePaymentError | Error 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.