Proceso de pago con webform
Consideraciones
Para utilizar el formulario de pago de Greenpay, se debe considerar los siguiente:
- El formulario está disponible en dos entornos:
- Sandbox: https://sandbox-checkoutform.greenpay.me/
- Producción: https://checkout-form.greenpay.me/
- Se requiere tener una session y token de una orden de pago que no haya excedido los 30 minutos establecidos para vencimiento. Además, la orden debió ser creada con el parámetro callback, para mas infromación visite este enlace.
- El formulario de pago de Greenpay solo esta disponible para aplicaciones web.
- Se recomienda implementar un webhook para recibir las respuestas en un backend, para esto puede revisar el artículo Respuestas de pago en webhook.
Con la respuesta (session, token) obtenida en la orden de pago, se debe redireccionar desde el sitio del comercio hacia el formulario de Greenpay, de la siguiente manera:
- Generar la orden de pago (session y token) en Sandbox o Producción, según el ambiente.
- Construir la url, de la siguente manera:
- Sandbox: http://sandbox-checkoutform.greenpay.me/{{session}}
- Producción: https://checkout-form.greenpay.me/{{session}}
A continuación, se muestra un ejemplo en javascript de cómo hacer el redireccionamiento:
const express = require("express");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.get("/order", async function (req, res) {
try {
const security = await postOrder(order);
//console.log(security);
} catch (err) {
res.send(err);
}
});
Al hacer el redireccionamiento, se le presentará un formulario donde el usuario podrá ingresar los datos de la tarjeta a la cual se le aplicará el cargo.
Cuando se envía los datos y se obtiene la respuesta, el formulario los envía al URL callback de la orden de pago. La respuesta se presenta como un JSON codificado en BASE64 (callbackURL/BASE64), como se muestra en la siguiente imagen.
Es necesario que exista una función en el destino (callback) capaz de capturar la respuesta codificada y decodificarla correctamente. A continuación, se muestra un ejemplo de cómo obtener la respuesta.
app.get("/callback/:data", async function (req, res) {
try {
//get the response in base64
const data = req.params.data;
//decode the response in base64
var responsejson = Buffer.from(data, 'base64').toString();
console.log(responsejson);
res.send(JSON.parse(responsejson));
} catch (err) {
res.send(err);
}
});
A continuación, se muestra un ejemplo de la respuesta JSON.
3. Obtener las respuestas en un webhook.
El webhook permite obtener la respuesta en un backend en caso de un eventual timeout o desconexión del usuario a internet, entre otros.
Related Articles
Proceso de pago con widget
En esta sección se muestra una guía paso a paso de cómo integrarse al servicio de pagos por medio del widget. Para utilizar esta funcionalidad es necesario haber creado una orden de pago, para crear la orden pago puede revisar el articulo "Crear una ...
Proceso de pago con Widget
Consideraciones Al utilizar el widget de pago de Greenpay, es importante tener en cuenta lo siguiente: Es necesario disponer de una cuenta de sandbox o de producción. Para obtener esta cuenta, visite la sección Sobre cuenta de pruebas o sandbox. El ...
Proceso de tokenización con formulario
En esta sección se muestra una guía paso a paso de cómo integrarse al API de tokenización. Para utilizar esta funcionalidad es necesario haber creado una orden de tokenización, para crear la orden pago puede revisar el articulo "Crear una orden de ...
Proceso de pago sin formulario de GreenPay
En esta sección se muestra una guía paso a paso de cómo integrarse al API de pago. Para utilizar esta funcionalidad es necesario haber creado una orden de pago, para crear la orden pago puede revisar el articulo "Crear una orden de pago" . Para ...
Proceso de pago con formulario de GreenPay
En esta sección se muestra una guía paso a paso de cómo integrarse al servicio de pagos por medio del formulario web. Para utilizar esta funcionalidad es necesario haber creado una orden de pago, para crear la orden pago puede revisar el ...