1.0.65 • Published 2 months ago

@clinpays/paygate v1.0.65

Weekly downloads
-
License
ISC
Repository
-
Last release
2 months ago

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ámetroTipoDescripción
true/falseBooleanActiva/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ámetroRequeridoTipoEspecificaciónFormatoDescripción
accountString-66107b9c1318da5f6c995357ID del comercio
safeIdentifierString-1234567891234567PAN de la tarjeta sin guiones ni espacios
currencyNoStringISO 4217 codeHNLMoneda 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.show3dsValidation(redirectData)

Mostrar la pantalla de validación 3DS a través de un modal. Este método recibe un parámetro de tipo string y mostrará una pantalla modal en caso de que el banco emisor de la tarjeta requiera validación adicional de parte del tarjetahabiente.

ParámetroRequeridoTipoFormatoDescripción
redirectDataStringHTML a insertar en iframeHTML con javascript embebido que se inyectará en un iframe
const Paygate = require('@clinpays/paygate');

await Paygate.show3dsValidation('[HTML FORM DATA TRUNCATED FOR BREVITY]');

- 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ámetroRequeridoTipoFormatoDescripción
idString6610421453866e074b4be7b3ID del comercio
tokenStringJWT (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ámetroRequeridoTipoFormatoDescripción
emailCStringjorge@gmail.comCorreo electrónico del cliente
mobilePhoneCString+5049999999Número telefónico del cliente con código de área y sin guiones ni espacios
customerNameCStringJorge SantosNombre completo del cliente

Datos de la tarjeta

ParámetroRequeridoTipoFormatoDescripción
firstNameStringJorgeNombre del tarjetahabiente
lastNameStringSantosApellido del tarjetahabiente
safeIdentifierString1234567891234567PAN de la tarjeta sin guiones ni espacios
validThruStringMMYY (1226)Fecha de expiración de la tarjeta
cvvString999Código de seguridad de la tarjeta

Detalle del pago

ParámetroRequeridoTipoEspecificaciónFormatoDescripción
amountNumber-20.50Total a cobrar
currencyNoStringISO 4217 codeHNLMoneda de la transacción. Valor por defecto HNL
referenceIdStringABCDFG-1010Referencia única del la orden
descriptionStringPago PaygateDescripción de la orden
orderNumberString100000000Número único de orden

Facturación

ParámetroRequeridoTipoEspecificaciónFormatoDescripción
b2ccCStringISO 3166-1 alpha-2HNPaís de factuación en código de dos letras
billingCountryCodeCStringISO 3166-1 Numeric code340País de factuación en código numérico
billingStateCStringISO 3166-2FMEstado de factuación
billingCityCString-TegucigalpaEstado o provincia de facturación
billingAddress1CString-Barrio Los HermanosDirección de facturación
billingPostalCodeCStringCódigo ZIP11101Código postal de facturación

Servicio de antifraude

ParámetroRequeridoTipoFormatoDescripción
sessCStringID de 32 caracteresID de sesión obtenido en el método dataCollector
bankSessCStringID de 32 caracteresID 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();
1.0.65

2 months ago

1.0.62

2 months ago

1.0.61

3 months ago

1.0.60

3 months ago

1.0.63

2 months ago

1.0.59

3 months ago

1.0.58

3 months ago

1.0.56

3 months ago

1.0.54

8 months ago

1.0.53

8 months ago

1.0.52

9 months ago

1.0.49

9 months ago

1.0.48

9 months ago

1.0.47

12 months ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.21

2 years ago

1.0.26

2 years ago

1.0.15

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.8

3 years ago

1.0.6

3 years ago

1.0.4

3 years ago

1.0.11

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago