/l/{slug} that you can embed in emails, on your site, or share anywhere. You can deactivate or update a link at any time without breaking existing integrations.
All mutating requests (
POST, PATCH, DELETE) accept an optional Idempotency-Key header. Supplying the same key within 24 hours returns the cached response instead of creating a duplicate.The PaymentLink object
Unique identifier for the payment link. Format: UUID.
Always
"payment_link".URL-friendly identifier used in the hosted checkout URL:
/l/{slug}.Display name shown to customers on the checkout page.
Optional longer description displayed below the title.
null if not set.The price of the item as a decimal string, e.g.
"99.00". The equivalent crypto amount is calculated at session creation time using a live ETH price feed.ISO 4217 three-letter currency code, e.g.
"USD". Defaults to "USD" when not specified.URL to redirect the customer to after a successful payment.
null if not set.URL to redirect the customer to if they cancel the checkout.
null if not set.When
false, the hosted checkout page returns an error and new sessions cannot be created from this link.The fully-qualified URL you share with customers, e.g.
https://your-domain.com/l/pro-plan-abc123.ISO 8601 timestamp of when the link was created.
ISO 8601 timestamp of the most recent update.
POST /payment_links
Creates a new payment link. Returns the link object with a201 status on success.
Required scope: links:write
Request body
The display name shown to customers on the checkout page, e.g.
"Pro Plan". Must be at least one character.The price as a decimal string with up to two decimal places, e.g.
"99.00" or "9". Do not include currency symbols.ISO 4217 three-letter currency code. Defaults to
"USD" when omitted. Example: "EUR", "GBP".Optional longer description displayed below the title on the checkout page.
A valid HTTPS URL to redirect the customer to after payment is confirmed.
A valid HTTPS URL to redirect the customer to if they abandon the checkout.
Example request
Example response 201
GET /payment_links
Returns a cursor-paginated list of your payment links ordered by creation time, most recent first. Required scope:links:read
Query parameters
Number of results to return. Must be between
1 and 100. Defaults to 25.A payment link
id to use as a pagination cursor. The response will include links created before this one.Example request
Example response 200
GET /payment_links/{id}
Retrieves a single payment link by its ID. Required scope:links:read
Path parameters
The ID of the payment link to retrieve.
Example request
PATCH /payment_links/{id}
Updates an existing payment link. All body fields are optional — only the fields you include are changed. Required scope:links:write
Path parameters
The ID of the payment link to update.
Request body
New display name for the link.
New description. Pass
null to clear an existing description.New decimal price string. Affects only sessions created after the update.
New ISO 4217 currency code.
New success redirect URL. Pass
null to clear.New cancel redirect URL. Pass
null to clear.Set to
false to deactivate the link and prevent new sessions from being created.Example request — deactivate a link
DELETE /payment_links/{id}
Archives and permanently deletes a payment link. The hosted checkout URL will stop working immediately. This action cannot be undone. Required scope:links:write
Path parameters
The ID of the payment link to delete.