
Framer gives you full design control over your site—but the moment you need to collect money, you'll notice there's no native checkout, no cart, and no payment settings. Unlike platforms with built-in ecommerce, Framer doesn't offer any payment infrastructure out of the box.
That's not necessarily a problem. It just means you need to pick the right external tool for the job. And "accepting payments" can look very different depending on whether you're selling a single service, running a subscription pricing page, managing a multi-product store, or gating content behind a membership.
This guide walks through the most reliable ways to accept payments on a Framer site, from the simplest hosted checkout to full cart and membership setups.

Most Framer sites aren't online stores—they're marketing sites, landing pages, or SaaS homepages that need a clean way to collect money. Here are the most common scenarios.
Since Framer has no built-in payment system, every option involves connecting an external tool. Before choosing one, answer these questions—they'll point you to the right section of this guide:
Getting clear on these upfront saves you from adopting a tool that doesn't scale with your business.
There's no single "best" tool—there's a best tool for each business model. Here's how to match your situation to the right approach:
The fastest path for most businesses is Stripe Payment Links. The most complete "store" path is Shopify checkout or Frameshop. And if you need subscriptions with access control, Outseta or Thenty are the go-to options in the Framer ecosystem.
Stripe Payment Links are the quickest way to start accepting money: Stripe hosts the full checkout experience, and you simply link to it from your Framer site. They work for goods, services, subscriptions, tips, and donations.



Stripe automatically displays the most relevant payment methods for each visitor—including Apple Pay and Google Pay—so you get a modern checkout experience with no extra setup.

That's all it takes. You now have payments running on your Framer site.
If you're selling several offers, don't hardcode links into individual pages. Use Framer CMS to keep everything organized.

Now each CMS item gets its own Stripe Payment Link, and your template stays reusable. Add a new offer in the CMS, paste in its Stripe link, and it's live without touching the canvas.
Hosted checkout works best when you control what happens after the transaction.

Keep your thank-you page URL stable—don't change slugs mid-campaign, or your redirects will break.
Here's what most people forget: Framer has no order system, so nothing happens automatically after a customer pays. There's no order record, no fulfillment workflow, and no confirmation email from Framer's side.
Your options:

For digital products, don't rely on a public download URL that anyone could share. Use an automation that sends a unique link per purchase, or gate access behind a membership tool.
If you want the checkout trigger embedded directly on your page instead of a standard link, Stripe lets you generate a Buy Button widget for any Payment Link. The checkout experience is identical—the difference is that the CTA lives inside your Framer page as an embedded component.

If you only need one Buy Button on a page, paste the full snippet into a Framer Embed component in HTML mode.

If you're placing Buy Buttons on multiple pages, load the Stripe script once using Project Settings → Custom Code (place it at the end of the body for better performance), then add only the button element in each page's Embed component. This avoids duplicate script tags, which is a common cause of "it works on one page but breaks on another."
Important: Many embeds won't render in the Framer canvas preview. Always publish and test on the live site. If a Stripe embed shows blank, check whether the embedded service is being blocked by security headers—if so, switch to a link-based approach.
Stripe Buy Button supports attributes like client-reference-id (useful for reconciliation and webhooks) and customer-email (prefills the email field at checkout). These can be helpful if you're connecting Stripe events to downstream automation.

For B2B services, consulting, and custom projects, Stripe Invoicing is often a better fit than a generic Payment Link. Invoices support line items, partial payments, payment plans, and custom terms—things a "Buy now" button simply can't do.

Use Invoicing when:
The cleanest flow connects a Framer form directly to Stripe Invoicing through automation:
This way, a client fills out your Framer form, and within minutes they receive a professional Stripe invoice in their inbox—no manual work on your end.
Note: Framer webhooks don't follow 3xx redirects. Your endpoint must return a 2xx response or Framer will retry the request.

If Stripe Payment Links feel too limited because you need a cart, Frameshop is a Framer plugin designed to add ecommerce with cart and checkout functionality directly inside Framer.
Frameshop lets you manage products inside Framer CMS, sync them with Stripe, and build multi-product checkout flows using its provided components—product lists, product pages, and checkout UI. It's the closest you can get to a "Framer-native store" without leaving the platform.
Frameshop covers the basics well, but if your business needs advanced inventory rules, complex shipping logic, deep discounting systems, or mature order management, Shopify is still the more robust engine. Frameshop is best for sites that need cart functionality without the overhead of a full ecommerce platform.

This is the "serious ecommerce engine, best-in-class checkout" approach. You design your entire storefront in Framer, but transactions, inventory, shipping, taxes, and discounts are handled by Shopify.
The fastest path is Shopify's Buy Button sales channel:
This gives you a single-product checkout powered by Shopify's infrastructure.

The Framer Commerce plugin syncs Shopify products and collections directly into Framer, letting you build custom product grids and detail pages while Shopify handles everything behind the checkout.
This is the right choice when you need:
If your original goal was "just accept payments" but you're finding that you also need inventory, shipping, and discount management, Shopify checkout behind a Framer front-end is usually cheaper long-term than stacking multiple partial tools.
When your product is access to something—a course, a community, premium content, SaaS features—you need billing and access control working together. Stripe handles money, but it can't gate pages or authenticate users. That's where membership tools come in.

Outseta combines billing, CRM, and authentication in a single platform. Its Framer plugin lets you:
Outseta is the stronger choice when you want billing plus customer relationship management—tracking lifecycle stages, sending targeted emails based on plan status, or managing support alongside subscriptions.

Thenty focuses specifically on selling digital products with checkout control and membership features. Its Framer plugin handles Stripe integration and access gating.
Choose Thenty when your model is more "product + gated content" than "full CRM"—it's lighter and more focused than Outseta.
Both connect to Stripe and integrate natively with Framer. The decision comes down to how much customer management you need beyond the paywall.

When you need multi-item checkout with full cart functionality and you'd rather not use Frameshop or Shopify, Foxy offers a hosted cart and checkout layer that connects to Framer.
Foxy is a good fit when:
Foxy also supports purchase forms where you set the form Action to Foxy's endpoint and use hidden fields for product data like name, price, and subscription frequency.
The trade-off is maintaining a separate commerce layer alongside Framer, with its own dashboard, settings, and fees. For sites that genuinely need cart behavior without a full ecommerce platform, that trade-off is worth it.
Yes—and most Framer sites do exactly that. The standard approach is hosted checkout, where Stripe handles the entire payment experience and you link to it from a Framer button. You don't need a store, a cart, or any payment infrastructure built into Framer.
The simplest starting point is a Stripe Payment Link connected to a Framer CTA button, with a redirect back to a Framer thank-you page. Build one test offer and run it end-to-end before scaling to more products.
Create the payment URL in the Stripe Dashboard, then paste it into your Framer button's Link property in the right panel. Publish and test the full flow—click, pay, redirect.
Configure the Stripe link to redirect customers back to a published Framer thank-you page so you control the post-payment experience. Keep that page URL stable throughout campaigns so redirects don't break.
Generate the embed code from the Stripe Dashboard, then paste it into a Framer Embed component in HTML mode. If you're adding Buy Buttons to multiple pages, load the Stripe script once via Project Settings → Custom Code and place only the button element on each page.
Always test on the published site—many embeds won't render in the Framer canvas preview. If the embed shows blank, the service might be blocking iframes, in which case a standard link works better.
You have several options depending on your needs. Stripe Payment Links support recurring payments, so for simple subscriptions you can create a recurring Payment Link and add it to a Framer button. Foxy also handles subscription billing as part of its cart and checkout system.
If your subscription includes access control (gated pages, member-only content, login), you'll need Outseta or Thenty to handle authentication and page gating alongside billing.
Both use the same Stripe-hosted checkout. The difference is how the CTA appears on your page. A Payment Link is a URL you attach to any Framer button—it's the simplest approach and easiest to style natively. A Buy Button is an embedded widget that renders Stripe's own button or card UI inside your Framer page.
Choose whichever minimizes complexity on your page. Fewer scripts and embeds usually mean better performance and fewer things to debug.
No. Framer has no order system, so nothing happens automatically after a customer pays—no confirmation email, no receipt, no fulfillment notification from Framer's side.
Your options are enabling Stripe's built-in email receipts (simplest), redirecting to a Framer thank-you page with next steps, or connecting Stripe to an automation tool like Zapier or Make for custom post-payment workflows.
Use Frameshop when you need a product catalog with cart functionality inside Framer—multiple products, quantities, and a checkout flow. Stripe Payment Links handle one product per checkout, so they're not ideal when customers want to buy several items at once.
Frameshop manages products in Framer CMS and syncs with Stripe, giving you a "Framer-native store" without leaving the platform. If you need more advanced ecommerce operations (shipping rules, inventory, discounts), Shopify is the more mature option.
Yes—and it's the go-to approach when you need a real ecommerce engine behind your Framer design. The fastest path is a Shopify Buy Button embed. For a deeper integration, the Framer Commerce plugin syncs products and collections into Framer while Shopify handles inventory, taxes, shipping, and checkout.
If you started looking for "payments on Framer" but realize you also need inventory, shipping, and discounts, Shopify checkout is usually more cost-effective than stacking several partial tools.
Stripe handles billing, but it can't control what visitors see on your Framer site. You need a membership tool like Outseta or Thenty that connects to Stripe and translates "this customer has an active subscription" into "show them this page."
Both tools have native Framer plugins. Outseta is broader (billing + CRM + auth), while Thenty is more focused on digital product delivery with gated access.
Use Stripe Invoicing when you're dealing with specific clients, not anonymous buyers. Invoicing supports line items, partial payments, installment plans, and professional payment terms (net 30, net 60)—none of which Payment Links can handle.
It's the better fit for B2B services, consulting, and custom projects where each payment is unique. Connect a "Request a quote" form on your Framer site to Stripe Invoicing manually or through automation.
Accepting payments on a Framer site comes down to choosing the right external checkout for your business model. Stripe Payment Links and Buy Buttons handle most single-product scenarios. Stripe Invoicing covers high-ticket B2B. Frameshop and Foxy add cart functionality. Outseta and Thenty handle memberships with access control. And Shopify checkout steps in when you need a full ecommerce engine.
The key is matching the tool to what happens after payment—not just the checkout itself. Emails, delivery, access gating, and order management all need answers when Framer has no built-in commerce system.
If you'd rather have this implemented end-to-end with the right stack for your specific business model, our Framer team at BRIX can set it up correctly from the start.

Bulk edit Webflow CMS items without CSV loops: Ikaros, Make automations, and API batching with publish control.

Accept Stripe payments in Webflow without Ecommerce: Payment Links, membership tools, and multi-item cart alternatives.

Click-to-load embeds in Framer with a Code Override: load Calendly/Google Maps only on click, with code, setup, and DevTools checks.