Iniciar un pago
Aprende a iniciar y aceptar pagos
Para aceptar pagos necesitas crear un objeto Checkout desde tu backend, redirigir al usuario hacia Venti y tomar acciones después de autorizado o rechazado el pago.
El siguiente ejemplo utiliza cURL para simulas las llamadas a nuestra API, pero también puedes hacerlo utilizando nuestro SDK para Node.js.
Crear un objeto Checkout
El primer paso es un crear un objeto de tipo Checkout utilizando tu API Key secreta. En este ejemplo crearemos una intención de pago por CLP $1.000.
curl --request POST \
--url https://api.ventipay.com/v1/checkouts \
--header 'Authorization: Bearer TU_API_KEY_SECRETA' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw
'{
"currency": "clp",
"items": [
{
"unit_price": 1000,
"quantity": 1
}
],
"description": "Order #0000",
"success_url": "https://example.com/success",
"cancel_url": "https://example.com/failure",
"notification_url": "https://api.example.com/webhooks",
"metadata": {
"OrderId": "0000"
}
}'
Respuesta a la creación de un objeto Checkout
Si la solicitud es exitosa, recibirás un objeto Checkout similar a este.
{
"id": "chk_ELAIMqhH92Y1XaafN0qNSOcR",
"amount": 1000,
"available_for_refund": 1000,
"cancel_url": "https://example.com/failure",
"cancel_url_method": "post",
"currency": "clp",
"fee": 0,
"items": [
{
"sku": "",
"name": "",
"unit_price": 1000,
"quantity": 1,
"total": 1000,
"metadata": {}
}
],
"live": true,
"merchant_id": "mer_EHcwG3GTQXl6JrLKOSGo6jUi",
"metadata": {
"OrderId": "0000"
},
"original_amount": 1000,
"reference": "6461644741116451139",
"refunded": false,
"refunded_amount": 0,
"settlement_amount": 0,
"source": null,
"status": "unpaid",
"subtotal": 1000,
"success_url": "https://example.com/success",
"success_url_method": "post",
"url": "https://ventipay.com/checkout/chk_ELAIMqhH92Y1XaafN0qNSOcR",
"object": "checkout",
"created_at": "2025-10-29T21:28:53.224Z",
"updated_at": "2025-10-29T21:28:53.224Z"
}Toma nota del atributo url ya que es la URL a la cual debes redirigir al usuario.
Redirigir al usuario
Una vez creado el objeto Checkout, utiliza la URL entregada en el atributo url y redirige al usuario a esta dirección para que complete el proceso de pago. En este ejemplo redirigiremos al usuario utilizando Express.js.
server.post('/checkout', async (req, res) => {
// Acá va tu lógica para crear el objeto Checkout
const { url } = checkout;
return res.redirect(url);
});Acciones post-pago en tu backend
Una vez que el usuario haya autorizado o cancelado el pago en Venti, debes tomar acciones en tu backend como, por ejemplo, confirmar una compra en tu sistema.
Para hacerlo debes estar atento a la recepción de los eventos checkout.paid o checkout.canceled enviados como Webhook.
Redirección post-pago
Al crear un Checkout, puedes asignarles una URL de éxito y otra de cancelación. Venti redirigirá al usuario a una de estas URLs
Updated about 1 month ago
