Create a link
- In the dashboard, go to Payment links → Create link.
- Set a title (what the buyer sees, e.g. “Consulting invoice”), an amount, and a currency (CHF, EUR, USD or GBP — the form lists only the currencies Qint currently offers; existing links in a currency that is later switched off keep working).
- Share the link’s URL.
Amount limits
Every payment must be between CHF 10 and CHF 100’000. For EUR, USD and GBP links the limit is judged on the CHF equivalent at the current exchange rate. The check runs when you create the link and again when a buyer starts paying, so a link whose amount falls outside the band is refused with anamount_out_of_range error and the dashboard shows the message (“Payments must be between CHF 10 and CHF 100’000 (or the equivalent). This amount is CHF 5.40.”). If the exchange rate source is briefly unavailable, creation is refused with “Exchange rate unavailable — try again in a minute.” rather than guessed.
Qint can agree a different maximum for your merchant account. Ask support@qint.ch if your tickets exceed CHF 100’000.
If a link was created before your cap changed and its amount is now outside your allowed range, the buyer sees “This payment is outside the merchant’s allowed range — please contact the merchant.” instead of the asset grid. Archive the link and create a new one at an amount within your range.
URL anatomy
/pay/{id} route on the hosted checkout resolves all three payable objects by their id prefix: payment links (pl_…), invoices (inv_…), and API-created payment intents (pi_…).
What the buyer sees
Opening the link shows the title, amount, your business name and branding, and a grid of the assets and networks you accept with live indicative crypto amounts. When the buyer starts paying, a payment intent is created with a 15-minute window; picking an asset locks the exact crypto amount and shows a deposit address.Link lifecycle
Change a link’s status from its page in the dashboard (Owner/Admin only). Payments made through a link appear in Payments like any other, with the link id attached — and they trigger the same
payment.status webhooks with paymentLinkId set.