UNPKG

@nicotordev/flowcl-pagos

Version:

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

101 lines 5.94 kB
import { FlowCreateAssociatedMerchantRequest, FlowCreateAssociatedMerchantResponse, FlowDeleteAssociatedMerchantResponse, FlowEditAssociatedMerchantRequest, FlowEditAssociatedMerchantResponse, FlowGetAssociatedMerchantResponse, FlowGetAssociatedMerchantsRequest, FlowGetAssociatedMerchantsResponse } from '../types/flow'; /** * Permite gestionar los comercios asociados * */ export default class FlowMerchants { private apiKey; private secretKey; private axiosInstance; createAssociatedMerchant: (data: FlowCreateAssociatedMerchantRequest) => Promise<FlowCreateAssociatedMerchantResponse>; /** * Este método permite modificar un comercio asociado previamente creado en Flow * @param {FlowEditAssociatedMerchantRequest} data Datos del comercio asociado a modificar * @returns {Promise<FlowEditAssociatedMerchantResponse>} Respuesta de la API de Flow * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowCreateAssociatedMerchantError} Si hay problemas al modificar el comercio asociado. */ editAssociatedMerchant: (data: FlowEditAssociatedMerchantRequest) => Promise<FlowEditAssociatedMerchantResponse>; /** * Este método permite eliminar un comercio asociado previamente creado en Flow * @param {string} id ID del comercio asociado a eliminar * @returns {Promise<FlowDeleteAssociatedMerchantResponse>} Respuesta de la API de Flow * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowCreateAssociatedMerchantError} Si hay problemas al eliminar el comercio asociado. */ deleteAssociatedMerchant: (id: string) => Promise<FlowDeleteAssociatedMerchantResponse>; /** * Este método permite obtener la información de un comercio asociado previamente creado en Flow * */ getAssociatedMerchant: (id: string) => Promise<FlowGetAssociatedMerchantResponse>; /** * Permite obtener la lista de comercios paginada de acuerdo a los parámetros de paginación. Además, se puede definir los siguientes filtros: * filter: filtro por nombre del comercio asociad * status: filtro por estado del comercio asociado * @param {FlowGetAssociatedMerchantsRequest} data Datos de la petición. * @returns {Promise<FlowGetAssociatedMerchantsResponse>} Respuesta de la API. * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowDeleteAssociatedMerchantError} Si hay problemas al realizar la petición. */ getAssociatedMerchants: (data: FlowGetAssociatedMerchantsRequest) => Promise<FlowGetAssociatedMerchantsResponse>; /** * 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 {Record<string, unknown>} data Datos a enviar en la petición. * @param {'post' | 'get'} method Método de la petición (POST o GET). * @param {(err: 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 método permite crear un nuevo comercio asociado en Flow * @param {FlowCreateAssociatedMerchantRequest} data Datos del comercio asociado a crear * @returns {Promise<FlowCreateAssociatedMerchantRequest>} Respuesta de la API de Flow * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowCreateAssociatedMerchantError} Si hay problemas al crear el comercio asociado. */ private _createAssociatedMerchant; /** * Este método permite modificar un comercio asociado previamente creado en Flow * @param {FlowEditAssociatedMerchantRequest} data Datos del comercio asociado a modificar * @returns {Promise<FlowEditAssociatedMerchantResponse>} Respuesta de la API de Flow * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowCreateAssociatedMerchantError} Si hay problemas al modificar el comercio asociado. */ private _editAssociatedMerchant; /** * Este método permite eliminar un comercio asociado previamente creado en Flow * @param {string} id ID del comercio asociado a eliminar * @returns {Promise<FlowDeleteAssociatedMerchantResponse>} Respuesta de la API de Flow * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowCreateAssociatedMerchantError} Si hay problemas al eliminar el comercio asociado. */ private _deleteAssociatedMerchant; /** * Este método permite obtener la información de un comercio asociado previamente creado en Flow * */ private _getAssociatedMerchant; /** * Permite obtener la lista de comercios paginada de acuerdo a los parámetros de paginación. Además, se puede definir los siguientes filtros: * filter: filtro por nombre del comercio asociad * status: filtro por estado del comercio asociado * @param {FlowGetAssociatedMerchantsRequest} data Datos de la petición. * @returns {Promise<FlowGetAssociatedMerchantsResponse>} Respuesta de la API. * @throws {FlowAPIError} Si hay problemas con la API de Flow. * @throws {FlowDeleteAssociatedMerchantError} Si hay problemas al realizar la petición. */ _getAssociatedMerchants(data: FlowGetAssociatedMerchantsRequest): Promise<FlowGetAssociatedMerchantsResponse>; } //# sourceMappingURL=flow.merchants.d.ts.map