Checkout
Explora como se ve una integración con Agotao Checkout. El código del lado del cliente y del servidor redirige a tu usuario a una página de pago en Agotao.
Los metodos de pago aceptados son transferencias BBVA, Yape, BCP, Yape, Plin
A hackear
Desde tu servidor crea una checkout session. Las checkout sessions son validas durante 15 minutos, si tu cliente no realiza el pago, la checkout sesion expira y ya no puede ser utilizada.
server.js
const express = require('express');
const app = express();
app.use(express.static('public'));
app.post('/create-checkout-session', async (req, res) => {
const session = await axios.post(
'https://api.agotao.com/api/v1/checkout/sessions',
{
items: [
{
product_id: '{YOUR_PRODUCT_ID}',
quantity: 2,
},
{
product_id: '{YOUR_PRODUCT_ID}',
quantity: 3,
},
],
cancel_url: '{https://your-website.com/cancel-url}',
metadata: {
order_id: '123456',
custom_field: 'custom_value',
},
},
{
headers: {
Authorization: 'Bearer {SECRET_KEY}',
'Content-Type': 'application/json',
},
}
);
res.redirect(303, session.url);
});
app.listen(4242, () => console.log('Running on port 4242'));
Parámetros disponibles
Header Parameters
Authorization: Bearer {SECRET_KEY}
Content-Type: application/json
Body Parameters
{
"items": "Array que contiene los productos del checkout",
"cancel_url": "URL a la que se redirige al usuario si sale del checkout",
"metadata": "Objeto con la metadata que se desea enviar, cuando el pago es exitoso se envía
la metadata al webhook"
}
La respuesta de la API /checkout/sessions
tiene la siguiente estructura:
{
"url": "https://checkout.agotao.com/c/clcy3rln00004c88icj8szgpp",
"success_url": "www.google.com",
"cancel_url": "www.agotao.com",
"expires_at": "2023-01-16T01:18:30.629Z",
"payment_status": "UNPAID",
"status": "VALID",
"metadata": {
"objeto": "con tu metadata"
}
}
Cuando envíes al usuario a la URL de pago, el usuario puede completar el pago con una de las opciones de pago disponibles. Si el pago es exitoso, se te envía un webhook con la información del pago.
Last updated on March 10, 2023