Procesa tu primer pago
Este tutorial te guía para realizar tu primera petición API a Get Smart API Cloud. Iniciarás un pago en el Entorno de Pruebas utilizando credenciales de ejemplo.
Al final de este tutorial, habrás:
- Construido un objeto de pago JSON válido.
- Generado la firma criptográfica requerida.
- Enviado una petición
POSTa la API. - Recibido una confirmación
200 OK.
Requisitos previos
- Cliente API: Una herramienta como
curl, Postman o un entorno de código (Python, Node.js, etc.). - Credenciales de prueba: Utilizaremos los siguientes valores de marcador de posición encontrados en la documentación:
- Código de comercio (
comercio):777888991 - Terminal:
1 - Clave del comercio:
AAABBB(Utilizada para la firma)
- Código de comercio (
Paso 1: Definir los datos de pago
Para iniciar un pago, debes construir un objeto JSON que contenga los detalles de la transacción. La estructura requiere una jerarquía específica.
Crea un objeto JSON con los siguientes campos:
{
"comercio": "777888991",
"terminal": 1,
"timestamp": "20250428 111217",
"notificacion": {
"urlNotificacion": "[https://www.miservicio.es/servicio/notificaciones/tpvpc](https://www.miservicio.es/servicio/notificaciones/tpvpc)",
"correoNotificacion": "email@comercio.es"
},
"datosOperacion": {
"importe": "15.00",
"factura": "FACTURA1"
}
}Notas sobre los campos:
timestamp: Debe estar en formatoYYYYMMDD HHmmss.importe: El importe en formatoXXXXXXXXX.XX(p. ej.,15.00).factura: Tu ID de referencia único para la compra (máx. 250 caracteres).
Paso 2: Generar la firma
La seguridad en API Cloud se garantiza mediante una firma SHA256. No puedes enviar el JSON anterior tal cual; debes firmarlo.
La lógica de la firma funciona de la siguiente manera:
- Toma la cadena JSON exacta del objeto
info(minimizada, sin espacios adicionales). - Añade tu clave del comercio al final de esa cadena.
- Calcula el hash SHA256 de la cadena combinada.
Para profundizar en el algoritmo de firma, consulta la guía de Lógica de firma y seguridad.
Ejemplo de cálculo
Payload (minimizado): {"comercio":"777888991","timestamp":"...","datosOperacion":{"importe":"15.00",...}}
Clave del comercio: AAABBB
Cadena combinada: {"comercio":"..."...}AAABBB
Firma resultante: 0ED5D16230C0E2683CF304A713154B90D887D592EF72437AA214CBA305B00646
Paso 3: Enviar la petición
Combina tu objeto info y tu signature calculada en el cuerpo final de la petición. Envía este payload al Endpoint del Entorno de Pruebas.
Endpoint: https://tpvpc-i.redsys.es:27443/TPV_PC/services/rest/tpvpcwss/v1/pago
Petición vía cURL
Aquí tienes un ejemplo completo y ejecutable utilizando curl.
curl -X POST "https://tpvpc-i.redsys.es:27443/TPV_PC/services/rest/tpvpcwss/v1/pago" \\
-H "Content-Type: application/json" \\
-d '{
"info": {
"comercio": "777888991",
"terminal": 1,
"timestamp": "20250428 111217",
"notificacion": {
"urlNotificacion": "https://www.miservicio.es/servicio/notificaciones/tpvpc",
"correoNotificacion": "email@comercio.es"
},
"datosOperacion": {
"importe": "15.00",
"factura": "FACTURA1"
}
},
"signature": "0ED5D16230C0E2683CF304A713154B90D887D592EF72437AA214CBA305B00646"
}'La firma del ejemplo anterior es válida solo para los datos y el timestamp exactos mostrados (20250428 111217). Si cambias el timestamp o el importe, debes recalcular la firma.
Paso 4: Verificar la respuesta
Si tu petición tiene éxito, la API devolverá un estado 200 OK y una respuesta JSON.
Ejemplo de respuesta de éxito:
{
"signature": "CD8E8EC1C53E945C03A37E6B3B2E2273AC4DF11E1C6AE0F9556007F505DABE39",
"info": {
"resultado": {
"codigo": "0"
}
}
}codigo: "0": Indica que la API recibió y validó tu petición correctamente.- Procesamiento asíncrono: Esta respuesta no significa que el pago se haya completado. Solo significa que el sistema en la nube ha aceptado el comando. El terminal físico se activará ahora y solicitará la tarjeta al cliente.
Próximos pasos
¡Has iniciado un pago correctamente!
- Configurar Webhooks y Notificaciones: Aprende a recibir el resultado final (Aprobado/Denegado) una vez que el cliente termine de interactuar con el terminal.
- Configurar entornos y credenciales: Cambia estas credenciales de prueba por tus claves de producción.