JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q70427F
  • License MIT

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

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 SDK para Node.js

Flow.cl

NPM Version License Tests

Descripción

Este paquete proporciona un SDK 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.