Skip to content

The Payment Stack at Each Revenue Stage (ResistGate & Amethyst)

Founder mindsetMay 23, 2026

Freemius, Paddle, and custom PayPal each fit a different MRR band — pick the stage you're in, not the stack you wish you had.

The Payment Stack at Each Revenue Stage (ResistGate & Amethyst)

Most payment advice is written for SaaS companies with US bank accounts and Stripe dashboards. I'm a solo founder in Venezuela shipping two Chrome extensions — ResistGate and Amethyst. My stack has to match where revenue actually is, not where a system design interview assumes it should be.

This is the framework I use — and how tools like PayPal, Freemius, and Paddle fit at each stage when you're monetizing browser extensions, not enterprise contracts.


The Mistake to Avoid First

Indie founders routinely build $100K/month payment infrastructure for products that haven't made their first dollar.

You don't need a distributed ledger, multi-PSP failover, or authorization/capture splits on day one. You need someone to install your extension, hit a paywall, and complete checkout without you waking up to manually flip a Pro flag.

For ResistGate and Amethyst, the order is always:

  1. Ship free and earn trust in the Chrome Web Store.
  2. Charge for Pro with the smallest stack that closes the loop: pay → confirm → unlock.
  3. Harden billing when webhooks, refunds, and tax questions become weekly work — not before.

$0 – $1K/mo: The "Just Get Paid" Stage

Goal: Prove strangers will pay for Pro — or even that they'll finish checkout.

What fits extensions at this stage:

  • Free tier only — blockers and analytics running locally, no billing code at all. This is where both products started.
  • PayPal.me or a simple checkout link — fine for one-off tips or early "pay what you want" experiments. Not enough for subscriptions or license sync.
  • Stripe Checkout (no-code) — great if you have a US entity and supported country. I don't; Venezuela ruled this out for me.
  • Gumroad / Buy Me a Coffee — fast for digital goods, weak for recurring extension licenses tied to an install.

Your job: Validate demand. Minimize engineering on payments. Maximize learning from the Web Store funnel.

If you're still at $0 Pro MRR, resist building entitlements, webhooks, and JWT activation. Ship the free product. Talk to users. Watch where they ask for paid features.


$1K – $5K/mo: The "Automate Confirmation" Stage

Goal: Stop being the human between "paid" and "Pro unlocked."

What changes:

  • PSP + webhooks — PayPal subscriptions, Stripe Checkout + webhooks, or a platform that confirms payment for you.
  • A database row per customer — email, product slug (resistgate / amethyst), plan, subscription status.
  • Extension activation — your backend tells the client Pro is on; the extension never stores card data.

This is roughly where I am today: PayPal subscription checkout on orlandoascanio.com, webhooks into Neon Postgres, signed entitlement tokens back to the extension. Same pattern for both products — one codebase, two plan catalogs.

Upgrade trigger: You're manually confirming payments, answering "I paid but Pro didn't unlock" daily, or losing trust in the gap between PayPal approval and feature access.

At this stage, Paddle and LemonSqueezy are worth a look if tax/VAT and merchant-of-record complexity already hurt — Paddle acts as seller of record and handles global sales tax. I stayed on PayPal because it worked from Venezuela; your geography may differ.


$5K – $25K/mo: The "Real Integration" Stage

Goal: Subscriptions, invoices, refunds, and tax without everything living in your head.

Tools that matter for extensions:

Freemius

Freemius was built for plugin and extension developers. It handles:

  • In-dashboard checkout and licensing
  • Subscription billing and trials
  • License key generation and activation inside the product
  • Analytics on conversion and churn

If I weren't already deep into custom PayPal + entitlements for ResistGate and Amethyst, Freemius would be the first third-party I'd evaluate. It replaces a lot of the glue I wrote by hand — checkout sessions, email-to-license mapping, renewal state — with a productized layer meant for exactly this shape of business.

The tradeoff: less control over checkout UX, more dependency on their platform and fee structure. For many extension founders, that's a good trade.

Paddle (merchant of record)

Paddle is less "extension SDK" and more merchant of record: they sell on your behalf, handle VAT/sales tax in many regions, and pay you net of compliance work.

Strong fit when:

  • EU/UK buyers are a meaningful share and you don't want to register for VAT yourself
  • Refunds, invoices, and subscription lifecycle should be someone's else's problem
  • You're okay with Paddle owning the customer relationship at checkout

Weaker fit when:

  • You need a fully custom extension-native flow and can't embed their checkout
  • Your country or payout setup doesn't work with their seller requirements

Also at this stage: Stripe API (if you have an entity), proper refund policies, and branded receipts — whether you stay on PayPal or move to Freemius/Paddle.

Upgrade trigger: Plan changes, proration, and tax questions take more time than shipping product features.


$25K – $100K/mo: The "Don't Break Things" Stage

Goal: Edge cases cost real money.

What you add:

  • Idempotency on webhook handlers — PayPal (or Paddle/Freemius callbacks) may retry; don't double-grant Pro.
  • Webhook signature verification — treat unsigned events as hostile.
  • A ledger mindset — entitlements table is source of truth; reconcile against PSP reports monthly.
  • Clear authorization vs capture if you add one-time purchases alongside subscriptions.

For ResistGate and Amethyst, "break things" looks like: duplicate Pro grants, expired subscriptions still unlocked, chargebacks you didn't notice, or EU customers asking for invoices you can't produce.

Freemius or Paddle absorb much of this if you migrated earlier. If you stayed custom, this is when payment code gets tests and monitoring — not when you first charge $4.99/month.


$100K+/mo: The "Senior Engineer" Stage

Goal: Uptime, fraud, reconciliation, and scale — the content of Hayk Simonyan's payment system design video.

Multi-PSP failover, distributed architecture, reconciliation pipelines, fraud scoring — brilliant engineering, irrelevant until you're processing enough volume that downtime and double-charges show up in P&L.

Two extension products are unlikely to be here before a team is. If you are, you've probably outgrown solo-founder billing entirely.


Where I Am on the Ladder (ResistGate & Amethyst)

StageStack
Now (~$1K–$5K path)Free tier in Chrome → PayPal subscriptions on site → webhooks → Postgres entitlements → extension API unlock
Next if custom code hurtsEvaluate Freemius for license + subscription UX built for extensions
Next if tax/compliance hurtsEvaluate Paddle as merchant of record instead of owning VAT globally
Not yetStripe Atlas + Stripe Billing (needs US entity), idempotency hardening at scale

I'm not ashamed of a smaller stack. I'm ashamed of the version where I spent six weeks on billing before a single Pro subscriber existed.


How Freemius and Paddle Compare (For Extension Founders)

Choose Freemius when you want the product experience to feel native to WordPress/plugins/extensions, you're fine with their checkout and license layer, and you'd rather not maintain webhook + JWT infrastructure yourself.

Choose Paddle when global tax, invoicing, and MoR are the bottleneck — especially if US/EU buyers dominate and you're drowning in compliance, not in license-key plumbing.

Stay on custom PayPal (or Stripe) when you already shipped entitlements, need full control of pricing pages and extension deep links, or your country limits which platforms pay you out.

None of these is morally better. They're stage-appropriate. ResistGate and Amethyst needed something that worked from Venezuela; PayPal plus a thin backend was that. Freemius and Paddle are the honest "what I'd compare on a spreadsheet" options when the pain moves from getting paid to running billing as a business.


The One-Line Summary

Start with the smallest stack that unlocks Pro after payment. Add Freemius when extension licensing becomes your part-time job. Add Paddle when tax and MoR become your part-time job. Build senior-engineer payment architecture when revenue — not ambition — demands it.

For the full story of my current setup, see How I Handle Payments as a Solo Founder (ResistGate & Amethyst) — same products, same constraints, more implementation detail.


I'm Orlando. I build browser extensions from Venezuela — ResistGate and Amethyst. I write about payments, shipping, and the unglamorous middle of going from free to Pro. orlandoascanio.com

Notes from the build

Get more AI engineering insights

Follow the work: AI tools, browser products, product decisions, and honest lessons from the build.

By subscribing, you agree to receive Orlando's emails. No spam. Unsubscribe anytime.

The Payment Stack at Each Revenue Stage (ResistGate & Amethyst) | Orlando Ascanio