Payment links
Create no-code shareable links to collect payments.
Payment links let you collect a payment without writing code — create a link, share the URL or QR code, and VINR hosts the entire checkout. They are ideal for invoices over email, social bios, point-of-sale QR codes, and quick one-off requests where standing up a checkout page would be overkill.
How a link worksAsk
A payment link wraps the same payment model described in How payments work. When a customer opens the link, VINR creates a fresh payment behind the scenes, runs hosted checkout, and redirects to your returnUrl (or a default thank-you page) on completion. You never touch card data, and every method enabled on your account — cards, SEPA, iDEAL, stablecoins — appears automatically.
share link → customer opens → VINR creates pay_… → hosted checkout → returnUrl + webhookOne-time vs. reusableAsk
The reusable flag is the single most important choice when creating a link.
A one-time link accepts exactly one successful payment, then closes. Use it for a specific invoice or a single sale where a second charge would be a mistake.
const invoiceLink = await vinr.paymentLinks.create({
amount: 12000,
currency: 'EUR',
description: 'Invoice 2026-0418',
reusable: false,
expiresAt: '2026-06-30T23:59:59Z',
});A reusable link stays open and creates a new payment for every visitor — perfect for a donation page, a product in a bio, or a counter QR code. Bound it with maxPayments or expiresAt when you need a hard stop.
const donateLink = await vinr.paymentLinks.create({
currency: 'EUR',
description: 'Support our work',
amountEditable: true,
reusable: true,
maxPayments: 1000,
});Next stepsAsk
Create a payment link
Step-by-step: create your first link from the Dashboard or API.
Share a payment link
URLs, QR codes, and buy buttons.
Track a payment link
Conversion metrics, webhooks, and metadata.
Last updated on