visanet
TypeScript icon, indicating that this package has built-in type declarations

0.0.6 • Public • Published

visanet

Este paquete sirve como reemplazo al sistema integral de pagos en línea ofrecido por ALIGNET, en caso de estar trabajando con Nodejs, el uso del paquete se abstiene a limitantes, las cuales son descritas más abajo.

Instalación

npm i visanet

Configuración

Para configurar y empezar a usar el paquete se necesita tener las llaves publicas de la integración junto a las llaves privadas del comercio y el vector de inicialización, las llaves son RSA, tanto las publicas como las privadas.

import visanet, { config } from 'visanet';
 
config({
  iv: '<<vector de inicialización>>',
  signatureKeyPair: {
    publicKey: '<<llave publica de la integración>>',
    privateKey: '<<llave privada del comercio>>',
  },
  cryptoKeyPair: {
    publicKey: '<<llave publica de la integración>>',
    privateKey: '<<llave privada del comercio>>',
  },
});

Uso

La documentación siguiente usa lo hecho anteriormente a forma de pasos, por lo que al referirse a una variable, sería la existente en un codigo anterior, inclusive para la configuración previamente hecha.

Armado de datos

/**
 * Estos datos son armados de forma independiente de la aplicación
 * que extiende el paquete, el formato esperado es flexible,
 * sin embargo los datos importantes se detallan abajo
 *
 * IMPORTANTE: Este paquete no implementa los impuestos en su envio de datos,
 * si su aplicación debe hacer uso de ellos, extienda o reemplace
 * el uso de este paquete
 */
const applicationData = {
  acquirerId: 0, // Reemplazar con su identificador
  commerceId: 0, // Reemplazar con su identificador
  purchaseOperationNumber: 10100100100,
  purchaseAmount: 10000,
  purchaseCurrencyCode: 858,
  commerceMallId: 1,
  language: 'SP',
  billingFirstName: 'Juan',
  billingLastName: 'Perez',
  billingEMail: 'test@test.com',
  billingAddress: 'Direccion ABC',
  billingZIP: 1234567890,
  billingCity: 'Montevideo',
  billingState: 'Montevideo',
  billingCountry: 'UY',
  billingPhone: '123456789',
  shippingAddress: 'Direccion ABC',
  terminalCode: '00000000',
  reserved1: 'Valor Reservado 123',
  reserved10: 6,
  reserved11: 1111111,
  reserved12: 9090.9090909091,
};

Envio de datos

Los datos una vez estructurados se proceden a enviar de la siguiente forma, la respuesta de esto se deberá usar en algún componente donde se haga el llamado al endpoint dado por la integración para procesar el pago.

const { SESSIONKEY, XMLREQ, DIGITALSIGN } = visanet.VPOSSend(applicationData);
/** Retorna
 *
    SESSIONKEY -> La llave de sesión cifrada.
    XMLREQ -> Los datos en XML cifrados.
    DIGITALSIGN -> La firma digital.
 *
 * /

Recibo y procesamiento de datos

En respuesta de la operación realizada por la integración, recibira un llamado POST con los datos de la transacción, los mismo llegaran en el formato que se detalla abajo, y con ellos puede extraer la información pertinente a su aplicación.

Al responder el conjunto de datos que retorna esta detallado en el kit de integración que proveen al comercio, los datos una vez sean procesados por el paquete se retornaran en formato de objeto de Javascript.

const response = {
  IDCOMMERCE: 0,
  IDACQUIRER: 0,
  XMLRES: '5yy6r9ExSD60...',
  DIGITALSIGN: 'gSbpU_nXTASxeYHtOX-...',
  SESSIONKEY: 'uET3nEmzpr2yk-I...',
};
 
visanet.VPOSResponse(response);

Errores

El error más común que puede encontrase al usar el paquete es:

Not found loaded keys, please run config() before call VPOS methods

Como el mismo lo indica, se debe a que falta cargar las llaves para empezar a usar el paquete.

Readme

Keywords

Package Sidebar

Install

npm i visanet

Weekly Downloads

3

Version

0.0.6

License

MIT

Unpacked Size

37.9 kB

Total Files

20

Last publish

Collaborators

  • econtreras