{"slug": "adding-real-payments-to-a-base44-app-3-insertion-points-tested", "title": "Adding real payments to a Base44 app (3 insertion points, tested)", "summary": "Oded, co-founder of UniPaaS, tested three methods for integrating external payment providers into Base44 apps: MCP connections, OpenAPI integrations, and backend functions. The MCP connection provisions accounts and scaffolds flows during development, while OpenAPI integrations and backend functions handle runtime charging. The choice depends on whether developers prefer workspace-administered setup or full control over payment logic.", "body_md": "Disclosure up front: I'm Oded, co-founder of UniPaaS, the FCA-authorised Payment Institution (No. 929994) behind paas.build - so this is a vendor writing about his own product. That said, the three Base44 mechanics below are documented Base44 surfaces, and they work with any external payments API, not just ours.\n\nTell Base44 \"add payments\" and it installs Stripe or Base44 Payments (powered by Wix), plus Tranzila/Max for Israel. Both main options are solid if you qualify: Stripe is excellent infrastructure with first-class docs, and the Wix-powered option is native to the platform. The fine print is where builders hit a wall:\n\nIf you have a registered company in a supported country and mostly sell one-off purchases, use the built-in Stripe path. It's the smoothest. The rest of this post is for everyone else.\n\nBase44 gives you three documented ways to wire in an external provider. I tested all three with paas.build. Here's each, and when it fits.\n\nIn Base44: **Settings → Account → MCP connections → Add custom MCP**.\n\n```\nName:       paas.build\nServer URL: https://paas.build/sse\nAuth:       API key (your paas.build key)\n```\n\nThat's the legacy SSE endpoint Base44's form takes; streamable HTTP lives at `https://paas.build/mcp`\n\nfor agents that support it.\n\nBase44's AI treats MCP connections as tools it can call when your request needs external data or actions. So in the editor chat you can say \"use paas.build to create a live merchant account and a checkout\" and it calls `identify_business`\n\n, `go_live`\n\nand `create_checkout`\n\ndirectly.\n\n**When it fits:** provisioning the account and scaffolding the flow. One real limit: Base44 runs MCP in the editor chat while you build, not at app runtime. Use it to open the account and generate the code, then one of the two runtime paths below to actually charge customers.\n\nA workspace admin registers the OpenAPI spec once: `https://paas.build/openapi.json`\n\n. Your API key is stored as an encrypted workspace secret, and your app calls the integration at runtime:\n\n```\nconst { shortLink } = await base44.integrations.custom.call(\n  \"paasbuild\", \"createCheckout\",\n  { vendorId, amount: 29, currency: \"GBP\" }\n);\n```\n\n**When it fits:** you want runtime charging without writing server code, and you're fine with a workspace admin owning the setup. It's the cleanest separation of secrets from app code.\n\nBase44 backend functions run on the server, so secrets live in environment variables and you can fetch any external API:\n\n```\n// Base44 backend function\nexport default async function createCheckout({ amount }) {\n  const r = await fetch(\"https://paas.build/api/checkout\", {\n    method: \"POST\",\n    headers: { \"content-type\": \"application/json\" },\n    body: JSON.stringify({\n      vendorId: Deno.env.get(\"PAAS_VENDOR_ID\"),\n      amount, currency: \"GBP\"\n    })\n  });\n  return await r.json(); // { shortLink, sessionToken }\n}\n```\n\n**When it fits:** you want full control - custom logic around the charge, your own error handling, no dependency on a workspace admin. This is the path I'd default to for anything beyond a demo.\n\nThe reason to reach past the built-ins at all:\n\nPick insertion point 1 to get an account and scaffold, then 2 or 3 to charge. The full recipe with the same endpoints lives at [https://paas.build/base44](https://paas.build/base44).", "url": "https://wpnews.pro/news/adding-real-payments-to-a-base44-app-3-insertion-points-tested", "canonical_source": "https://dev.to/odedunipaas/adding-real-payments-to-a-base44-app-3-insertion-points-tested-bic", "published_at": "2026-07-10 06:39:06+00:00", "updated_at": "2026-07-10 06:41:45.514577+00:00", "lang": "en", "topics": ["developer-tools", "ai-products"], "entities": ["Oded", "UniPaaS", "Base44", "Stripe", "Wix", "Tranzila", "Max", "paas.build"], "alternates": {"html": "https://wpnews.pro/news/adding-real-payments-to-a-base44-app-3-insertion-points-tested", "markdown": "https://wpnews.pro/news/adding-real-payments-to-a-base44-app-3-insertion-points-tested.md", "text": "https://wpnews.pro/news/adding-real-payments-to-a-base44-app-3-insertion-points-tested.txt", "jsonld": "https://wpnews.pro/news/adding-real-payments-to-a-base44-app-3-insertion-points-tested.jsonld"}}