> For the complete documentation index, see [llms.txt](https://plexo.gitbook.io/rest-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://plexo.gitbook.io/rest-api/api-reference/payment-links.md).

# Payment Links

Payment Links let an authenticated client create hosted checkout URLs for a merchant. The public REST contract is limited to merchant scoped management endpoints under `/v1/payment-links`.

Payers open the `shareUrl` returned by the API. The hosted page and its server to server checkout calls aren't documented as public REST endpoints.

## Authentication

All Payment Links API requests use Basic Auth with the client credentials issued by Plexo.

```http
Authorization: Basic <base64(clientId:api-key)>
```

## Supported link types

| Type         | Use                                                                                                                               |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| `single-use` | One successful payment consumes the link. This is the Plexo default; an omitted `type` inherits the merchant default at creation. |
| `open`       | The link can be used for more than one payment while active.                                                                      |

## Endpoints

| Method   | Endpoint                                     | Page                                                                                       |
| -------- | -------------------------------------------- | ------------------------------------------------------------------------------------------ |
| `POST`   | `/v1/payment-links`                          | [Create a Payment Link](/rest-api/api-reference/payment-links/create.md)                   |
| `GET`    | `/v1/payment-links/{paymentLinkId}`          | [Get a Payment Link](/rest-api/api-reference/payment-links/get.md)                         |
| `GET`    | `/v1/payment-links`                          | [List Payment Links](/rest-api/api-reference/payment-links/list.md)                        |
| `PUT`    | `/v1/payment-links/{paymentLinkId}`          | [Update a Payment Link](/rest-api/api-reference/payment-links/update.md)                   |
| `POST`   | `/v1/payment-links/{paymentLinkId}/activate` | [Activate a Payment Link](/rest-api/api-reference/payment-links/update.md#activate-a-link) |
| `DELETE` | `/v1/payment-links/{paymentLinkId}`          | [Delete a Payment Link](/rest-api/api-reference/payment-links/delete.md)                   |
| `GET`    | `/v1/payment-links/{paymentLinkId}/qr-code`  | [Get a QR code](/rest-api/api-reference/payment-links/get.md#get-a-qr-code)                |
| `POST`   | `/v1/payment-links/{paymentLinkId}/share`    | [Share by email](/rest-api/api-reference/payment-links/get.md#share-by-email)              |
| `GET`    | `/v1/payment-links/settings`                 | [Merchant Settings](/rest-api/api-reference/payment-links/settings.md)                     |
| `PUT`    | `/v1/payment-links/settings`                 | [Merchant Settings](/rest-api/api-reference/payment-links/settings.md)                     |

## QuickPay

Quick Pay is enabled through `quickPay.enabled` in `/v1/payment-links/settings` and consumed through the hosted Links app. Shared currency and tax defaults are root fields in the merchant settings; presentation uses the [merchant profile](/rest-api/reference/merchant-ui-settings.md). Quick Pay has no public REST checkout endpoint. A Payment Link can be flagged with `quickPay: true` to identify it as a Quick Pay link.

Regular Links capture shared defaults when created; Quick Pay uses current defaults for each new checkout. See [Merchant settings](/rest-api/api-reference/payment-links/settings.md) for replacement semantics and defaults.

## Items

Supply line items directly in `items`, including `referenceId`, `name`, `quantity`, and `unitPrice`. Optional fields provide descriptions, discounts, taxes, images, and metadata. The API saves these values with the link and returns them in management responses. See [item fields](/rest-api/api-reference/payment-links/create.md#item-fields) for validation and examples.

## Deferred capabilities

Payments level split routing, subscription checkout and lifecycle management, tokenization links, CSV import, notification delivery guarantees, and legacy cleanup are not part of this public target contract.
