Documentación para desarrolladores
Crea tu primer pago
Obtén una clave de pruebas, crea una sesión alojada y confirma el resultado mediante un webhook firmado.
Antes de empezar
Necesitas un comercio activo, una cuenta Redsys de sandbox configurada, un producto activo y una URL HTTPS pública para recibir webhooks. El checkout de tarjeta requiere Redsys inSite habilitado para el terminal.
Preparar credenciales
- 1
Configura Redsys
Abre Dashboard, Configuración, Railes, Redsys, selecciona pruebas y guarda el FUC, terminal y secreto del sandbox.
- 2
Genera una API key
Abre Webhooks y API keys, genera una clave de pruebas y guárdala cuando se muestre. No debe llegar al navegador.
- 3
Copia un productId
Crea un producto en Productos. Copia su identificador
ap_prod_...desde la tabla del dashboard. - 4
Define la variable de servidor
export ANDORPAY_API_KEY="ap_test_..."
Crear el checkout
La petición autentica al comercio mediante la API key. No envíes merchantId, priceId ni Idempotency-Key.
curl https://api.andorpay.com/v1/checkouts \
--request POST \
--header "Authorization: Bearer $ANDORPAY_API_KEY" \
--header "Andorpay-Version: 2026-01-01" \
--header "Content-Type: application/json" \
--data '{
"productId": "ap_prod_starter_monthly",
"externalCustomerId": "customer_42",
"customer": {
"email": "ana@example.com",
"name": "Ana Garcia",
"billingDetails": {
"line1": "Carrer Prat de la Creu 12",
"city": "Andorra la Vella",
"postal_code": "AD500",
"country": "AD"
},
"tax": {
"value": "F-123456-Z",
"type": "andorra_nrt"
}
},
"successUrl": "https://shop.example.com/payment/success",
"failUrl": "https://shop.example.com/payment/failed",
"reconciliation": {
"merchantReference": "cart_1048"
}
}'| Resultado | Qué significa |
|---|---|
201 | La sesión se creó y puede abrirse mediante hostedUrl. |
401 | La API key falta, no es válida o ya no está activa. |
403 | El producto requiere una capacidad no habilitada para el comercio. |
404 | El producto no existe, no pertenece al comercio o no está activo. |
503 | El rail o una dependencia necesaria no está disponible. |
{
"id": "ap_chk_01JQ8P9A3Y9B5J7V2V0M9R4S8T",
"sessionId": "ap_chk_01JQ8P9A3Y9B5J7V2V0M9R4S8T",
"hostedUrl": "https://shop.andorpay.com/checkout/ap_chk_01JQ8P9A3Y9B5J7V2V0M9R4S8T",
"expiresAt": "2026-08-23T11:30:00.000Z",
"request_id": "req_01JQ8T2M0D6F4Q7F3K8A9V2N1C"
}Abrir el pago
Redirige al comprador exactamente al hostedUrl de la respuesta. La sesión caduca 30 minutos después de crearla. AndorPay presenta únicamente los métodos habilitados para el comercio y el dispositivo.
Verificar el resultado
Completa el pago con una tarjeta de sandbox y consulta la entrega payment.succeeded en el dashboard. Verifica Andorpay-Signature sobre el cuerpo sin procesar antes de aplicar fulfillment o acceso.
Una navegación a successUrl sólo indica qué pantalla vio el comprador. Un cierre, timeout o paso 3DS puede dejar el resultado pendiente de conciliación, por lo que el webhook sigue siendo la confirmación canónica.