Inicio rapido
Acepta tu primer pago en 5 minutos
Esta guia te muestra como crear y completar un pago de prueba usando la API de Cost+. Al finalizar, tendras una integracion funcional sobre la que podras seguir construyendo.
Requisitos previos
- Una cuenta Cost+ con un sitio web sandbox — crea uno en el portal de comerciante
- Tu clave API de sandbox (disponible en Websites → tu sitio web sandbox → Integration)
No sabes como obtener tu clave API? Consulta Pruebas de integracion para instrucciones detalladas de configuracion.
Paso 1: Crear un pedido
Envia una solicitud POST para crear un pedido de pago. Reemplaza YOUR_API_KEY con tu clave API de sandbox:
curl -X POST https://api.costplus.online/v1/orders/ \
-u YOUR_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-first-order",
"description": "Test order",
"return_url": "https://example.com/return",
"webhook_url": "https://example.com/webhook",
"transactions": [
{
"payment_method": "credit-card"
}
]
}'El campo amount esta en la unidad monetaria mas pequena (centimos). 1295 significa 12,95 EUR.
La API devuelve el objeto completo del pedido. Los campos clave son id, status y el payment_url dentro de la transaccion:
{
"id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
"status": "new",
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-first-order",
"description": "Test order",
"return_url": "https://example.com/return",
"webhook_url": "https://example.com/webhook",
"created": "2026-01-15T12:00:05.433502+00:00",
"modified": "2026-01-15T12:00:05.553125+00:00",
"expiration_period": "PT1H",
"transactions": [
{
"id": "d291f03f-a406-428a-967a-4895a46e03fd",
"payment_method": "credit-card",
"status": "new",
"amount": 1295,
"currency": "EUR",
"payment_url": "https://pay.costplus.online/4851e31c.../credit-card/d291f03f...",
"is_capturable": false,
"expiration_period": "PT30M"
}
]
}Guarda el id — lo necesitaras en el Paso 3.
Paso 2: Completar el pago de prueba
- Abre el
payment_urlde la respuesta en tu navegador - En la pagina de pago, introduce los datos de la tarjeta de prueba:
| Campo | Valor |
|---|---|
| Numero de tarjeta | 4111 1111 1111 1111 |
| Caducidad | Cualquier fecha futura (ej. 12/28) |
| CVC | Cualquier 3 digitos (ej. 123) |
- Envia el pago
- Seras redirigido a tu
return_url
No confies unicamente en la redireccion para confirmar el pago. El cliente puede cerrar su navegador antes de ser redirigido. Verifica siempre a traves de la API (Paso 3) o webhooks (Paso 4).
Paso 3: Verificar el pago
Consulta el pedido para confirmar que se completo:
curl -u YOUR_API_KEY: \
https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/Un pago exitoso tiene este aspecto:
{
"id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
"status": "completed",
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-first-order",
"completed": "2026-01-15T12:02:30.123456+00:00",
"transactions": [
{
"id": "d291f03f-a406-428a-967a-4895a46e03fd",
"payment_method": "credit-card",
"status": "completed",
"amount": 1295,
"currency": "EUR",
"payment_method_details": {
"truncated_pan": "1111",
"card_expiry": "122028"
}
}
]
}El status del pedido es "completed" — el pago fue exitoso.
Paso 4: Gestionar el webhook (recomendado)
Cuando cambia el estado del pago, Cost+ envia una solicitud POST a tu webhook_url:
{
"event": "status_changed",
"order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}Cuando lo recibas:
- Llama a
GET /v1/orders/{order_id}/para verificar el estado actual (nunca confies unicamente en el payload del webhook) - Devuelve HTTP
200para confirmar la recepcion - Cumple el pedido si el estado es
"completed"
Para desarrollo local, usa un tunel como ngrok para exponer tu servidor local y recibir webhooks.
Consulta la guia de Webhooks para la logica de reintentos, mejores practicas y detalles del payload.
Alternativa: Enlaces de pago
Si no necesitas logica de redireccion del lado del servidor, los enlaces de pago ofrecen un camino mas sencillo. Crea un enlace, comparte la URL con tu cliente y verifica el estado despues.
curl -X POST https://api.costplus.online/v1/paymentlinks/ \
-u YOUR_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"merchant_order_id": "invoice-1234",
"amount": 2500,
"currency": "EUR",
"description": "Invoice #1234"
}'La respuesta incluye un payment_url que puedes compartir por correo electronico, SMS o chat. El cliente puede intentar el pago multiples veces (hasta 25) hasta que el enlace expire o el pago sea exitoso.
Consulta la guia de Enlaces de pago para el flujo completo.
Siguientes pasos
Has completado tu primer pago. Aqui tienes por donde continuar:
- Pagina de pago alojada — referencia completa del HPP con todos los campos de solicitud y opciones
- Pagos recurrentes — configura suscripciones y facturacion programada
- Pagos con un clic — pago rapido para clientes recurrentes
- Autorizacion / Captura / Anulacion — autoriza primero, captura despues (ej. al enviar el pedido)
- Reembolsos — procesa reembolsos totales y parciales
- SDKs — bibliotecas oficiales para Node.js, Python, PHP, Java/Kotlin, C#/.NET y Ruby
- Plugins — integraciones preconstruidas para Shopify, WooCommerce, Magento y mas
Endpoints relacionados
- Crear pedido — referencia completa de la API para creacion de pedidos
- Obtener pedido — consultar detalles y estado del pedido
- Crear enlace de pago — crear enlaces de pago reutilizables