Create a Payment Link
Create a shareable Therius-hosted checkout URL for a one-time payment or a subscription. Single-use by default, or reusable with an optional cap.
POST /payment-link creates a hosted checkout page you can send to a payer by email, chat, or QR code — no SDK integration needed. The response contains the url to share.
Link types
- One-time, fixed amount — you set
amount(amountMode: "fixed", the default). Use it for invoices and tickets. - One-time, payer-entered amount — set
amountMode: "customer_entered"and acurrency. The payer types the amount, optionally bounded byamountMinandamountMax(minor units). - Subscription — set
type: "subscription"and asubscriptionPlanId. The plan sets the price. OmitsubscriptionPlanIdand the payer picks from your active plans. Don’t sendamounton subscription links.
Single-use and reusable links
By default a link is single-use: it moves toused after the first successful payment. Failed attempts don’t consume it, so the payer can retry.
Set reusable: true to accept many payments. Add maxUses to cap the number of successful payments; the link becomes used when the cap is reached. Without maxUses, a reusable link stays active until it expires or you cancel it. maxUses requires reusable: true, and subscription links can’t be reusable.
Environment and expiry
A link takes the environment of the key that created it:prv_sandbox_ keys create sandbox links, prv_production_ keys create production links. Links expire after 7 days unless you set expiresInDays (1–365) or expiresAt (YYYY-MM-DD, end of that day in UTC).
Reference and return URL
reference is your own identifier (an invoice number, for example). It becomes the orderCode of the resulting payment. returnUrl must be an https URL (http is accepted in sandbox).
Example
Idempotency-Key header so a retried request returns the original link instead of creating a second one. See Idempotency.Authorizations
Your secret API key: Bearer prv_production_xxx (production) or Bearer prv_sandbox_xxx (sandbox).
Headers
A UUID you generate per operation. Required in production. Retrying with the same key returns the original response.
Body
one-time, subscription Your merchant account identifier. Required if the key maps to more than one merchant account.
One-time links only.
fixed, customer_entered Required for one-time links. value is required when amountMode is fixed; for customer_entered only currency is needed. Not allowed on subscription links.
customer_entered only. Minimum amount the payer may enter, minor units.
customer_entered only. Maximum amount the payer may enter, minor units.
Subscription links only. Omit to let the payer choose among your active plans.
Checkout Builder configuration to style the page.
2552000Your own reference (invoice number, PNR). It becomes the orderCode of the resulting payment.
128Where to send the payer after paying. Must be https (sandbox also allows http).
1 <= x <= 365Expiry date, YYYY-MM-DD (end of that day, UTC). Takes precedence over expiresInDays.
Accept many payments instead of one. One-time links only.
Cap on successful payments for a reusable link. Requires reusable: true.
x >= 1Response
Payment link created
The hosted checkout URL to share with the payer.
one-time, subscription used once a single-use link takes its first successful payment, or a reusable link reaches maxUses.
active, used, expired, cancelled fixed, customer_entered Absent on subscription links. For customer_entered links only currency and exponent are set.
Minimum payer-entered amount, minor units.
Maximum payer-entered amount, minor units.
Number of successful payments taken through this link.
production, sandbox 
