# Payment Links and Choosing an Option — Stripe Payments

Source: https://www.skillbyai.com/en/stripe-payments/a-links

> 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.

```javascript
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.

**Quiz:** Which option needs no code at all to start accepting payments?

- [ ] Stripe Connect custom accounts
- [ ] The Payment Element
- [ ] A custom PaymentIntent flow
- [x] Payment Links created in the Dashboard

*Answer:* Payment Links created in the Dashboard. Payment Links can be made entirely in the Dashboard.
