Payment Links
A payment link is a reusable URL. Anyone with the link can pay the amount you set. Create, list, read, and soft-delete links with your API key.
Endpoints
All routes use the same authentication as the rest of /v1: a Bearer token from POST /v1/auth/token and the header x-fluxis-api-key. See API Credentials.
| Method | Path | Role |
|---|---|---|
POST | /v1/payment-links | write |
GET | /v1/payment-links | read |
GET | /v1/payment-links/:id | read |
DELETE | /v1/payment-links/:id | write |
The point of sale must belong to the credential and must be an online fixed point of sale. A foreign point of sale returns 403.
Create
POST /v1/payment-links returns 201.
| Field | Required | Notes |
|---|---|---|
point_of_sale_id | yes | UUID of an online point of sale the key can use |
name | yes | Shown to the buyer as the merchant name |
amount | yes | Positive decimal string with at most 2 places, for example "25.00" |
currency | yes | USD or ARS |
external_id | no | Your internal order or invoice reference. The buyer does not see this as the product title |
expiration | no | Unix time in seconds, UTC. Omit it and the link does not expire |
payment_options | no | Subset of the point of sale options. Empty uses the point of sale options |
image | no | http or https URL, at most 255 characters |
Optional header Idempotency-Key: 8 to 64 letters, digits, _, or -. The same key and the same body return the original 201 for 24 hours. The same key with a different body returns 409.
Status is deleted, then disabled, then expired, otherwise active. never_expires is true when expiration was omitted.
List and read
GET /v1/payment-links accepts page (default 1), page_size (default 20, max 100), point_of_sale_id, and status (active, expired, disabled, deleted, or all). The default status is active.
GET /v1/payment-links/:id returns the link, payment stats, and the five most recent payments. A soft-deleted link is still readable.
Delete
DELETE /v1/payment-links/:id soft-deletes the link and returns 200. Deleting a link that is already deleted succeeds and sets already_deleted to true. Existing payments are kept.
The merchant MCP deletes in two steps. This REST endpoint deletes in one request.