SETSimple Easy Transactions
STRIPE BUYER'S GUIDE

Stripe Embedded Checkout vs Payment Links

By , Founder of Simple Easy Transactions · Published ·

Should I use Stripe's embedded Checkout or a Stripe Payment Link? I use a Stripe Payment Link when I need to get paid without writing code: Stripe gives me a link, I share it, and Stripe runs the whole page. I use embedded Checkout when the payment has to happen inside my own site and be set up fresh for each order. Both take the card on Stripe's side, and with both I wait for Stripe's signed webhook before I deliver anything.

AT A GLANCE

Embedded Checkout vs Payment Link.

QuestionEmbedded CheckoutPayment Link
Where the customer paysInside your pageOn a Stripe-hosted page
SetupA server route that starts each checkout, plus a spot on your pageNone; you create the link in the Stripe Dashboard
Changes per orderYes; each checkout is made for one customer and one orderNo; the link stays the same until you edit it
Where you can share itOnly on your own siteAnywhere: email, social posts, a QR code or a button
Card detailsCollected by StripeCollected by Stripe
What proves the paymentStripe's signed webhookStripe's signed webhook

HOW EACH ONE WORKS

How each one works.

A Payment Link is a reusable address tied to a product and price in your Stripe account. You make it in the Dashboard in a couple of minutes, and Stripe hosts the page, sends receipts and lets you refund without code. You can share it by email, on social media, as a QR code or as a buy button on your site.

Embedded Checkout is the same Stripe Checkout page, placed inside your site. Because your server creates a Checkout Session for each purchase, it can set the price, the customer and your own order details at the moment someone buys. That per-order control is the real difference: a Payment Link is fixed until you edit it, while a session is built for one customer and one order.

Whichever you choose, deliver from the checkout.session.completed webhook, not from the page the customer lands on afterwards, and listen for the later payment events if you accept bank payments that settle after checkout.

FIELD NOTES

What I've learned building this.

  • I started with Payment Links for the fixed-price builds and the Embedded Checkout Starter Kit, then moved every purchase on this site into the page itself, so a buyer never leaves the page they were reading to pay.
  • Open Payment adds one step: the customer types the amount, and my server checks it against the allowed range before Stripe ever sees it.
  • My server writes the version of my terms the buyer agreed to onto every Checkout Session it creates, so the record my webhook creates for the sale is complete. I kept the old Payment Links active, so a link I already sent someone still works.

HOW TO CHOOSE

How I'd choose.

  • Choose a Payment Link when the price is fixed and you want to start selling today.
  • Choose embedded Checkout when the price, customer or order details change with each purchase, or when leaving your site would break the flow.
  • Use both when you want a checkout inside your site plus a link you can share anywhere.

SOURCES

Where these facts come from.

Sources checked on . Providers change their products and rules, so the linked pages are the final word.

KEEP READING

BUILT ON STRIPE, PRIVY AND BRIDGE

The provider documentation behind this page.

SET Wallet & Cash-Out runs on Privy and Bridge, and SET's payment builds run on Stripe. Each provider's own documentation is the final word on how its part works. Links checked on .

Simple Easy Transactions is a separate company from Stripe, Privy and Bridge. It uses their services under its own accounts; they do not endorse SET.