> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simplepay.mx/llms.txt
> Use this file to discover all available pages before exploring further.

# SimplePay Docs

> La puerta de entrada para integrar SimplePay: pagos hospedados, links, Bookable Payments, webhooks, referencia OpenAPI y contexto listo para LLMs.

SimplePay es la capa de pagos para productos digitales, comercios y plataformas que necesitan aceptar pagos en Mexico sin construir todo el stack bancario, de checkout, politicas, reservas y reconciliacion desde cero.

<Info>
  La API publica vive en `https://api.simplepay.mx`. La forma recomendada de iniciar es crear una sandbox key en el dashboard, probar con Hosted Checkout y despues conectar webhooks.
</Info>

<Columns cols={2}>
  <Card title="Integra un pago hoy" icon="rocket" href="/quickstart">
    Crea una Checkout Session, redirige al cliente y confirma el pago con
    webhooks.
  </Card>

  <Card title="Explora la API" icon="braces" href="/api-reference/overview">
    Consulta el contrato OpenAPI, endpoints generados y esquemas actualizados.
  </Card>

  <Card title="Vende inventario reservado" icon="calendar-check" href="/bookable-payments/overview">
    Usa Bookable Payments para citas, clases, tours, experiencias, rentals y
    servicios con pago requerido.
  </Card>

  <Card title="Dale contexto a un agente" icon="bot" href="/agents/context-pack">
    Copia un pack de instrucciones para Cursor, Claude, ChatGPT, Devin o
    cualquier LLM.
  </Card>
</Columns>

## Quickstarts

<Columns cols={2}>
  <Card title="Hosted Checkout" icon="rocket" href="/quickstarts/hosted-checkout">
    Crea una sesion, redirige al cliente y confirma con webhook o API read.
  </Card>

  <Card title="Payment Links" icon="link" href="/quickstarts/payment-links">
    Genera links para invoices, ventas manuales y cobros asincronos.
  </Card>

  <Card title="Bookable Payments" icon="calendar-check" href="/quickstarts/bookable-payments">
    Configura slots, crea booking checkout y confirma reservas pagadas.
  </Card>

  <Card title="Webhooks" icon="radio" href="/quickstarts/webhooks">
    Registra un endpoint, verifica firma y procesa eventos idempotentes.
  </Card>
</Columns>

## Que puedes construir

| Caso                       | Usa               | Resultado                                                     |
| -------------------------- | ----------------- | ------------------------------------------------------------- |
| Checkout de una orden      | Hosted Checkout   | SimplePay crea una pagina de pago segura y devuelve una URL.  |
| Cobros repetibles por link | Payment Links     | Generas un link reusable con limite, expiracion o metadatos.  |
| Pago embebido con reserva  | Bookable Payments | Holds, checkout y confirmacion transaccional para inventario. |
| Reservas con pago          | Bookable Payments | Slots, holds, checkout, confirmacion y lifecycle de booking.  |
| Estado post-pago           | Webhooks          | Tu sistema recibe eventos idempotentes y puede reconciliar.   |

## Primer pago en 30 segundos

<CodeGroup>
  ```bash curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
  export SIMPLEPAY_API_BASE="https://api.simplepay.mx"
  export SIMPLEPAY_API_KEY="spk_sandbox_..."

  curl -sS -X POST "$SIMPLEPAY_API_BASE/v1/hosted-checkout/sessions" \
    -H "Authorization: Bearer $SIMPLEPAY_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Idempotency-Key: order_1001_checkout_v1" \
    -d '{
      "currency": "mxn",
      "success_url": "https://example.com/success?session_id={CHECKOUT_SESSION_ID}",
      "cancel_url": "https://example.com/cart",
      "client_reference_id": "order_1001",
      "line_items": [
        {
          "name": "Reserva inicial",
          "amount": 90000,
          "quantity": 1
        }
      ],
      "metadata": {
        "order_id": "order_1001"
      }
    }'
  ```

  ```js Node.js theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch("https://api.simplepay.mx/v1/hosted-checkout/sessions", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.SIMPLEPAY_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": "order_1001_checkout_v1",
    },
    body: JSON.stringify({
      currency: "mxn",
      success_url: "https://example.com/success?session_id={CHECKOUT_SESSION_ID}",
      cancel_url: "https://example.com/cart",
      client_reference_id: "order_1001",
      line_items: [{ name: "Reserva inicial", amount: 90000, quantity: 1 }],
      metadata: { order_id: "order_1001" },
    }),
  });

  const session = await response.json();
  console.log(session.url);
  ```
</CodeGroup>

## Principios de integracion

<Steps>
  <Step title="Usa sandbox primero">
    Crea una API key `spk_sandbox_...`, prueba pagos y webhooks, y deja live
    para el ultimo paso.
  </Step>

  <Step title="Todo write lleva idempotencia">
    Usa `Idempotency-Key` en creacion de pagos, links, holds, bookings, refunds
    y recursos Bookable.
  </Step>

  <Step title="El redirect no confirma dinero">
    El `success_url` mejora la experiencia del usuario, pero tu backend debe
    confirmar con webhook o read API.
  </Step>

  <Step title="Guarda IDs de SimplePay">
    Persiste `spcs_...`, `splink_...`, `sppi_...`, booking IDs y event IDs.
    Evita depender de IDs externos no documentados.
  </Step>
</Steps>

## Para humanos y agentes

Cada pagina se puede copiar como Markdown desde el menu contextual. Tambien puedes abrir cualquier URL con `.md`, por ejemplo `/quickstart.md`, o darle a un agente `/llms.txt`, `/llms-full.txt`, `/skill.md` y `/mcp`.

<Tip>
  Si vas a pedirle a un LLM que implemente SimplePay por ti, empieza con
  [Context pack](/agents/context-pack). Tiene las reglas de seguridad, endpoints
  canonicos y flujos minimos.
</Tip>
