Checkout

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