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 agentMake 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:
- 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. - The agent sets the mapping with
set_plan_sync_mapping: which table, which column holds the email or user ID, and where to writeplanandstatus. test_plan_syncqueues 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
| Step | Who | Why |
|---|---|---|
| Stripe identity and bank details | You | Stripe requires a human for verification |
| Pasting Supabase or Firebase keys | You | Owner-only operation; keys are encrypted and never returned |
| Approving live product and price changes | You | Money-level changes from agents always wait for the owner |
| Merging the pull request | You | Code 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.



