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/mcp

Run 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 (default true).
  • 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:

  1. The script loads on your page.
  2. Both prices render: open /pricing?pf_variant=A and /pricing?pf_variant=B (localhost only).
  3. Your page works without PricingFast: open /pricing?pf_off=1. You should see today’s prices and working buttons.
  4. 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=false and 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.