Method Pay running inside Method CRM

At a glance

RoleDesign Lead · Method Pay
Duration2025 → GA 2026 (pilot Sept 2025)
DeliverablesProvider evaluation · hybrid architecture · six money surfaces · adoption strategy · measurement plan
ContextMethod CRM · US small businesses · Stripe embedded components

The problem

Method runs the whole customer relationship — contacts, pipeline, estimates, invoices. But the moment money actually moved, the experience left the platform. Payments ran through a bolted-on third-party gateway with its own setup, its own dashboard, and its own support queue.

The invoice lived in Method. The payment lived somewhere else. The problem was never “we lack payments” — it was that we didn’t own them. Ten gateways in the picker, and per transaction exactly one margin earner: whichever one the merchant happened to choose. The software doing the work captured none of the money passing through it.

The gateway era — Method's payment gateway picker listing ten third-party providers
84%

of accounts had never enabled payments at all

20%

our share of processing revenue — the gateway took the other 80%

41%

six-month payment retention — the incumbent baseline to beat

Tiny share × tiny attach rate meant annualised application-fee revenue of roughly $5.2K against a $100M gross payment volume ambition for 2027. The gap between those two numbers is this case study. Read properly, it was an activation problem wearing a payments costume — the growth was sitting inside the existing base, not in new markets.

How might we

“How might we make taking a payment feel like part of Method — and make not using it feel like the workaround?”

The opportunity was never to out-build Stripe. It was to answer what payments look like when they belong to the tool where the work already happens. Every decision below traces back to that sentence.

Research

I studied two markets before designing anything: how vertical platforms embed payments into an existing base (HubSpot, Keap, Jobber, QuickBooks, Zoho) and how payment-native products design the payment layer itself (Stripe, Square, Adyen, Braintree, GoCardless). One taught adoption; the other set the craft bar. Alongside it: 14 merchant interviews across four situations, payments-tagged support tickets, and shadowed sales and CS calls.

14

merchant interviews — on the incumbent gateway, no gateway, churned, and high-volume

10

products audited across vertical platforms and payment-native processors

5

merchant segments, each with its own entry point and adoption strategy

On money

“When do I get my money?”

Every conversation reached this question. Fees were the stated objection; cash-flow speed was the felt one. It drove the payouts surface.

On switching

“My payments work today. Don’t break them.”

Incumbents survive on inertia, not love. It drove parallel-rails migration — the existing gateway keeps running, untouched.

On setup

“I set this up once, years ago. I’d never find it again.”

Payments config was invisible until something broke. It drove points of entry: meet merchants in the workflow, not in settings.

Competitive scan board — vertical platforms studied for adoption, payment-native products studied for craft

I built a research agent, then made it prove itself

The pipeline runs competitor research → flow options → heuristic scoring → diagrams → PRD and user stories, parameterised by industry, feature and source domains. The one thing I added was a verification pass — a second agent whose only job is to refute. Two independent sources or the claim doesn’t ship. It caught a wrong dispute fee in my own notes: $25, when Stripe charges $15 and Square charges nothing. That’s why I trust the rest of the report.

Three checkpoints stay mine — the competitor list, the axes of comparison, and the synthesis. Nothing moves to the next stage until I’ve signed it off.

What it found

Of ten products, only Shopify lets a merchant say what happens to returned stock — and even there it’s one checkbox that defaults to on, so “came back fine” and “came back broken” are the same answer. QuickBooks restocks silently. You find out when the broken unit ships to the next customer.

I scored three refund models against seven usability heuristics. Option C won six of seven and lost efficiency by two points — it asks one question the others skip. That trade was the decision, so it stayed visible rather than being scored away. It’s why Method’s refund has three stock outcomes, not a checkbox.

Five segments, five strategies — not one launch

Same product, five different entrances into five different lives. The largest and most reachable was the 84% — existing users invoicing in Method with no gateway at all. The revenue segment was the smallest: high-volume merchants doing $50K+ a month, who get direct outreach and a rate conversation rather than a prompt.

Default-in

New small business

Just signed up, still juggling separate tools for invoicing and payments.

Entry · Payments as a prominent onboarding step

Activate

Existing user, no gateway

Uses Method for invoicing only — the 84%. The largest and most reachable segment.

Entry · Invoice “Pay now” + in-workflow prompts

Court

High-volume SMB

$50K+ a month in payments. Small in count, outsized in GPV — the revenue segment.

Entry · Direct outreach and rate conversations

Migrate

Incumbent-gateway user

Already processing through the legacy gateway — familiar, but constrained.

Entry · Guided migration path and incentives

Win back

Churned payments user

Tried payments before and left over reliability or cost. Sceptical by earned right.

Entry · Invoice moments plus concrete proof

Who could even see it — a ladder, not a launch

The launch-date argument was the wrong argument. I reframed it as an exposure sequence: five rungs, each opening only after the last one held, each with a different audience and a different enablement bar — so the launch of a money product never became a money incident.

1

Hidden

Behind a feature flag. Built and tested with zero exposure.

2

Targeted accounts

Manually enabled through sales conversations. Hand-picked.

3

Low-risk accounts

Flag opened by risk profile — merchants discover and apply.

4

Limited beta

Broader availability, with sales, support and PS briefed.

5

GA & migration

Staged rollout to everyone, incumbent migration path open.

Enablement shipped before exposure at every rung — the org is part of the interface. Application approval gated every merchant regardless of stage.

Build vs. partner. Then which partner.

Building processing from scratch meant owning PCI compliance, KYC, fraud and disputes — years of work that isn’t Method’s craft. Partnering meant choosing the platform whose embedded surface we’d live inside. We ran a structured bake-off between Stripe and a US-focused challenger on compliance coverage, embedded component maturity, pricing economics, and scale.

My criterion

Embedded-component maturity. I was choosing the UI we’d live inside — the rate card mattered less than that. Stripe won: the deepest embedded toolkit, battle-tested KYC/KYB, and room to grow internationally without re-platforming.

Provider bake-off matrix — compliance coverage, embedded-component maturity, global scale, fee model

Borrow the vault. Own the storefront.

Where users act on regulated data, compliance should sit with the platform certified to hold it. Where users read, the experience must be unmistakably Method. Two embedded Stripe surfaces made the cut — KYC/KYB onboarding and card checkout — because both carry real liability and both could be themed to Method. Everything else is Method’s own UI over Stripe’s APIs.

The same principle settled the brand question. I pushed for white-label — Method Pay as Method’s product, not “Powered by Stripe” — with HubSpot’s adoption data as the evidence. The nuance that won it wasn’t binary, it was placement: disclose Stripe at the KYC and bank moments, where a name regulators recognise is the reassurance.

“Every screen I gave to Stripe was a screen where the liability outweighed the brand value.”

Hybrid architecture — two embedded Stripe surfaces, every display surface custom Method UI over the APIs

Three money flows — and who owns each step

The tints are the argument: violet steps live inside Stripe’s certified components, blue steps are ours over the APIs. Note the “Needs information” loop in the application flow — it loops back, it never dead-ends.

Three end-to-end money flows — application, getting paid, and refunds — with Stripe-owned and Method-owned steps tinted differently

Applying to move money — without leaving Method

A regulated identity check and the biggest drop-off in the funnel. The old world sent merchants to a gateway’s site and hoped they came back. I embedded Stripe’s onboarding component in Method, themed to our design system, and wrapped it in a status ladder the merchant can always see. The wait is the worst part of any application, so I made the wait legible: Processing → Needs information → In review → Approved, with Declined routed to a human team instead of a dead end.

Nothing switches off while they apply. The old gateway keeps running on parallel rails, and the approved screen still links back to it — merchants switch when they see it working. We went first, moving Method’s own billing across before asking anyone else.

“The fields are Stripe’s; the flow is ours.” The journey, the states, and the seams were the design work.

Setup meets the merchant where the money already is

Payments config lived in Settings — findable if you went looking, but nobody goes looking. Merchants don’t wake up wanting to configure payments; they wake up wanting to get paid. So usage has a home, setup doesn’t. Payments keeps its page for watching money move. Setup meets merchants in the work: on the Invoices hub beside what’s owed, and on the invoice itself, where Payment collection makes the rail a per-invoice choice. Graded later, the invoice-flow prompt converted about 3× the settings page.

A quick win alongside it: status pills weren’t a Method component, so teams had been improvising them. I audited the variants, standardised the states so invoices and payments share one vocabulary, and contributed the component back to the system.

Dunning drafts

AI · Beta

Chasing overdue invoices is the work merchants skip, so the AI drafts the whole escalating sequence — gentle first reminder, firmer second, final notice — queued most-overdue first. Nothing sends until the merchant approves each one, and there is no “send all.” The AI writes the awkward part; the merchant still decides to send it.

Every dollar, one legible ledger

Merchants don’t think in “charges” — they think “did the Hendersons pay, and what did it cost me?” The old gateway answered in processor-speak, in someone else’s dashboard. This is a custom Method surface: payments, refunds and disputes in one list with real-time status, filter and search by customer, and a detail view that shows the money honestly — gross → application fee → processing fee → net. Showing our own fee plainly is a trust decision, not an accident.

“Where’s my money?” — answered in-product

The most emotionally loaded question in payments is about the payout. With a bolt-on gateway, merchants logged into a processor’s site to find their own money. Here every payout opens up: the balance separates what’s spendable from what’s still settling, and any deposit traces back to the payments and refunds behind it. A merchant who can answer “why is this one short?” doesn’t need to open a ticket — and the itemised decomposition is what accountants actually need at month-end.

A refund is a decision, and Method can explain it

A refund carries information a processor never sees: why it happened, which lines came back, and whether the stock can be sold again. So the modal asks — partial or full, a business reason, and a stock outcome: returned to stock, written off, or not returned. A processor structurally can’t ask that question, because it doesn’t own the order. That’s the bundled-CRM argument made concrete.

Card refunds take days to reach a statement, so I designed the waiting too: a pending state, an arrival estimate the moment you hit refund, and email copy telling the customer it landed. The problem was never speed — it was uncertainty. “Where’s my refund” tickets became self-serve.

Refund-reason clustering

AI · Beta

Because reasons are captured as structured data rather than free text, they’re countable. Three refunds on one SKU for “wrong item shipped” surfaced on its own and pointed at the pick process — a fulfilment problem found in payments data, with nobody running a report.

Disputes — a queue against the clock

Miss the response window and the money is gone for good; once you’ve responded there’s nothing to do for weeks. So it lives in a strip that empties out, sorted by deadline, turning red three days out rather than when it’s already late. Skip is first-class — forcing a decision when you’re missing a document produces bad decisions. And Accept shows its price: “$230 debited” against “3 items ready.” Sometimes accepting is the cheaper call, and it should read like the business decision it is.

Evidence assembly

AI · Beta

Deadlines are tight and gathering proof is slow, so the AI pre-fills the packet and drafts the rebuttal. The move that earns trust is that it names what it couldn’t find — “Refund policy, not on file.” A tool that hands back a full packet every time teaches you to stop reading it. On a money surface, “AI never commits money” isn’t a limitation — it’s the thesis.

Alive, then used, then paying

Three rungs, each de-risking the next: proof of life (does real money move end to end?), proof of adoption (do merchants choose it, use it, and stay?), then proof of impact. You don’t get to argue revenue until merchants have voted with usage.

It was measurable because it was instrumented before launch, not after. I co-authored the Amplitude tracking dictionary with the PM and analyst, and the rule was to instrument the state machine, not pageviews — every event mirrors a state I designed, carrying entry point, segment and current gateway as properties. Two of the secondary metrics were deliberate counter-metrics: switchback rate, and support contacts per 100 payments. Every headline number went up, so I wanted at least two that could have gone against me.

Rung 1

Proof of life

Does it work end to end, with real money?

1streal transaction — a live merchant, a live customer, a real charge
UsMethod ran its own SaaS billing on Method Pay before asking any merchant to
Rung 2

Proof of adoption

Do merchants choose it, use it, and stay?

Attachshare of active accounts using Method Pay, starting from 0%
Paidshare of invoices actually paid through it — the workflow test
Switchmerchants who turn the legacy gateway off. Switchers, not just adopters
>41%six-month retention, beating the incumbent baseline
Rung 3

Proof of impact

Does it move the business?

$100Mgross payment volume by end of 2027, from $0
Fee revenuea configurable fee on every transaction, replacing the 20% rev-share

Each rung de-risks the next. Alongside them, the events themselves: application_started · application_step_completed · application_status_changed · payment_succeeded · payout_landed · migration_started.

Three instrumentation findings

All three were invisible in aggregate. They surfaced because the events were named after the states, so each one pointed at something specific we could go change — two drop-offs sitting in a transition rather than on a screen, and one ceiling on the entry point I’d already called the winner. The screens tested fine in isolation.

01 · The bank connection

The biggest single-step drop in the application. It looked like a trust problem and wasn’t — Stripe was already disclosed on that step. It was a preparation problem: merchants arrived without their details to hand, went looking, and didn’t come back. So I told them what to gather before starting, made bank login the default path with manual entry as fallback, added save-and-resume, and sent a nudge email linking straight back in. Application completion 68% → 84%.

The prepare-first screen — what to gather before starting, with save-and-resume

02 · The winning entry point had a ceiling

The invoice-flow prompt converted best — and only fires when a merchant is invoicing, which they do in bursts. With 84% of accounts never having enabled payments, most were never going to walk past it. Home converted at about a third of the rate, exactly as expected, but reached roughly 4× as many never-enabled accounts in a month. Home is owned by the onboarding growth team; what I brought was the entry-point question — at what point in the merchant’s journey does this offer make sense, and what should gate it. It became the second-largest source of first payments, behind the invoice prompt and ahead of settings.

The Home entry point — a rate-comparison offer addressed to the merchant's own processing volume, gated to pre-switch accounts

03 · Approved, and then nothing happened

A gap between approval and the first payment: merchants got approved and then didn’t send anything. Approval became a launchpad rather than a receipt — “send your first payment link” as the next action, pointed at an invoice they already had open. First-payment rate among approved merchants 43% → 71%.

Before · the receipt

Before — the approval screen as a receipt, with no next action

After · the launchpad

Outcomes

23%up from 16%

of accounts now take payments — and ~2 in 3 who enable choose Method Pay

~$19Mfrom zero

annualised GPV run-rate, tracking toward the $100M 2027 target

$110Kup from $5.2K

annualised fee revenue — the referral fee became a product line

68→84%Application completionPrepare-first + save-and-resume
43→71%First payment after approvalApproval as a launchpad
9 → <4 daysTime to first paymentAcross approved merchants
~280Merchants live~60 migrated with zero downtime
97.8%Payment successDisputes ~0.3%, payouts on schedule
~3×Invoice-flow entry pointVersus the settings page
~50%Fewer refund ticketsLegible pending states
>41%Six-month retentionPilot & beta cohorts, above baseline

Worth being honest about recency: GA is only months old, so these are early readings. Activation and run-rate move weekly, and the GA retention cohorts are still maturing against the 41% baseline. Pilot and closed-beta cohorts have passed six months and sit above it. The open front now is migration at scale.

Reflection

Embedded ≠ outsourced

Theming Stripe’s certified components to Method, choosing where the boundary sits, and owning every state around them was most of the design work. By surface area, most of what a merchant touches is ours.

The seams are the product

Loading states, error recovery, and the handoff between an embedded zone and a Method surface. Nobody at the provider designs those.

Migration is trust, not a feature

Switching a live merchant’s revenue is the scariest ask in the product. Parallel rails, and dogfooding on our own billing first, were design decisions as much as engineering ones.

Meet the moment, not a page

Adoption is placement, not a feature you announce. Payments belongs at the moments of intent — the invoice, onboarding, the workflow — not at a settings destination.

Where I’d take it next

Near-term

Migration at scale — moving the rest of the incumbent-gateway base across, white-glove for high-volume accounts, and sunsetting the last legacy connections.

Measurement

Time-to-payment on the dashboard. We track whether an invoice gets paid, not how long it sat — so the product’s central claim is the one number we never put in front of the merchant.

Growth

Recurring billing — the most-requested capability in the research and the natural next monetisation layer, since saved payment methods are already the foundation. Plus multi-stage dunning.

Coverage & strategy

Merchants still get paid by cash and cheque, and today those land outside Method Pay — recording them is what makes “one legible ledger” true rather than aspirational. Then international activation, designed per market rather than translated.

METHOD CRMAn operational inventory experience for small product businesses, built inside Method CRM.
ARMUnifying five financial segments into one consumer-grade investing platform.