Eligibility
Built-in payments support digital products and software:- SaaS apps with subscription tiers
- Consumer apps with premium unlocks or one-time purchases
- Memberships and communities with recurring access fees
- Digital downloads such as e-books, templates, courses, or music
- Developer tools with API access or usage-based plans
Before you start
Requirements
- Pro plan or higher: built-in payments require a paid Lovable plan.
- Lovable Cloud: built-in payments use Lovable Cloud for webhooks and subscription data. If Cloud is not already enabled, Lovable will ask you to activate it during setup.
- Authentication recommended: your app should have authentication so purchases can be linked to individual users.
How setup works
The setup flow has two parts:- Set up and test: enable a payment provider, create products and prices, and test everything in the preview using test cards. No real money is charged.
- Go live: complete your provider’s verification process, run a readiness check, and publish. After going live, your test environment stays available for safe testing alongside the live environment.
Test and live environments
Lovable manages two separate payment environments that map to how you already use your project: Test mode applies when you use your project in the preview. Checkout only accepts test card numbers. Real cards will not work and no money is charged. Use this to build your payment flow and verify that everything works before going live. Live mode applies to your published app. Checkout processes real cards and customers are charged real money. Each environment has its own products, prices, and transaction history. When you publish your project, products and prices sync from test to live automatically (see Publishing and product sync). Payments in the preview work right away after setup. Checkout on your published app will not process real payments until you complete the go-live steps. The Payments tab has a toggle to switch between test and live data. In your app, Lovable adds a test mode banner that only appears in the preview and is hidden on your published site. After going live, both environments stay active. You can continue testing new products and changes in the preview before syncing them to live.Set up payments
Choose your provider
Lovable analyzes your project and either presents both providers or gives a recommendation. If your product is restricted under one provider’s policies, Lovable will guide you to the other. Here is how they compare:| Paddle | Stripe | |
|---|---|---|
| Who is eligible | Digital products and software in supported countries | Digital products, services, and physical products in Stripe-supported countries |
| Benefits | Dedicated merchant of record with global tax collection, invoicing, and receipts. Simple, predictable per-transaction pricing. | Optional merchant of record on a per-transaction basis. Lower processing cost for domestic sales. Supports services in addition to digital products. |
| Cost | 5.0% + 50¢ per transaction, no monthly fee | Standard Stripe pay-as-you-go rates |
| Best for | SaaS apps and digital products selling to a global audience | Projects selling services, targeting domestic markets, or needing per-transaction control over MOR |
Enable payments
Ask Lovable to add payments
Review the feature overview
Fill in the account setup form
- Email address: must not already be registered with Paddle. If it is, use a plus alias like
yourname+lovable@gmail.com. Emails sent to a plus alias automatically arrive in your main inbox (yourname@gmail.com), so you don’t need a separate account. - First and last name: your legal name (pre-filled from your Lovable account).
- Project name: used as your business name and statement descriptor on bank statements.
- Acceptable use policy: you must agree to Paddle’s acceptable use policy, terms of use, and privacy policy.
- Email address: used to register your Stripe account (cannot be changed after setup).
- Name: your business or personal name.
- Country: where your business is registered.
The payments tab
Once payments are enabled, a Payments tab appears in your project toolbar. It includes:- Environment toggle: switch between test and live data
- Revenue analytics: net revenue, active subscriptions, and charts over 7/30/90-day ranges
- Transactions: product, customer, amount, status, and date for each transaction
- Adjustments: refunds, credits, and chargebacks. Each entry shows action type, amount, reason, status, and date
- Go-live checklist: tracks your progress toward accepting real payments
Customer portal
Both Paddle and Stripe provide a hosted customer portal where end users can cancel subscriptions, update payment methods, and view invoices. To add it:Checkout display modes
Paddle supports two checkout modes:- Overlay (default): a modal appears on top of the current page.
- Inline: checkout is embedded inside the page layout.
Testing
Your test environment is active immediately after setup. Use the preview to test the full payment flow before going live.Test cards
| Card number | Result |
|---|---|
| 4242 4242 4242 4242 | Successful payment |
| 4000 0000 0000 3220 | Payment with 3D Secure |
| 4000 0000 0000 0002 | Failed payment |
What to test
Verify that your business logic works end-to-end:- Complete a test purchase and confirm the correct features unlock.
- Check that entitlements, modals, notifications, and redirects all behave as expected.
- Review transactions in the Payments tab.
Scenarios to consider
- Upgrades and downgrades: does switching tiers grant the correct features?
- Cancellations: does the user retain access until the end of their billing period?
- Renewals: does the subscription renew and continue granting access?
- Failed payments: does the app handle
past_duestatus gracefully? - Trials: does a trialing user get access, and does billing start correctly after the trial ends?
- Discount codes: does the discounted price apply correctly at checkout?
Go-live
When your app is ready to accept real payments, open the Payments tab and follow the go-live checklist.Going live with Paddle
Readiness check
- Privacy policy exists
- Terms of service exist
- Refund policy exists
- Site content is genuine and complies with Paddle policy
Project setup
Verification (KYC/KYB)
- Ask Lovable to hide the checkout button in production until verification completes
- Wait to publish your project
- Publish anyway (checkout will not function until approved)
Domain review
Going live with Stripe
Claim your Stripe account
Complete go-live steps in Stripe
- Set up your Stripe account
- Verify your email
- Complete account onboarding
Readiness check
- Privacy policy exists
- Terms of service exist
- Refund policy exists
- Site content is genuine and substantive
Publishing and product sync
When you publish your project, products and prices created through Lovable automatically sync to your live environment for both Paddle and Stripe. You do not need to recreate them manually.Limitations
- Digital products by default: for physical products, use the Shopify integration or built-in payments powered by Stripe.
- One payment provider per project: you cannot run Paddle and Stripe in the same project.
- One subscription per user per environment by default: each user can have one active subscription. If you need add-ons or multiple subscriptions, ask Lovable to adjust this.
- Projects with payments cannot be remixed: once payments are enabled, the project cannot be forked.
- Checkout styling and payment methods: these must be configured in your provider’s dashboard, not through Lovable.
- Do not create webhooks manually: Lovable registers webhook endpoints automatically. Duplicates can cause issues.
Best practices
- Run the readiness check before submitting verification: fixing issues early prevents delays.
- Use a custom domain before going live: providers review your live domain. A custom domain looks more legitimate than
.lovable.app. - Test the full subscription lifecycle in the preview: purchase, cancellation, renewal, failed payments, and trials.
- Choose a clear statement descriptor: customers should recognize the charge on their bank statement.
- Do not revoke access immediately when a subscription is canceled: the user has already paid through the end of their current billing period and should retain access until then.
- Handle failed renewals gracefully: prompt the user to update their payment method rather than immediately revoking access.
- Manage products through Lovable: manual changes in the provider dashboard can create mismatches between environments.
FAQ
Do I need to sign up for Paddle or Stripe?
Do I need to sign up for Paddle or Stripe?
What is the difference between Paddle and Stripe?
What is the difference between Paddle and Stripe?
My email is already registered with Paddle. What should I do?
My email is already registered with Paddle. What should I do?
yourname+lovable@gmail.com is an easy option. Any email sent to a plus
alias automatically arrives in your main inbox (yourname@gmail.com), so you
don’t need to create a separate account. It’s just a way to use a variant of
your existing address.My country is not in the dropdown. Why?
My country is not in the dropdown. Why?
The readiness check failed. What should I do?
The readiness check failed. What should I do?
Can I offer both monthly and yearly billing?
Can I offer both monthly and yearly billing?
Can I offer a free trial?
Can I offer a free trial?
trialing status and should grant access like
active subscriptions.Can I offer discount codes?
Can I offer discount codes?
Can I customize checkout appearance or payment methods?
Can I customize checkout appearance or payment methods?
The checkout is not working on my published site. Why?
The checkout is not working on my published site. Why?
How long does account verification take?
How long does account verification take?
What are adjustments?
What are adjustments?
The customer portal is not working. What is wrong?
The customer portal is not working. What is wrong?