@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
TypeScript
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