Saltar al contenido principal

Redirect

En lugar de mostrar el formulario directamente en tu página, puedes redirigir a los usuarios a una página externa para completar el proceso de pago. El SDK web facilita la generación de la URL de redireccionamiento y el envío de los datos necesarios.

Objetivo

Aprenderás a:

  • Crear el objeto de configuración
  • Inicializar el formulario de pago.
  • Mostrar el Checkout.

1. Creando el objeto configuración

const iziConfig = {
config: {
...,
render: {
typeForm: 'redirect',
redirectUrls: {
onSuccess: 'https://tu-dominio/success',
onError: 'https://tu-dominio/error',
onCancel: 'https://tu-dominio/carrito',
},
},
...
}
};
Nota

Puedes configurar los atributos correspondientes para personalizar su apariencia y comportamiento aquí.

2. Instanciando la clase

const checkout = new Izipay({config: iziConfig});

3. Mostrando el checkout

try {
checkout &&
checkout.LoadForm({
authorization: 'TU_TOKEN_SESSION',
keyRSA: 'TU_KEY_RSA',
});
} catch (error) {
console.log(error.message, error.Errors, error.date);
}
info
  • En esta modalidad, la respuesta será enviada al comercio mediante un POST a la url enviada en el parámetro onSuccess|onError|onCancel. Los datos se enviarán en formato application/x-www-form-urlencoded.

  • Asegurate de tener una página que pueda recibir este tipo de datos, puedes utilizar tecnologías como PHP, ASP o algún tipo de lenguajes del lado del servidor.

  • En esta modalidad no aplica el parámetro callbackResponse.

A continuación, se explica cómo recibir y procesar estos datos en diferentes lenguajes y frameworks:

Para recibir datos en formato application/x-www-form-urlencoded en Express, debes usar el middleware express.urlencoded(). Esto parseará automáticamente los datos y los convertirá en un objeto JSON en req.body.

const express = require('express');
const app = express();

// Middleware para parsear application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: true }));

app.post('/webhook', (req, res) => {
console.log(req.body); // Los datos estarán en req.body
const { firstName, transactionId } = req.body;
console.log(`Nombre: ${firstName}, ID de transacción: ${transactionId}`);
res.send('Datos recibidos');
});

app.listen(3000, () => {
console.log('Servidor escuchando en el puerto 3000');
});

Demo

A continuación, te invitamos a explorar nuestra demo interactiva.

Editor en vivo
Resultado
Loading...