Install guide
Install with your coding agent, rehearse on localhost, then press Launch. Your visitors see nothing new until you do, and you can switch PricingFast off at any time.
1. Install
The quickest way is to connect your coding agent to PricingFast and ask it to “Install PricingFast on my site”. It reads your project’s setup, edits your code, then checks the install as it goes.
claude mcp add --transport http pricingfast https://www.pricingfa.st/api/mcpRun it in your project, then /mcp to sign in.
No agent with MCP? Open your project in PricingFast, choose Paste a prompt, and paste it into Cursor, Claude Code, Lovable, Bolt or v0. Either way the change is:
- An off switch,
PRICINGFAST_ENABLED(defaulttrue). - One script tag in your
<head>. - Your pricing page reads prices from
PricingFast.getProducts()and keeps today’s prices as the fallback. - Checkout buttons keep their current links and switch to PricingFast’s only when its prices loaded.
<script
src="https://www.pricingfa.st/pf.js"
data-project-id="YOUR_PROJECT_ID"
data-success-url="/app"
data-cancel-url="/pricing"
></script>Your project page fills in the project ID and where buyers land. Paths like /app work on localhost and in production.
2. Rehearse on localhost
Localhost always gets real test prices, so you can try everything before anyone sees it. The project page ticks each check as it happens:
- The script loads on your page.
- Both prices render: open
/pricing?pf_variant=Aand/pricing?pf_variant=B(localhost only). - Your page works without PricingFast: open
/pricing?pf_off=1. You should see today’s prices and working buttons. - A test purchase with card
4242 4242 4242 4242. If your Stripe account is in live mode, click Check the Stripe connection instead.
3. Launch
Deploy whenever you like: production visitors keep today’s prices. The first time your site loads the script, your project page shows a launch card and we email you. Choose how many new visitors see the test price (start with 10%), then press Launch. Agents can’t launch for you.
4. Switch it off
- Pause test, in the project header and in our emails: every visitor gets today’s prices on their next page load. Resume whenever you want. Your agent can also call
pricingfast_pause_test. - Off switch in your code: set
PRICINGFAST_ENABLED=falseand redeploy. Your site stops loading PricingFast, without any call to us. - Automatic fallback: pf.js loads in the background, so your page never waits on us. If PricingFast doesn’t answer within 1.5 seconds, your page shows today’s prices. A checkout PricingFast can’t start sends the buyer back to your pricing page, where your own checkout takes over.
Payments always go straight to your Stripe account.
Reference
Script attributes
data-project-id: your project ID (required).data-success-url,data-cancel-url: where Stripe sends buyers back.data-debug="true": logs to the browser console.
JavaScript
try {
const products = await window.PricingFast.getProducts();
// products[i].prices.month.formatted, .checkoutUrl
} catch (error) {
// error.code === "DISABLED" when not launched, paused or ?pf_off=1
// show your own prices
}
window.PricingFast.getState().status; // "ready" | "disabled" | "error" | ...TypeScript types: https://www.pricingfa.st/pf.d.ts
Stuck? Email us with your project ID.