UNPKG

@nicotordev/flowcl-pagos

Version:

SDK en TypeScript para integrar pagos con la API de Flow.cl de manera sencilla y segura.

111 lines 6.59 kB
import { FlowCancelInvoicePendingPaymentReponse, FlowGetInvoiceDataResponse, FlowGetOverdueInvoicesRequest, FlowGetOverdueInvoicesResponse, FlowRecordExternalPaymentAndMarkInvoicePaidRequest, FlowRecordExternalPaymentAndMarkInvoicePaidResponse, FlowRetryOverdueInvoicePaymentResponse } from '../types/flow'; /** * Este servicio permite obtener los datos de un Importe. */ export default class FlowInvoices { private apiKey; private secretKey; private axiosInstance; get: { /** * Este servicio permite obtener los datos de un Importe. * @param invoiceId ID del Importe. * @returns {Promise<FlowGetInvoiceDataResponse>} Datos del Importe. * @throws {FlowGetInvoiceDataError} Si hay problemas al obtener los datos del Importe. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ normal: (invoiceId: string) => Promise<FlowGetInvoiceDataResponse>; /** * Este servicio permite obtener la lista de invoices vencidos, es decir, aquellos no pagados cuyo due_date este vencido. * @param {FlowGetOverdueInvoicesRequest} data Datos para obtener los invoices vencidos. * @returns {Promise<FlowGetOverdueInvoicesResponse>} Lista de invoices vencidos. * @throws {FlowGetOverdueInvoicesError} Si hay problemas al obtener los invoices vencidos. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ overdue: (data: FlowGetOverdueInvoicesRequest) => Promise<FlowGetOverdueInvoicesResponse>; }; /** * Cancela un Importe (Invoice) pendiente de pago * @param invoiceId ID del Importe * @returns {Promise<FlowCancelInvoicePendingPaymentReponse>} Respuesta de la API * @throws {FlowCancelInvoicePendingPaymentError} Si hay problemas al cancelar el Importe * @throws {FlowAPIError} Si hay problemas con la API de Flow */ cancelPendingPayment: (invoiceId: string) => Promise<FlowCancelInvoicePendingPaymentReponse>; /** * Este servicio permite dar por pagado un Importe (Invoice) cuando el pago no se realiza por Flow. * @param {FlowRecordExternalPaymentAndMarkInvoicePaidRequest} data Datos para registrar el pago externo y marcar el Importe como pagado. * @returns {Promise<FlowRecordExternalPaymentAndMarkInvoicePaidResponse>} Respuesta de la API * @throws {FlowRecordExternalPaymentAndMarkInvoicePaidError} Si hay problemas al registrar el pago externo y marcar el Importe como pagado * @throws {FlowAPIError} Si hay problemas con la API de Flow */ recordExternalPaymentAndMarkInvoicePaid: (data: FlowRecordExternalPaymentAndMarkInvoicePaidRequest) => Promise<FlowRecordExternalPaymentAndMarkInvoicePaidResponse>; /** * Este servicio permite reintentar el cobro de un Invoice vencido. * @param invoiceId ID del Invoice. * @returns {Promise<FlowRetryOverdueInvoicePaymentResponse>} Respuesta de la API. * @throws {FlowRetryOverdueInvoicePaymentError} Si hay problemas al reintentar el cobro del Invoice. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ retryOverdueInvoicePayment: (invoiceId: string) => Promise<FlowRetryOverdueInvoicePaymentResponse>; /** * Constructor de la clase FlowClient. * @param {string} apiKey Clave de API proporcionada por Flow. * @param {string} secretKey Clave secreta proporcionada por Flow. * @param {string}baseURL URL base de la API de Flow. * @throws {FlowAuthenticationError} Si no se proporciona apiKey o secretKey. */ constructor(apiKey: string, secretKey: string, baseURL: string); /** * Realiza una petición a la API de Flow. * @param {string} endpoint URL del endpoint de la API. * @param {string} data Datos a enviar en la petición. * @param {'post' | 'get'} method Método de la petición (POST o GET). * @param {(e: unknown) => never} error Error a lanzar en caso de error. * @returns {Promise<T>} Respuesta de la API. * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {Error} Si hay problemas al realizar la petición. */ private request; /** * Este servicio permite obtener los datos de un Importe. * @param invoiceId ID del Importe. * @returns {Promise<FlowGetInvoiceDataResponse>} Datos del Importe. * @throws {FlowGetInvoiceDataError} Si hay problemas al obtener los datos del Importe. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ private getInvoiceData; /** * Cancela un Importe (Invoice) pendiente de pago * @param invoiceId ID del Importe * @returns {Promise<FlowCancelInvoicePendingPaymentReponse>} Respuesta de la API * @throws {FlowCancelInvoicePendingPaymentError} Si hay problemas al cancelar el Importe * @throws {FlowAPIError} Si hay problemas con la API de Flow */ private cancelInvoicePendingPayment; /** * Este servicio permite dar por pagado un Importe (Invoice) cuando el pago no se realiza por Flow. * @param {FlowRecordExternalPaymentAndMarkInvoicePaidRequest} data Datos para registrar el pago externo y marcar el Importe como pagado. * @returns {Promise<FlowRecordExternalPaymentAndMarkInvoicePaidResponse>} Respuesta de la API * @throws {FlowRecordExternalPaymentAndMarkInvoicePaidError} Si hay problemas al registrar el pago externo y marcar el Importe como pagado * @throws {FlowAPIError} Si hay problemas con la API de Flow */ private _recordExternalPaymentAndMarkInvoicePaid; /** * Este servicio permite obtener la lista de invoices vencidos, es decir, aquellos no pagados cuyo due_date este vencido. * @param {FlowGetOverdueInvoicesRequest} data Datos para obtener los invoices vencidos. * @returns {Promise<FlowGetOverdueInvoicesResponse>} Lista de invoices vencidos. * @throws {FlowGetOverdueInvoicesError} Si hay problemas al obtener los invoices vencidos. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ private getOverdueInvoices; /** * Este servicio permite reintentar el cobro de un Invoice vencido. * @param invoiceId ID del Invoice. * @returns {Promise<FlowRetryOverdueInvoicePaymentResponse>} Respuesta de la API. * @throws {FlowRetryOverdueInvoicePaymentError} Si hay problemas al reintentar el cobro del Invoice. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ private _retryOverdueInvoicePayment; } //# sourceMappingURL=flow.invoices.d.ts.map