Skip to main content

Requisitos para integrar

Con la API Cobros de SiPago generás links de pago (Checkout) desde tu sistema. Tu cliente paga en el formulario de SiPago y vos te enterás del resultado.

Cómo funciona​

Flujo de integración: tu backend obtiene el token y crea la orden en SiPago, el comprador paga en el Checkout, SiPago avisa a tu webhookUrl y redirige al comprador, y tu backend confirma el estado final
PasoQué hacésDónde está explicado
1Obtener el token de accesoEn esta página, más abajo
2Crear la orden de pagoIntegración Checkout
3Mostrar el link al compradorIntegración Checkout
4 y 5Recibir el resultado (webhook y redirección)Integración avanzada
6Consultar el estado de la ordenEstado de la orden
Probá primero en desarrollo

Las credenciales de desarrollo son públicas y funcionan en el ambiente de desarrollo. Podés seguir toda esta guía sin dar de alta nada.

Credenciales​

Necesitás dos datos, que te entrega SiPago:

DatoPara qué sirve
client_idIdentifica tu aplicación.
client_secretClave privada con la que obtenés el token.
Importante

El client_secret se usa solo en tu servidor. No lo pongas en el frontend, en una app móvil ni en un repositorio público.

Cada ambiente (desarrollo y producción) tiene sus propias URLs y credenciales. Las encontrás en Ambientes.

Obtener el token (JWT)​

Con el client_id y el client_secret le pedís al servidor de autenticación un token. Ese token va en todas las llamadas a la API de Checkout.

POST {auth_url}/oauth/token, donde {auth_url} es la URL del Auth Server del ambiente que uses (Ambientes).

CampoValor
grant_type"client_credentials" (siempre este valor)
client_idTu client_id
client_secretTu client_secret
scope"*" (siempre este valor)
curl --request POST 'https://auth.stg.geopagos.io/oauth/token' \
--header 'Content-Type: application/json' \
--data '{
"grant_type": "client_credentials",
"client_id": "TU_CLIENT_ID",
"client_secret": "TU_CLIENT_SECRET",
"scope": "*"
}'

Respuesta:

{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Usá el access_token en el header Authorization de las próximas llamadas:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Reutilizá el token

No pidas un token nuevo para cada orden. Guardalo y reutilizalo hasta poco antes de que venza. El vencimiento exacto está en el campo exp del JWT (fecha Unix, en segundos). Es más confiable que expires_in, cuyo formato puede variar según el ambiente.

Siguiente paso: crear una orden de pago.