Stripe Connect — what it is and how it works
Last updated May 25, 2026 · Operators
To accept online card and bank payments through your customer portal, you connect a Stripe account. We use Stripe Connect Standard, which means you have your own full Stripe account that you control — we don’t hold your money, we don’t see your bank info, and you can disconnect any time.
Why Stripe (and why Connect Standard)
- You own your Stripe account. You log into the Stripe Dashboard with your own credentials. Payouts go to your bank account. Refunds, disputes, and tax reports are yours.
- We don’t take a cut. In v1 there is no platform fee — every dollar your customer pays (minus Stripe’s own processing fee) lands in your account.
- PCI scope stays small. Card data is entered directly into a Stripe-hosted form on your portal. The number never touches our servers, which keeps you (and us) out of most PCI compliance work.
What you’re agreeing to
When you click Connect Stripe, you’re sent to Stripe to complete their onboarding. You’ll need:
- Business legal name and structure (sole prop, LLC, corp)
- EIN or SSN (depends on entity type)
- A bank routing and account number for payouts
- A government ID for the responsible person on the account
You’ll accept Stripe’s Connected Account Agreement and our Platform Terms. Read both before you click through — they govern how funds are settled and how disputes are handled.
What happens after you connect
We store your stripe_user_id (your connected account ID, looks like acct_...) on your company record. Every Stripe API call we make for you is scoped to that account. You will see on the Stripe Connect panel in Settings:
- Charges enabled — green when Stripe has approved you to accept payments
- Payouts enabled — green when Stripe will send money to your bank
- Livemode — green when you’re running real charges (vs. test mode)
When to expect payouts
Stripe’s default schedule for new Standard accounts in the US is:
- Card payments: 2 business days after the charge clears
- ACH (bank) payments: 5–7 business days after authorization
You can change your payout schedule (daily, weekly, monthly) in your Stripe Dashboard under Settings → Payouts.
If Stripe holds funds (sometimes new accounts have a short hold while they verify), you’ll see it in your Stripe Dashboard, not in our app. Reach out to Stripe support directly for those.
Fee passthrough
Optional. If you’d rather not eat Stripe’s fee, you can pass it to the customer. Configure under Settings → Portal → Customer pays the processing fee.
How the math works
The fee is computed using a gross-up formula so that after Stripe takes its cut, you net the full invoice amount.
| Method | Stripe US default | $100 invoice |
|---|---|---|
| Card | 2.9% + $0.30 | Customer pays $103.30, you net $100.00 |
| ACH | 0.8% (capped at $5) | Customer pays $100.81, you net $100.00 |
| ACH (large) | 0.8% (capped at $5) | On a $10,000 invoice, customer pays $10,005.00, you net $10,000.00 |
ACH is much cheaper than card on larger invoices because of the $5 cap.
What the customer sees
When fee passthrough is on, the pay form shows the breakdown clearly:
Subtotal: $100.00
Processing fee (2.9% + $0.30): $3.30
Total: $103.30
Plus the disclosure text you’ve configured (default: “A processing fee covers the cost of card / bank processing and goes to the payment processor.”)
If the customer switches from card to ACH, the fee and total update live before they submit — no surprises.
Legality warning — read this
Surcharging on credit cards is restricted or prohibited in several US states (as of 2026 this includes CA, CO, CT, FL, KS, MA, ME, NY, OK, TX — and the list changes). Card-network rules (Visa, Mastercard) also impose their own caps and disclosure requirements. Debit cards have stricter rules than credit cards.
We surface a warning banner in Settings near the toggle. You are responsible for confirming it’s legal for your customers. ACH “convenience fees” have separate rules. If you’re unsure, talk to your accountant or attorney.
By default, the surcharge is suppressed for debit cards even when the toggle is on — that’s the safer interpretation of current US card-network rules.
How to disconnect
Open Settings → Stripe Connect and click Disconnect. This calls Stripe’s deauthorize endpoint and clears the connection on our side. Your Stripe account itself is untouched — your dashboard, your history, your bank info all stay put. You just can’t accept new portal payments until you reconnect.
In-flight PaymentIntents (already being processed when you disconnect) finish on Stripe’s side. New ones fail with a clear message until you reconnect.
Refunds
Refunds happen in your Stripe Dashboard. When you refund a payment in Stripe, our webhook reverses the matching Payment row in your app so reporting stays accurate.
If you used fee passthrough, a full refund refunds both the subtotal and the surcharge by default. A partial refund refunds proportionally. Receipts show both legs.
Troubleshooting
- Charges enabled never turns green — Stripe is still verifying your account. Check your Stripe Dashboard for outstanding requirements; sometimes they need an extra document.
- Payouts pending forever — usually a Stripe hold on new accounts. Check the Stripe Dashboard payouts tab.
- Webhook not firing — see Portal troubleshooting.
Need a hand? {{SUPPORT_EMAIL}}.