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

# Links de cobro

> Crea sesiones de checkout sobre documentos abiertos

<div className="cobrix-category">
  <strong>Convierte uno o varios documentos abiertos en una experiencia de pago.</strong>
  <p>La sesión reúne documentos compatibles y devuelve un `checkoutUrl` listo para entregar al cliente final.</p>
</div>

<div className="cobrix-scope-line">
  <span className="cobrix-scope">collection\_document\_checkouts:write</span>
</div>

## Operación disponible

| Permiso del drawer | Método y ruta                                                              |
| ------------------ | -------------------------------------------------------------------------- |
| Crear links        | `POST /integrations/v1/{companyId}/collection-documents/checkout-sessions` |

<Steps>
  <Step title="Selecciona documentos abiertos">
    Todos deben pertenecer al mismo cliente, `source` y moneda, y conservar saldo pendiente.
  </Step>

  <Step title="Define la vigencia">
    `expiresInHours` acepta de 1 a 720 horas. Si lo omites, Cobrix utiliza 72 horas.
  </Step>

  <Step title="Guarda la respuesta">
    Conserva `sessionId`, `token`, `checkoutUrl` y `amountMinor` para soporte y trazabilidad.
  </Step>

  <Step title="Escucha el resultado">
    Usa webhooks generales para conocer el avance del checkout y del pago sin consultar en un bucle.
  </Step>
</Steps>

<AccordionGroup>
  <Accordion title="Documento inexistente o sin saldo" icon="circle-question">
    Cobrix devuelve `404` o `409` según el estado. Consulta primero el detalle del documento y usa el `requestId` para soporte.
  </Accordion>

  <Accordion title="Cliente, moneda o source incompatibles" icon="code-branch">
    Una sesión no puede mezclar carteras distintas. Separa los documentos en checkouts independientes.
  </Accordion>

  <Accordion title="Reintento seguro" icon="rotate">
    Conserva el mismo `Idempotency-Key` solo cuando reenvíes exactamente el mismo cuerpo. Para otra selección crea una clave nueva.
  </Accordion>
</AccordionGroup>

<Columns cols={2}>
  <Card title="Crear sesión" icon="arrow-up-right-from-square" href="/api-reference/links-de-cobro/crear-link-de-cobro" cta="Probar request" arrow>
    Abre el playground con payload, respuesta y códigos HTTP.
  </Card>

  <Card title="Webhooks generales" icon="webhook" href="/guides/webhooks/categories/checkout" cta="Recibir eventos" arrow>
    Verifica firmas y procesa eventos de checkout y pago.
  </Card>
</Columns>
