Practical guide — create, embed, customize, sell digital and recurring with no website needed.
- Stripe Payment Links require zero code — generate a hosted checkout URL in under two minutes from the Dashboard.
- Support both one-time payments and recurring subscriptions, including trials, setup fees, promo codes and quantity selectors.
- Connect a custom domain (checkout.yourbrand.com) so customers never see a stripe.com URL during purchase.
- Integrate with anything via webhooks, Zapier, fulfillment automations and conversion tracking pixels.
- Built-in Stripe Tax handles VAT, GST and US sales tax automatically based on customer location.
The hook: payment links replaced an entire SaaS category
Five years ago, if you wanted to sell a digital product without building a full website, you paid Gumroad, Podia, Lemon Squeezy or SendOwl somewhere between $20 and $100 a month for the privilege. The pitch was always the same: a hosted checkout page, a payment processor, an email receipt, maybe an affiliate program bolted on the side. Stripe quietly turned that whole stack into a single feature called Payment Links, and in 2026 it has become the default way creators, freelancers and small SaaS founders accept money on the internet.
The pricing math is brutal for the legacy players. Stripe charges its standard 2.9 percent plus 30 cents — the same rate you would pay anyway if you integrated Stripe yourself. Payment Links add zero markup. There is no monthly subscription, no per-product fee, no platform tax. You are paying for processing, full stop. Compare that to Gumroad's 10 percent on top of card fees, or Podia's $39 minimum monthly plan, and the appeal becomes obvious. Anything that does not need a course player or a community forum is now better served by a $0 Stripe link.
Context for 2026: what changed
Payment Links shipped in 2021 as a stripped-down feature. By 2026, they have absorbed most of what used to require Stripe Checkout integration: subscriptions with trials, free trials with no card upfront, customer portals, customizable success pages, post-purchase upsells, custom domains, and full Stripe Tax integration. The 2024 release added line item adjustments and customer-defined quantities. The 2025 update added optional shipping calculation and the ability to attach metadata fields that feed straight into your CRM. As of early 2026, Stripe is rolling out one-click checkout via Link (Stripe's saved-card network) on every Payment Link by default, which has dropped checkout abandonment by roughly 30 percent on tested merchants.
The other big shift is regulatory. Strong Customer Authentication in Europe, India's RBI tokenization rules, and the patchwork of US state-level sales tax obligations all used to be problems you had to solve yourself. Stripe now handles SCA via 3D Secure 2 transparently, tokenizes Indian cards through its local acquirer, and computes US destination-based sales tax through Stripe Tax — all behind a single Payment Link toggle.
Setup: from zero to live link in two minutes
Step 1 — Activate your Stripe account
Sign up at stripe.com, verify your business details and bank account. For most countries this is instant for test mode and takes one to three business days for live payouts. You do not need a registered company — sole proprietorships and individuals are accepted in most regions.
Step 2 — Create a product
In the Dashboard go to Product catalog → Add product. Enter a name, description, image and price. Choose between one-time and recurring. For recurring, set the billing interval (daily, weekly, monthly, yearly, or custom). You can add multiple prices to one product (for example monthly and annual tiers) and the link will let the buyer choose.
Step 3 — Generate the Payment Link
From the product page click Create payment link, or go to Payments → Payment Links → New. Pick the price, configure options (collect address, custom fields, promotion codes, tax behavior, after-payment behavior), and click Create link. Copy the URL. That is your checkout. Paste it into a button, an email signature, an Instagram bio, a QR code on a flyer — anywhere a URL fits.
Step 4 — Test it once
Switch the Dashboard to test mode, run through the link with card number 4242 4242 4242 4242, any future expiration, any CVC. Confirm the receipt arrives, the webhook fires (if you set one), and the success page looks right. Then flip to live mode and you are done.
One-time vs recurring
The single biggest decision when creating a Payment Link is whether the price is one-time or recurring, because that determines what Stripe creates behind the scenes. A one-time link generates a Charge object and a one-shot Customer if you ask for an email. A recurring link generates a Subscription object, a recurring invoice schedule and a permanent Customer record with a saved payment method. Recurring links are what people actually mean when they say "build a SaaS without code" — you can run a $19/month membership entirely through one URL, with Stripe handling renewals, failed-card recovery, dunning emails and proration if the customer upgrades. One-time links are simpler and right for digital downloads, ebooks, presets, course purchases without ongoing access, consultations, deposits and physical goods. You can mix both: many creators sell a one-time onboarding fee plus a recurring monthly subscription as two linked products on the same link, which Stripe handles natively as a setup fee.
Customization: making it look like yours
Out of the box a Payment Link looks generic — Stripe blue, plain white background, your business name in 18px. Five minutes of branding fixes that. Under Settings → Branding upload your logo (recommended 512x512 PNG with transparency), set a brand color that becomes the button and accent color, and pick an accent color for highlights. Optionally upload a small icon used as the favicon on the checkout tab. These settings apply globally to every Payment Link, every Stripe Checkout session, and the customer billing portal — change them once, propagated everywhere.
Beyond branding you can customize the link itself: add a custom message above the line items, collect billing or shipping addresses, request a phone number, ask up to four custom fields (text, dropdown or numeric — useful for "How did you hear about us?"), and let buyers add a promo code. You can also let customers adjust quantity, which is useful for selling team seats or multiple licenses in one transaction. Every customization is per-link, so you can A/B test variants by creating two links with different copy and tracking which converts better.
Custom domain: hiding the stripe.com URL
Default Payment Links live at buy.stripe.com/abc123. That is fine for casual use, but it screams "I am using a third-party tool" and can hurt conversion on higher-ticket items where trust matters. Stripe lets you map a custom domain — typically checkout.yourbrand.com or pay.yourbrand.com — to your account. Go to Settings → Custom domains, enter the subdomain, add the CNAME record Stripe gives you to your DNS, wait five to thirty minutes for verification, and every Payment Link, hosted invoice and Stripe Checkout session you create gets served from your domain. The URLs become checkout.yourbrand.com/abc123 instead, and the address bar shows your branding instead of Stripe's. There is no extra cost — it is included in the standard processing fee. The only caveat is that custom domains are only available on accounts in good standing with at least some processing volume; new accounts may need to wait a few weeks before the option becomes available.
Tax handling with Stripe Tax
Sales tax is the boring problem that quietly destroys small online businesses. Sell to a customer in California and you are supposed to register, collect and remit California sales tax. Sell to a customer in Germany and you owe German VAT. Sell digital products into the EU as a non-EU seller and you need to register for the OSS (One Stop Shop) scheme. Doing this manually is unrealistic for any business with international customers, which is why Stripe Tax is one of the most underrated features of the platform. Toggle Stripe Tax on for a Payment Link and Stripe automatically detects the customer's location based on their billing address and IP, looks up the correct tax rate for that jurisdiction (down to the US zip code), validates EU VAT IDs for B2B reverse charge, applies the right rate at checkout, and shows the breakdown to the customer. Stripe Tax costs 0.5 percent of the transaction value (capped at $2.50 per transaction) on top of standard fees and saves you from registering with a dozen tax authorities yourself — though you still need to file returns, which Stripe partners like Anrok and TaxJar can automate further.
Embedding on a site or in an email
The simplest way to use a Payment Link is to share the URL directly: paste it in your bio, in a tweet, in a DM, in a confirmation email. But you can also embed it more elegantly. Stripe provides a "buy button" — a small JavaScript snippet you paste into any HTML page that renders a styled button which opens the Payment Link in a modal overlay or a new tab. You can also embed Stripe Checkout itself directly into your page using stripe-pricing-table or the embedded checkout component, which keeps the buyer on your domain throughout the entire transaction. For most use cases the standalone hosted link is enough — it is mobile-optimized, supports Apple Pay and Google Pay automatically, handles 3D Secure transparently, and works in every browser without you writing a line of code. The button embed is mostly cosmetic. Use it when you want a clean call-to-action with your branding instead of a raw URL.
Tracking conversions
The default success URL after payment is a generic Stripe-hosted thank-you page. That is the wrong place to send your buyer if you care about analytics or fulfillment, because nothing on your tracking stack ever fires. Configure the link to redirect to your own success page (add ?session_id={CHECKOUT_SESSION_ID} to the URL so you can identify the purchase), and on that page fire your Google Analytics 4 purchase event, your Meta Pixel Purchase event, your TikTok pixel, your Reddit pixel, whatever else you use. Every major attribution platform has a Stripe integration too: Triple Whale, Northbeam and AdRoll all read directly from the Stripe API and attribute revenue back to the original ad click without you wiring anything together. For server-side tracking — which you increasingly need now that browser-based pixels are throttled by ITP and ad blockers — use Stripe webhooks to send the checkout.session.completed event to your backend and post conversions to Google's Measurement Protocol or Meta's Conversions API directly. This survives ad blockers, gives you 100 percent attribution, and takes about two hours to set up the first time.
Use cases that actually work
The pattern that wins consistently is high-margin digital goods sold to a niche audience. A $97 course on a specific spreadsheet trick, a $29 Notion template, a $49 Lightroom preset pack, a $199 one-on-one consultation, a $19/month membership for a private community — these all work beautifully on Payment Links because they have no fulfillment complexity beyond emailing a download URL or a Calendly link. Coaches and consultants use them for booking deposits and full session payments. Freelancers use them to invoice clients without juggling PDFs. Newsletter writers run paid tiers via recurring links and embed Stripe-Customer-Portal so subscribers can cancel themselves. Indie SaaS founders run pre-launch signups by selling annual access at a discount before the product is built. Even physical products work if you ship a small SKU range manually — just toggle on shipping address collection and the link doubles as a one-product Shopify replacement at zero monthly cost.
Limits and when to use Stripe Checkout instead
Payment Links are not infinite. You cannot have more than one product per link unless you use Stripe Checkout's session API to build a custom basket. You cannot pre-fill customer details from your own CRM (the link generates the same checkout for everyone). You cannot run dynamic pricing based on the buyer (everyone sees the same price). You cannot apply discount logic more complex than a flat promo code. You cannot collect file uploads as part of checkout. And the success page customization, while present, is limited to a redirect URL — you cannot inject HTML or run scripts on Stripe's hosted side.
If you hit any of these walls, the answer is Stripe Checkout, which is the API-driven big brother. Stripe Checkout sessions are created server-side, accept dynamic line items, can pre-fill customer info, support per-customer pricing, and let you implement complex discount logic in your own backend. The tradeoff is you need code — typically a small server endpoint that creates a session and returns the URL. Most platforms (WordPress with WooCommerce-Stripe, Webflow Ecommerce, Framer with Stripe integration, every modern Next.js boilerplate) wrap this for you. The rule of thumb: if everyone buys the same thing for the same price, use a Payment Link. If the cart, price or customer context varies per buyer, use Checkout sessions.
Common mistakes
Mistake 1 — leaving the default success URL. If the buyer lands on Stripe's generic thank-you page, no analytics fires, no fulfillment trigger runs, and the buyer has no obvious next step. Always set a custom redirect URL, even if it is just your homepage with a "thanks" banner.
Mistake 2 — not enabling Stripe Tax until you owe back taxes. The day you cross a state's economic nexus threshold (typically $100K or 200 transactions), you owe sales tax retroactively. Stripe Tax flips on with a single toggle. Turn it on the day you launch and it costs you nothing if you never owe tax in a jurisdiction.
Mistake 3 — treating Payment Links as a permanent infrastructure choice. A link's price is fixed. If you change the price on the underlying product, existing links may keep pointing to the old archived price. Always create a new link when you reprice and update wherever the URL is shared, or you will end up selling at the old price for months.
Mistake 4 — forgetting to set up webhooks. Without a webhook listening for checkout.session.completed, your fulfillment depends on people manually checking the Stripe Dashboard. Wire up a webhook to whatever delivers the goods (a Zapier zap, a serverless function, an n8n workflow) on day one. The cheapest fulfillment path is Zapier → Gumroad-style email → Drive-hosted file, and it takes ten minutes.
Mistake 5 — running everything in test mode for too long. Test mode keys, test mode links, test mode webhooks. People build their entire flow in test mode, ship to production, and discover the live link does not exist because they only created the test version. Always recreate Payment Links in live mode and double-check the URL starts with buy.stripe.com (not pay.stripe.com which is invoice).
FAQ
Do Stripe Payment Links cost extra on top of standard processing fees?
No. Payment Links are free to create and use. You pay the same 2.9 percent plus 30 cents per successful card transaction that you would pay for any Stripe integration. International cards add 1 percent, currency conversion adds 1 percent. Stripe Tax (optional) adds 0.5 percent capped at $2.50. There is no monthly fee, no per-link fee, no setup fee.
Can I sell digital downloads through a Payment Link?
Yes, but Stripe does not host the file delivery itself. You need a fulfillment step — typically a webhook that triggers an email with a download URL, or a Zapier integration to a tool like SendOwl or BigProductStore. Many creators just upload the file to Google Drive or Dropbox, set sharing to anyone-with-link, and email the link manually for low volumes.
Can buyers pay with Apple Pay, Google Pay or PayPal on a Stripe Payment Link?
Apple Pay and Google Pay are enabled by default on every Payment Link and appear automatically on supported devices — no setup needed. PayPal is supported in some regions if you enable it under Settings → Payment methods. Cash App Pay, Klarna, Afterpay, Affirm, SEPA Direct Debit, iDEAL and Bancontact are all available depending on the customer's country. Stripe surfaces the right ones automatically based on detected location.
Can I run a free trial through a Payment Link without collecting a card?
Yes. When creating a recurring link toggle "Free trial" and set the trial length in days. You can also choose whether to require a payment method upfront or skip card collection entirely (the customer enters card details only when the trial ends). Stripe sends a reminder email three days before the trial converts, which is a built-in feature you do not have to build.
How do I cancel a Stripe Payment Link?
Open the link in the Dashboard and click Deactivate. The URL stops working immediately for new buyers, but existing subscriptions created through it keep billing normally — deactivating the link does not cancel customers who already signed up. To cancel a specific subscription, find the customer in the Dashboard and cancel from there, or expose the customer billing portal so they can cancel themselves.
What happens if a recurring payment fails?
Stripe runs Smart Retries automatically. The default schedule retries the card three to four times over the next week with intelligent timing (avoiding times when failures are most common). If retries fail, the subscription is marked past_due and Stripe sends the customer dunning emails asking them to update their card via the billing portal. You can customize the retry schedule, the email copy and the eventual cancellation behavior under Settings → Subscriptions and emails.
The bottom line
Stripe Payment Links are the closest thing the internet has to a no-code Shopify replacement for digital products. They are free, fast to set up, surprisingly flexible, and battle-tested at scale. For 90 percent of creators, freelancers and solo SaaS operators in 2026, they are the right answer — better than Gumroad on price, better than Podia on flexibility, better than custom Stripe Checkout on time-to-launch. The 10 percent of cases that need more (dynamic carts, per-customer pricing, complex discount logic) graduate naturally to Stripe Checkout sessions, which are still cheaper than the alternatives. Pair a Payment Link with a custom domain, Stripe Tax, a webhook to a fulfillment automation, and a tracking pixel on the success page, and you have effectively built a single-product e-commerce store in an afternoon for $0/month.
Key takeaways
- Payment Links are free — you pay only standard Stripe processing (2.9% + 30¢), no monthly fees.
- Use a recurring link for SaaS or memberships, one-time for digital downloads and consultations.
- Add a custom domain (checkout.yourbrand.com) on day one — it is included and dramatically improves trust.
- Toggle Stripe Tax before your first sale, not after you owe back taxes.
- Always set a custom success URL and wire up a checkout.session.completed webhook for fulfillment.
- When you outgrow Payment Links (dynamic prices, custom carts), migrate to Stripe Checkout sessions, not a new platform.
Sell from your UniLink page
UniLink lets you embed Stripe Payment Links, products and subscriptions inside your link-in-bio page — one URL, full storefront, zero monthly cost. Create your free UniLink and start selling in minutes.
Create your UniLink — free