Add payments to your React app in three lines. Checkout, subscriptions and payouts — embedded, your brand on the receipt, one flat rate of 3.9%. You stay the merchant, and (unlike a merchant-of-record) your users can get paid too.
Built for people shipping apps with AI agents (Lovable, Bolt, v0, Cursor, Claude Code). Powered by paas.build on UniPaaS, an FCA-authorised payment institution.
npm i @paasbuild/reactimport { PaasCheckout } from "@paasbuild/react";
<PaasCheckout vendorId={process.env.NEXT_PUBLIC_PAAS_VENDOR_ID} amount={50} currency="GBP"
onPaid={() => alert("Paid!")} />That's a live, embedded checkout — secure card fields inside your app, buyers never leave.
You need a vendorId (and, for real money, an access token). Getting one takes a sentence, not a signup form:
# tell your agent, or run it yourself:
curl -sX POST https://api.paas.build/api/go-live \
-H 'content-type: application/json' \
-d '{"business":"My App","website":"myapp.com","region":"uk"}'
# → { sandbox:{ vendorId, accessToken }, production:{ vendorId, accessToken } }Individuals go live instantly (capped until full verification). Or just click Go live at paas.build. There's also an MCP server and skill so your agent can do all of this without a UI.
import { PaasCheckout } from "@paasbuild/react";
// a Pro plan — recurring on card or Direct Debit, saved cards, one-click
<PaasCheckout vendorId={vendorId} amount={12} currency="GBP" reference="pro-monthly"
onPaid={() => upgradeUser()} />Free / Pro / Max tiers, renewals, and one-off credit top-ups for AI usage — see the subscriptions guide.
import { usePaasCheckout } from "@paasbuild/react";
function BuyButton({ vendorId }) {
const { start, loading } = usePaasCheckout({ vendorId, amount: 50, currency: "GBP" });
return <button disabled={loading} onClick={() => start().then(s => window.open(s.shortLink))}>
{loading ? "…" : "Pay £50"}
</button>;
}- vs Stripe: Stripe hands you parts and you assemble Connect, onboarding, splits and payouts yourself. Here it's done, and there's no entity/geo friction to go live.
- vs Paddle (merchant-of-record): Paddle becomes the legal seller — its name on the receipt, it owns your customer, and it cannot move money between your users. paas.build keeps you the merchant and powers platform payments. Paddle's genuine edge is global tax remittance; paas.build ships tax tooling and an MoR fallback on the roadmap.
- Price: 3.9% flat vs Paddle's 5% + $0.50 — ~41% cheaper at a $30 ticket, ~63% cheaper on a $9/mo subscription.
Full comparison: paas.build/vs-paddle.
| Prop | Type | Notes |
|---|---|---|
vendorId |
string | from go-live |
amount |
number | major units, e.g. 50 = £50.00 |
currency |
string | default GBP |
reference |
string | your order / plan id |
env |
"sandbox" | "production" |
default sandbox |
onPaid / onError / onCancel |
(e) => void |
payment events |
theme |
{ primaryColor } |
brand the checkout |
api |
string | override if you self-host the proxy |
Works anywhere React runs — Next.js, Remix, Vite, Astro islands, Lovable/Bolt/v0 output. Server-side, mint tokens with the paas.build API; the browser only ever sees a scoped session token, never your platform key.
MIT · paas.build · powered by UniPaaS (FCA No. 929994)