# Links de pago

Un link de pago es una URL reusable. Quien tenga el link puede pagar el monto que definiste. Crea, lista, consulta y borra links con tu clave de API.

## Endpoints

Todas las rutas usan la misma autenticación que el resto de `/v1`: un token Bearer de `POST /v1/auth/token` y el header `x-fluxis-api-key`. Ver [Credenciales API](/es/docs/developers/api-credentials).

| Método | Ruta | Rol |
| ------ | ---- | --- |
| `POST` | `/v1/payment-links` | `write` |
| `GET` | `/v1/payment-links` | `read` |
| `GET` | `/v1/payment-links/:id` | `read` |
| `DELETE` | `/v1/payment-links/:id` | `write` |

El punto de venta tiene que pertenecer a la credencial y ser un punto de venta online de monto fijo. Un punto de venta ajeno responde 403.

## Crear

`POST /v1/payment-links` responde `201`.

| Campo | Obligatorio | Notas |
| ----- | ----------- | ----- |
| `point_of_sale_id` | sí | UUID de un punto de venta online que la clave puede usar |
| `name` | sí | Nombre que ve el comprador |
| `amount` | sí | Decimal positivo en texto, con hasta 2 decimales, por ejemplo `"25.00"` |
| `currency` | sí | `USD` o `ARS` |
| `external_id` | no | Tu referencia interna de orden o factura. El comprador no la ve como título del producto |
| `expiration` | no | Tiempo unix en segundos, UTC. Si lo omites, el link no vence |
| `payment_options` | no | Subconjunto de las opciones del punto de venta. Vacío usa las del punto de venta |
| `image` | no | URL `http` o `https`, de hasta 255 caracteres |

Header opcional `Idempotency-Key`: 8 a 64 letras, dígitos, `_` o `-`. La misma clave y el mismo body repiten el `201` original durante 24 horas. La misma clave con otro body responde `409`.

El estado es `deleted`, luego `disabled`, luego `expired` y, si no, `active`. `never_expires` es `true` cuando se omitió `expiration`.

## Listar y consultar

`GET /v1/payment-links` acepta `page` (default 1), `page_size` (default 20, máximo 100), `point_of_sale_id` y `status` (`active`, `expired`, `disabled`, `deleted` o `all`). El estado por defecto es `active`.

`GET /v1/payment-links/:id` devuelve el link, las estadísticas de pago y los cinco pagos más recientes. Un link borrado se puede seguir leyendo.

## Borrar

`DELETE /v1/payment-links/:id` hace un borrado lógico y responde `200`. Borrar un link que ya está borrado responde éxito y deja `already_deleted` en `true`. Los pagos existentes se conservan.

El [MCP para comercios](/es/docs/developers/mcp) borra en dos pasos. Este endpoint REST borra en un solo request.
