Skip to content

SDK en TypeScript para integrar pagos con la API de Flow.cl. Facilita la generación de órdenes de pago, validación de transacciones y gestión de reembolsos.

License

Notifications You must be signed in to change notification settings

nicotordev/flowcl-pagos

Repository files navigation

Flow.cl - Cliente API para Node.js

Flow.cl

NPM Version License Build Tests

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: '[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

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: '[email protected]',
  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: '[email protected]',
  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.

About

SDK en TypeScript para integrar pagos con la API de Flow.cl. Facilita la generación de órdenes de pago, validación de transacciones y gestión de reembolsos.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published