@clinpays/paygate

1.0.54 • Public • Published

PAYGATE PAYMENTS 🚀

Cómo instalarlo

npm

npm i @clinpays/paygate

Métodos principales

- Paygate.debug(true)

Visualizar en la consola los registros de log de todos los procesos.

Parámetro Tipo Descripción
true/false Boolean Activa/desactiva el modo debugger

const Paygate = require('@clinpays/paygate');

Paygate.debug(true/false);

- Paygate.dataCollector(account, safeIdentifier, currency)

Ejecutar el data collector para el servicio de antifraude. Este método debe ser llamado en el frontend, es decir en el navegador del cliente, ya que recolectará información relacionada a este. Este método devuelve una promesa que resuelve con un objeto con los ID de sesiones que deben ser enviados en el payload del método payOrder.

Parámetro Requerido Tipo Especificación Formato Descripción
account String - 66107b9c1318da5f6c995357 ID del comercio
safeIdentifier String - 1234567891234567 PAN de la tarjeta sin guiones ni espacios
currency No String ISO 4217 code HNL Moneda de la transacción. Valor por defecto HNL

const Paygate = require('@clinpays/paygate');

async function collector() {
  const result = await Paygate.dataCollector(
    '66107b9c1318da5f6c995357',
    'HNL', 
    '1234567891234567'
  );

  console.log(result);
}
Output: 
{
  sess: 'ID de 32 caracteres' | null,
  bankSess: 'ID de 32 caracteres' | null
}

- Paygate.configure_ecommerce(id, token)

Configurar la cuenta con las credenciales correspondientes para poder realizar cobros. Este método debe ser llamado únicamente en el backend para evitar exponer el token de autenticación.

Parámetro Requerido Tipo Formato Descripción
id String 6610421453866e074b4be7b3 ID del comercio
token String JWT (eyJhbGciOiJIUzI1NiIs...) Token del comercio

const Paygate = require('@clinpays/paygate');

Paygate.configure_ecommerce('6610421453866e074b4be7b3', 'eyJhbGciOiJIUzI1NiIs...');

- Paygate.payOrder(payload)

Realizar el cobo a la tarjeta. Este método devuelve una promesa que resuelve con el resultado del pago o con un mensaje de error.

Contenido del objeto payload:

Datos personales

Parámetro Requerido Tipo Formato Descripción
email C String jorge@gmail.com Correo electrónico del cliente
mobilePhone C String +5049999999 Número telefónico del cliente con código de área y sin guiones ni espacios
customerName C String Jorge Santos Nombre completo del cliente

Datos de la tarjeta

Parámetro Requerido Tipo Formato Descripción
firstName String Jorge Nombre del tarjetahabiente
lastName String Santos Apellido del tarjetahabiente
safeIdentifier String 1234567891234567 PAN de la tarjeta sin guiones ni espacios
validThru String MMYY (1226) Fecha de expiración de la tarjeta
cvv String 999 Código de seguridad de la tarjeta

Detalle del pago

Parámetro Requerido Tipo Especificación Formato Descripción
amount Number - 20.50 Total a cobrar
currency No String ISO 4217 code HNL Moneda de la transacción. Valor por defecto HNL
referenceId String ABCDFG-1010 Referencia única del la orden
description String Pago Paygate Descripción de la orden
orderNumber String 100000000 Número único de orden

Facturación

Parámetro Requerido Tipo Especificación Formato Descripción
b2cc C String ISO 3166-1 alpha-2 HN País de factuación en código de dos letras
billingCountryCode C String ISO 3166-1 Numeric code 340 País de factuación en código numérico
billingState C String ISO 3166-2 FM Estado de factuación
billingCity C String - Tegucigalpa Estado o provincia de facturación
billingAddress1 C String - Barrio Los Hermanos Dirección de facturación
billingPostalCode C String Código ZIP 11101 Código postal de facturación

Servicio de antifraude

Parámetro Requerido Tipo Formato Descripción
sess C String ID de 32 caracteres ID de sesión obtenido en el método dataCollector
bankSess C String ID de 32 caracteres ID de sesión obtenido en el método dataCollector

const Paygate = require('@clinpays/paygate');

const = payload = {
  // Datos personales del cliente
  email: "jorge@gmail.com",
  mobilePhone: "+5049999999",
  customerName: "Jorge Santos",

  // Datos de la tarjeta
  firstName: "Jorge",
  lastName: "Santos",
  safeIdentifier: "4000000000000000",
  validThru: "1226",
  cvv: "999",

  // Detalle del pago
  amount: 20.50,
  currency: "HNL",
  referenceId: "ABCDFG-1010",
  description: "Pago Paygate",
  orderNumber: "100000000",

  // Facturación
  b2cc: "HN",
  billingCountryCode: "340",
  billingState: "FM",
  billingCity: "Tegucigalpa",
  billingAddress1: "Barrio Los Hermanos",
  billingPostalCode: "11101"

  // Servicio de antifraude
  sess: "f45478b8495e4f7098c07bac0b26c3b1",
  bankSess: ""
};

Con async/await

async function pagar() {
  const result = await Paygate.payOrder(payload);

  console.log(result);
}

Con then/catch

function pagar() {
  Paygate.payOrder(payload)
    .then(result => {
     console.log(result);
    })
    .catch(err => {
      console.log(err);
    });
}
Output: 
{
  _id: "661077d38494c40a4318fb31",
  status: "APPOVED" | "DENIED",
  amount: 20.50,
  tax: 0,
  subtotal: 20.50,
  firstName: "Jorge",
  lastName: "Santos",
  safeIdentifier: "4000-00**-****-0000",
  paymentType: "VISA" | "MASTERCARD",
  sequence: 12345,
  transactionID: "AUTH-123",
  createdAt: 2024-01-01T00:00:00.000
}

Utilidades

- Paygate.getCountriesAndStates()

Obtener listado de países y estados/departamentos disponibles

const Paygate = require('@clinpays/paygate');

const countriesAndStates = await Paygate.getCountriesAndStates();

Readme

Keywords

none

Package Sidebar

Install

npm i @clinpays/paygate

Weekly Downloads

21

Version

1.0.54

License

ISC

Unpacked Size

357 kB

Total Files

3

Last publish

Collaborators

  • elvinclinpays
  • oscar_clinpays
  • rj4ck