Fondoo

Make your Lovable app paid in one prompt

You built the app in Lovable. Here's how one prompt to your agent adds a $9/month plan, a pricing page, Stripe checkout and paid-access sync, and which few steps still need you.

Fondoo team avatar: Fondi the fondue pot Fondoo team · 6 min read Guides
Fondi and a founder catching gold coins in the strawberry meadow

TL;DR

  • Connect Fondoo to your agent (Claude, ChatGPT, Codex, Cursor) over MCP, then ask it to "make my app paid at $9/month."
  • The agent creates the product and price, adds a pricing section, opens a pull request with checkout wired in, and syncs who paid into your Supabase table.
  • You still do three things yourself: Stripe identity verification, pasting your backend key, and approving live money changes. That's on purpose.
  • Fondoo is $24/site/month after a 7-day trial. See /pricing.

Lovable is great at getting an app on screen. The step that tends to stall is the business part: a plan, a price, a checkout, and a way for your app to know who paid. This guide walks through doing that with one prompt to your own AI agent, and it's honest about the parts that need a human.

What "one prompt" actually does

You type something like this to your agent:

You, to your agent

Make my Lovable app at https://myapp.lovable.app paid. One plan called Pro at $9/month. Add a pricing section to the marketing site, wire checkout into the app, and make sure paying users get Pro access in Supabase. Show me everything before it goes live.

Behind that, the agent calls real Fondoo operations. A typical run looks like this:

create_business({ name: "My App", url: "https://myapp.lovable.app", kit: "saas" })
create_site_from_template({ businessId, subdomain: "myapp", template: "saas" })
connect_app({ siteId, appUrl: "https://myapp.lovable.app", host: "lovable" })

upsert_product({ siteId, mode: "test", name: "Pro", plan: "pro", kind: "subscription",
  price: { amount: 900, currency: "usd", interval: "month" } })
add_pricing_block({ siteId, mode: "test", pageId, priceIds: [priceId],
  successUrl: "https://myapp.com/welcome", cancelUrl: "https://myapp.com/pricing" })

set_plan_sync_mapping({ siteId, mode: "test",
  mapping: { table: "subscriptions", keyColumn: "email", planColumn: "plan", statusColumn: "status" } })
create_integration_pr({ siteId, offerId })

Amounts are in cents, so 900 is $9.00. Everything starts in test mode, so you can click through a real Stripe Checkout with a test card before anything touches real money.

Step by step

1. Connect your agent

In Claude, ChatGPT, Cursor or Claude Code, add Fondoo as an MCP server and sign in. If your client doesn't support MCP, the same operations are available over REST at /v1/ops/OPERATION. The Claude setup post shows the connection step in detail.

If you're not sure which tool to call, the agent can use find_tools to search every operation by name or category.

2. Register the app and your marketing site

create_business and create_site_from_template give you a marketing site with editable pages. connect_app registers your Lovable app and plans the routing: by default the marketing site lives at your root domain and the app at app.yourdomain.com. If you'd rather mount the app under a path, pass routing: "path" and it serves at /app.

In Lovable, connect GitHub in project settings so your app lives in a repository you own. Fondoo works through that repo. It doesn't assume any Lovable management API.

3. Onboard Stripe (you do this part)

The agent calls get_stripe_onboarding_link. That creates a Stripe connected account and returns a Stripe-hosted onboarding page. You open it and complete identity and bank details. No agent can do KYC for you, and it shouldn't.

Payments use Stripe Connect with direct charges, so the customer pays your Stripe account and you get the full Stripe Dashboard. The Stripe safety post explains that setup and the 1% platform fee.

4. Create the product, price and pricing section

upsert_product creates the Pro plan with its first price. add_pricing_block inserts a pricing section on a page you choose, bound to real prices, and keeps page history so you can undo.

When you're ready to switch from test to live, the same calls run with mode: "live". Live product and price changes made by an agent go into an approval queue. You get a link, review the exact change, and approve or reject it.

5. Wire checkout into the app with a pull request

Agents can open a reviewable pull request with create_integration_pr. You (or Lovable) bind GitHub once with connect_github and grant the Fondoo GitHub App contents and pull-request write access. The PR adds the analytics tag, the checkout link for your offer and, where the code structure isn't recognized, TODO files explaining what to place where.

Nothing merges automatically. Review the diff, run the build, then merge.

If you'd rather skip the PR, create_checkout_link returns a hosted Stripe Checkout link you can paste behind any "Upgrade" button. Creating a link doesn't charge anyone.

6. Sync who paid into Supabase

This is the part that usually turns into a weekend of webhook code. Instead:

  1. You connect your backend with connect_backend (Supabase URL and service key, or a Firebase service account). This is an owner step: the agent can ask for it, but you paste the key through a secure link, not into chat.
  2. The agent sets the mapping with set_plan_sync_mapping: which table, which column holds the email or user ID, and where to write plan and status.
  3. test_plan_sync queues a sync for an existing customer so you can watch a row update. It never invents paid access.

From then on, when Stripe reports a checkout, renewal, failed payment or cancellation, Fondoo updates that row. Your Lovable app only has to read its own table: "if plan is pro and status is active, show the Pro features."

For Firebase, the default target is custom claims keyed by user ID, or you can write to a Firestore document.

7. Announce it

Once it's live, the same agent can tell people. schedule_social_posts posts your supplied copy to the networks you've connected, with tracked links so you can see which post led to which paid signup. See posting to 21 networks (and drafting for Reddit) from Claude.

What stays with you, and why

StepWhoWhy
Stripe identity and bank detailsYouStripe requires a human for verification
Pasting Supabase or Firebase keysYouOwner-only operation; keys are encrypted and never returned
Approving live product and price changesYouMoney-level changes from agents always wait for the owner
Merging the pull requestYouCode changes to your app stay reviewable

Agents can't refund, pay out or move money in Fondoo at all. Refund requests go to you, with a link to handle them in Stripe.

Common snags

  • "Subdomain already exists." Pick another subdomain for create_site_from_template.
  • The app needs a base path. If you use routing: "path", configure the app's base path, assets and auth callbacks for /app.
  • No paid row appears. Check that the email or user ID your app uses matches what's passed at checkout. Firebase users need to refresh their ID token to see new claims.

FAQ

Does this work with Bolt, Replit, v0 or a hand-coded app?

Yes. connect_app accepts lovable, bolt, replit, vercel, netlify and other as hosts. The GitHub pull request path works for any framework.

Do I need my own Stripe account?

You go through Stripe's onboarding, which creates a connected account that you own and can manage in the full Stripe Dashboard. If you already have a Stripe account, you can connect it directly instead. Details are in the Stripe post.

What does Fondoo charge?

$24/site/month after a 7-day trial ($0, card required). Checkout through Fondoo carries a 1% platform fee on top of Stripe's own fees. Full details on /pricing.

Can I test it before charging anyone?

Yes. Every payment operation takes mode: "test", and you can complete a full Stripe Checkout with Stripe's test cards. During the trial you work in preview with test-mode payments; live payments start when you go live.

Can the agent change my prices later without asking?

No. Live product, price and plan-sync changes requested by an agent create an approval request. You decide.


Ready to try it on your own app? Start your 7-day trial for $0 and give your agent the prompt above.

All posts

Get the next guide by email

New posts from the Fondoo blog, sent when we publish: guides, integrations and product updates.

We only send new posts and product news, never anything else. Every email has a one-click unsubscribe link.

Mallow the marshmallow mascot holding a letter