Cost+Docs

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

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:

Create an order
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:

Response
{
  "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

  1. Abre el payment_url de la respuesta en tu navegador
  2. En la pagina de pago, introduce los datos de la tarjeta de prueba:
CampoValor
Numero de tarjeta4111 1111 1111 1111
CaducidadCualquier fecha futura (ej. 12/28)
CVCCualquier 3 digitos (ej. 123)
  1. Envia el pago
  2. 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:

Check order status
curl -u YOUR_API_KEY: \
  https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/

Un pago exitoso tiene este aspecto:

Response (completed)
{
  "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:

Webhook payload
{
  "event": "status_changed",
  "order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}

Cuando lo recibas:

  1. Llama a GET /v1/orders/{order_id}/ para verificar el estado actual (nunca confies unicamente en el payload del webhook)
  2. Devuelve HTTP 200 para confirmar la recepcion
  3. 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.

Create a payment link
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:

Endpoints relacionados

On this page