Package Exports
- @nicotordev/flowcl-pagos
- @nicotordev/flowcl-pagos/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nicotordev/flowcl-pagos) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Flow.cl - Cliente API para Node.js
Descripción
Este paquete proporciona un Cliente API en TypeScript para integrar:
- Pagos
- Clientes
- Planes de suscripción
- Suscripciones e ítems de suscripción
- Reembolsos
- Cupones
- Facturas (Invoices)
- Liquidaciones (Settlements)
- Información del comercio (Merchant)
con la API de Flow.cl de manera sencilla y segura.
Instalación
npm install @nicotordev/flowcl-pagos
yarn add @nicotordev/flowcl-pagos
Uso
Importar y configurar el cliente
import Flow from '@nicotordev/flowcl-pagos';
const flow = new Flow(
'tu_api_key',
'tu_secret_key',
'sandbox', // o 'production'
);
Funcionalidades principales
1. Pagos
Crear una orden de pago
const order = await flow.payments.create({
commerceOrder: '123456',
subject: 'Compra de producto',
amount: 10000,
email: 'cliente@example.com',
urlReturn: 'https://tusitio.com/retorno',
urlConfirmation: 'https://tusitio.com/confirmacion',
});
console.log('URL de pago:', order.url + '?token=' + order.token);
// Redireccionar al usuario a order.url + '?token=' + order.token || redirectUrl
Consultar el estado de un pago
const status = await flow.payments.status.byToken('token_de_transaccion');
console.log('Estado del pago:', status.status);
// Se puede usar status.status o status.statusStr
2. Clientes
Crear un cliente
const customer = await flow.customers.create{
email: 'cliente@example.com',
name: 'Juan Pérez',
externalId: '123123',
});
console.log('Cliente creado:', customer);
3. Planes de suscripción
Crear un plan
const plan = await flow.plans.create({
name: 'Plan Mensual',
amount: 5000,
currency: 'CLP',
interval: 3, // Monthly,
});
console.log('Plan creado:', plan);
4. Suscripciones
Crear una suscripción
const subscription = await flow.subscriptions.createToPlan({
planId: '1234',
customerId: '5678',
});
console.log('Suscripción creada:', subscription);
5. Reembolsos
Solicitar un reembolso
const refund = await flow.refunds.create({
refundCommerceOrder: '98765',
receiverEmail: 'example@example.com',
amount: 5000,
urlCallBack: 'https://tusitio.com/callback',
});
console.log('Reembolso solicitado:', refund);
6. Cupones
Crear un cupón
const coupon = await flow.coupons.create({
name: 'SomeCouponName',
amount: 5000,
});
console.log('Cupón creado:', coupon);
7. Ítems de suscripción
Agregar un ítem a una suscripción
const subscriptionItem = await flow.subscriptionsItems.create({
name: 'SomeItemName',
currency: 'CLP',
amount: 1000,
});
console.log('Ítem agregado a la suscripción:', subscriptionItem);
8. Facturas (Invoices)
Obtener una Factura
const invoice = await flow.invoices.get.normal('someUniqueUUid');
console.log('Factura creada:', invoice);
9. Liquidaciones (Settlements)
Obtener una liquidación por ID
const settlement = await flow.settlements.getLiquidationById('stl_12345');
console.log('Liquidación:', settlement);
10. Información del comercio (Merchant)
Obtener información de comercios
const merchantInfo = await flow.merchants.getAssociatedMerchants();
console.log('Información del comercio:', merchantInfo);
Requisitos
- Node.js 16+
- TypeScript 5+
Contribuciones
Las contribuciones son bienvenidas. Por favor, abre un issue o un pull request en el repositorio de GitHub.
Licencia
Este proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.