Lesson 6 / 25
Payment Links and Choosing an Option
No-code links, and when to use each approach.
Payment Links and the trade-offs
A Payment Link is a shareable URL to a Stripe-hosted payment page, created in the Dashboard without code or through the API. It suits invoices sent by chat, social posts and quick launches. Checkout adds per-customer sessions created by your server, so you can tie payments to your users and orders with little front-end work. The Payment Element gives the most control over the page and flow, at the cost of more code: you manage the PaymentIntent, confirmation and return page yourself. A sensible default is to start with Checkout and move to the Payment Element only when you need a fully custom experience.
Creating a Payment Link via the API
A reusable link to a fixed price.
const link = await stripe.paymentLinks.create({
line_items: [{ price: 'price_...', quantity: 1 }],
metadata: { campaign: 'spring-launch' },
});
console.log(link.url); // share this URL anywhere
Takeaway, dine-in or private chef
A Payment Link is a takeaway menu anyone can order from, Checkout is a restaurant that seats you at your own table, and the Payment Element is a private chef who cooks exactly what you design in your own kitchen.
Quick check: Which option needs no code at all to start accepting payments?
- Stripe Connect custom accounts
- The Payment Element
- A custom PaymentIntent flow
- Payment Links created in the Dashboard
Answer
Payment Links created in the Dashboard — Payment Links can be made entirely in the Dashboard.