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.
npm install @nicotordev/flowcl-pagos
yarn add @nicotordev/flowcl-pagos
import Flow from '@nicotordev/flowcl-pagos';
const flow = new Flow(
'tu_api_key',
'tu_secret_key',
'sandbox', // o 'production'
);
const order = await flow.payments.create({
commerceOrder: '123456',
subject: 'Compra de producto',
amount: 10000,
email: '[email protected]',
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
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
const customer = await flow.customers.create{
email: '[email protected]',
name: 'Juan Pérez',
externalId: '123123',
});
console.log('Cliente creado:', customer);
const plan = await flow.plans.create({
name: 'Plan Mensual',
amount: 5000,
currency: 'CLP',
interval: 3, // Monthly,
});
console.log('Plan creado:', plan);
const subscription = await flow.subscriptions.createToPlan({
planId: '1234',
customerId: '5678',
});
console.log('Suscripción creada:', subscription);
const refund = await flow.refunds.create({
refundCommerceOrder: '98765',
receiverEmail: '[email protected]',
amount: 5000,
urlCallBack: 'https://tusitio.com/callback',
});
console.log('Reembolso solicitado:', refund);
const coupon = await flow.coupons.create({
name: 'SomeCouponName',
amount: 5000,
});
console.log('Cupón creado:', coupon);
const subscriptionItem = await flow.subscriptionsItems.create({
name: 'SomeItemName',
currency: 'CLP',
amount: 1000,
});
console.log('Ítem agregado a la suscripción:', subscriptionItem);
const invoice = await flow.invoices.get.normal('someUniqueUUid');
console.log('Factura creada:', invoice);
const settlement = await flow.settlements.getLiquidationById('stl_12345');
console.log('Liquidación:', settlement);
const merchantInfo = await flow.merchants.getAssociatedMerchants();
console.log('Información del comercio:', merchantInfo);
- Node.js 16+
- TypeScript 5+
Las contribuciones son bienvenidas. Por favor, abre un issue o un pull request en el repositorio de GitHub.
Este proyecto está bajo la licencia MIT. Ver el archivo LICENSE para más detalles.