Tu primer cobro con la API

En esta guía vas a hacer un cobro completo en el entorno Sandbox: crear una solicitud de pago con la API, pagarla desde el Checkout de PAGOS360 con una tarjeta de prueba, recibir la notificación por webhook y confirmar el pago consultando la API.

Vas a necesitar:

  • Una cuenta PAGOS360 de Sandbox.

  • curl (o cualquier cliente HTTP).

  • Una URL pública para recibir el webhook. Para esta prueba alcanza con una URL de webhook.site.

Importante

Todo lo que sigue usa el host de Sandbox https://api.sandbox.pagos360.com. En Sandbox no se mueve dinero real.

1. Obtené tu API Key de Sandbox

Generá tu API Key desde tu cuenta PAGOS360 de Sandbox, en la sección Integraciones. Cada entorno requiere su propia API Key: una API Key de producción no funciona en Sandbox, ni al revés.

Enviá la API Key en cada petición, en el header Authorization:

Authorization: Bearer <API Key>
Importante

Hacé las peticiones a la API siempre desde tu servidor y guardá ahí tu API Key. Así queda fuera de repositorios públicos y del código que se ejecuta en el navegador.

Más información en Autorización.

2. Configurá un webhook

Configurá el webhook antes de pagar. Así recibís la notificación del pago.

  1. Entrá a webhook.site y copiá la URL única que te genera.

  2. En tu cuenta de Sandbox, andá a Integraciones > Webhooks.

  3. Creá un webhook con esa URL y seleccioná, como mínimo, el evento Pago recibido de Solicitud de Pago (payment_request / paid).

Más información en Configuración de webhooks.

3. Creá una solicitud de pago

Hacé un POST /payment-request. Los campos obligatorios son description, first_due_date, first_total y payer_name, siempre dentro del objeto payment_request.

curl -X POST 'https://api.sandbox.pagos360.com/payment-request' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <API Key>' \ --data-raw '{ "payment_request": { "description": "Pedido de prueba", "first_due_date": "31-12-2026", "first_total": 1500.00, "payer_name": "Cliente de Prueba", "external_reference": "PEDIDO-0001" } }'

Tené en cuenta:

  • first_due_date va en formato dd-mm-aaaa y tiene que ser hoy o una fecha futura.

  • first_total es un número con punto como separador decimal.

  • external_reference es opcional, pero te recomendamos enviarlo. Es tu identificador (número de pedido, factura, etc.) y te vuelve en el webhook.

Si la solicitud se crea correctamente, la API responde 201 Created (respuesta recortada):

{ "id": 123456, "type": "payment_request", "state": "pending", "created_at": "2026-09-26T15:20:49-03:00", "external_reference": "PEDIDO-0001", "payer_name": "Cliente de Prueba", "description": "Pedido de prueba", "first_due_date": "2026-12-31T00:00:00-03:00", "first_total": 1500, "checkout_url": "https://checkout.sandbox.pagos360.com/payment-request/0e0f5a4c-0000-0000-0000-000000000000" }

Guardá el id: es el que vas a usar para consultar la solicitud y el que vas a recibir en el webhook.

Tip

Si recibís un 400, revisá el formato de la fecha (dd-mm-aaaa) y que el body tenga una única clave payment_request. Si recibís un 401, revisá que estés usando la API Key de Sandbox con el host de Sandbox.

4. Abrí el checkout_url

Copiá el valor de checkout_url de la respuesta y abrilo en el navegador. Es el Checkout de PAGOS360, donde el pagador elige el medio de pago.

Usá la URL tal cual te la devuelve la API, sin armarla a mano.

5. Pagá con una tarjeta de prueba

En el Checkout elegí pagar con tarjeta de crédito y usá estos datos de prueba:

Dato

Valor

Número

4970110000001003 (VISA crédito, pago exitoso)

CVV

123

Vencimiento

11/ + un año mayor al actual

Nombre, DNI, email y teléfono

No se validan: podés usar cualquier dato ficticio

Para probar pagos rechazados o pendientes, o tarjetas de otras marcas, consultá Tarjetas de prueba.

6. Recibí el webhook

Cuando el pago se acredita, PAGOS360 envía un POST con un JSON a la URL que configuraste. En webhook.site vas a ver algo así:

{ "entity_name": "payment_request", "type": "paid", "entity_id": 123456, "created_at": "2026-09-26T18:25:03.512Z", "payload": { "id": 123456, "request_result_id": 987654, "external_reference": "PEDIDO-0001" } }
  • entity_name y type identifican el evento (en este caso, una solicitud de pago pagada).

  • entity_id y payload.id son el id de la solicitud de pago que creaste en el paso 3.

  • payload.request_result_id identifica el resultado del pago dentro de la solicitud.

  • payload.external_reference es la referencia que enviaste al crearla.

Tu endpoint tiene que responder con un código 2xx (por ejemplo 200) lo antes posible. Si no lo hace, PAGOS360 reintenta la notificación.

Importante

Antes de entregar el producto o marcar el pedido como pagado, consultá la solicitud con la API (paso 7). El webhook te avisa que hubo un cambio, pero no incluye el detalle del pago.

Todos los eventos disponibles están en Webhooks.

7. Confirmá el pago con la API

Consultá la solicitud con el id que recibiste:

curl -X GET 'https://api.sandbox.pagos360.com/payment-request/123456' \ -H 'Authorization: Bearer <API Key>'

Respuesta (recortada):

{ "id": 123456, "type": "payment_request", "state": "paid", "external_reference": "PEDIDO-0001", "description": "Pedido de prueba", "first_total": 1500, "request_result": [ { "id": 987654, "type": "collected_payment_request_result", "paid_at": "2026-09-26T00:00:00-03:00", "amount": 1500, "net_amount": 1410.25 } ] }

Si state es paid, el pago está confirmado: hiciste tu primer cobro. Los estados posibles de una solicitud de pago son pending, paid, expired, reverted y refunded (más info).

Próximos pasos