1. Inicio
  2. Librerías
  3. Librerías
  4. Node.js – Express

Node.js – Express

Introducción

Recibe pagos utilizando la librería de Sr. Pago para Node/Express. La misma consiste en una aplicación Express, al correr la misma levanta un backend y un front-end con un formulario de pago.

Recibe pagos con tarjeta utilizado la librería de Sr.Pago

La librería incluye algunas utilidades que te facilitan la tokenización de tarjeta y posterior cifrado del mensaje requerido para crear pagos con tarjetas, puedes leer más aquí.

La misma te permite:

  • 1. Tokenizar una tarjeta de crédito/debito.
  • 2. Crear un Customer.
  • 3. Asociar Token de Tarjeta a un Customer.
  • 4. Crear un pago con el Token de Tarjeta.

Pre-requisitos

Para iniciar con el desarrollo debes contar con tus llaves de acceso. Revísalo aquí.

Instalación

1. Clonar el repositorio de la librería

La libreria se encuentra alojada en Gitlab: https://gitlab.com/sr-pago-devcenter/examples/ondemand-expressjs

$ git clone https://gitlab.com/sr-pago-devcenter/examples/ondemand-expressjs

 

2. Configurar llaves de acceso

El archivo .env no existe cuando instalamos la librería, en este archivo se configurará el modo en que se ejecuta nuestra aplicación, por defecto será el modo sandbox, además debemos configurar nuestras llaves de acceso, para eso al archivo .env lo creamos copiando el archivo .env.example y renombrando la copia como .env.
Luego editamos el archivo .env, y añadimos las llaves:

SRPAGO_APPKEY: App Key
SRPAGO_APIKEY: Clave Secreta
SRPAGO_APIKEY: Llave Pública

3. Instalar dependencias

Accede a la carpeta e instala las dependencias desde la consola:

$ npm install

 

4. Inicia la aplicación

$ npm run dev

Ahora abre en tu navegador http://0.0.0.0:3000/ 

Deberías ver el siguiente formulario de Checkout:

Guía de uso

– Para facilitar realizar cobros de prueba, los campos de el formulario de pago se auto completan con datos aleatorios utilizando la biblioteca Faker.js.

Cargo Recurrente

En el fichero server/routes/api.js vas a encontrar un ejemplo de implementación de Cargo Recurrente.

Este ejemplo permite Tokenizar la tarjeta de crédito/débito, crear un Customer, añadir la Tarjeta de Crédito al mismo y luego realizar el Cobro.

router.post('/checkout/payment', (req, res) => {
  const post = req.body;

  try {
    // Register a customer
    srpago.customer.create(post.customer)
      .then(customer => {
        // Link a card with a customer
        srpago.customer.addCard(customer.id, post.card.token)
          .then(card => {
            // Payment request
            srpago.payment.card({
              recurrent: card.token,
              payment: {
                reference: {
                  number: post.reference,
                  description: post.description,
                },
                total: {
                  amount: post.amount,
                  currency: post.currency,
                },
              },
              total: {
                amount: post.amount,
                currency: post.currency,
              },
            })
              .then(response => {
                res.json(response);
              })
              .catch(error => {
                debug_payment('An error occurred when associating a card with the customer.', error);

                res.send(error);
              });
          })
          .catch(error => {
            debug_payment('An error occurred when associating a card with the customer.', error);

            res.send(error);
          });
      })
      .catch(error => {
        debug_payment('An error occurred while creating a customer.', error);

        res.send(error);
      });
  } catch (error) {
    debug_payment('An unexpected error has occurred.', error);

    res.send(error);
  }
});
¿Te resultó útil este artículo? Si 2 No