Payments (Stripe Connect)
The Payments page connects your own Stripe account to concorbit so your customers can pay their invoices online by card. Money lands directly in your Stripe balance and is paid out to your bank account on Stripe's normal schedule. concorbit never holds your customers' money.
URL: /settings/payments
Required permission: authenticated user (typically an admin; the underlying Stripe Connect actions require settings.tenant)
How to get there
Go to Settings from the sidebar.
Open the Payments card.
The four states
The page renders one of four cards depending on your current Stripe Connect status.
1. Payments coming soon
If the platform hasn't configured Stripe Connect yet (no STRIPE_CONNECT_CLIENT_ID), you see a placeholder saying "Payments coming soon". Ask the platform admin: this needs to be set at the platform level, not the tenant level.
2. Not connected: Connect with Stripe
Click Connect with Stripe. You'll be redirected to Stripe's OAuth page. If you already have a Stripe account, sign in. If not, you can create one from the same flow. Stripe walks you through bank details, business info, and identity verification.
After finishing Stripe's onboarding, you're redirected back to concorbit. The connection takes about two minutes for existing Stripe accounts, longer if you're creating a new account from scratch.
3. Onboarding: Setup incomplete
Sometimes Stripe needs extra information before enabling charges (e.g. bank verification, ID documents). The page shows a warning card with Finish Stripe setup; click it to be redirected back to Stripe's onboarding flow to fill in whatever's missing.
4. Connected
Once fully onboarded, you see the green "Stripe connected" card with two status lights:
| Indicator | Meaning |
|---|---|
| Charges | Can you accept card payments right now? If disabled, Stripe's risk team has flagged something; check your Stripe Dashboard. |
| Payouts | Can Stripe send money to your bank? If disabled, your verified bank details are probably missing or a payout was returned. |
5. Restricted: Action required
If Stripe restricts your account (failed verification, disputed payments, etc.), you see a red card. Click Complete verification to return to Stripe and resolve it.
Stripe Dashboard
Click Stripe Dashboard to open Stripe's own admin interface in a new tab. Everything beyond "is it connected" lives there: payouts, disputes, refunds, fee reports, tax collection, analytics.
Disconnecting
Click Disconnect under the connected state. Confirm the prompt. Your customers will no longer be able to pay invoices online through concorbit. Existing Stripe customer records in your Stripe account are not deleted; you can reconnect later and everything resumes.
Disconnecting does not refund any payments or cancel subscriptions; it only severs the link between concorbit and your Stripe account.
How payments work in concorbit once connected
When you send an invoice:
The email to the customer includes a Pay now link.
The customer clicks, lands on a concorbit-hosted payment page.
They enter card details (or use a saved payment method).
Stripe charges the card; the money lands in your Stripe balance.
Stripe pays it out to your bank on their standard schedule (usually 2–7 business days for new accounts, faster once established).
The invoice is marked paid in concorbit.
Recurring subscriptions charge the customer's saved card automatically on each billing cycle.
Stripe direct mode (bring your own keys)
Stripe Connect is the standard way to take payments: you authorise concorbit's platform to act on your Stripe account through OAuth. Direct mode is an alternative for workspaces that would rather paste their own Stripe API keys instead of connecting through the platform. It is an operator-enabled option, not the default.
Turning it on
Direct mode is gated by a platform-level switch. Until a platform admin turns on "Direct Stripe keys" in the platform settings, the option does not appear on your Payments page at all. This is deliberate: most workspaces should use Connect, and direct mode is offered only where bring-your-own-keys is genuinely needed.
Once the platform switch is on, the Payments page shows a direct-mode card where a workspace admin can:
Paste the Stripe publishable key and secret key for their own Stripe account. Secrets are write-only: they are stored encrypted and never shown back.
Copy the per-workspace webhook URL to register in their Stripe dashboard, along with the list of events to subscribe to and the expected Stripe API version. The webhook URL uses an opaque token, not your workspace name.
Saving valid keys verifies them against Stripe and switches the workspace into direct mode. If Stripe reports the account is still pending verification, the workspace is held in a pending state until Stripe confirms it can accept charges.
How it differs from Connect
| Connect | Direct mode | |
|---|---|---|
| Setup | OAuth, one click | Paste your own API keys |
| Webhooks | Handled by the platform | You register the per-workspace webhook URL in Stripe |
| Money | Lands in your Stripe balance | Lands in your Stripe balance |
| Switching | Connect or disconnect | Save keys to switch to direct; revert to go back to Connect |
Reverting to Connect clears the stored keys and webhook token. You can always revert, even if the platform switch is later turned off.
Everything else in concorbit (the portal pay-now flow, autopay, refunds, surcharges, reconciliation) works the same in either mode; the difference is only how concorbit talks to Stripe.
Notes and gotchas
This is your Stripe account, not concorbit's. Funds flow straight to you; concorbit never touches your customers' money. concorbit's own subscription fees are billed separately via Subscription.
Connection status auto-syncs every time you load this page while mid-onboarding, so you don't have to click a "refresh" button after coming back from Stripe.
Your customers' payment methods are tokenised by Stripe and stored as references only; actual card numbers never touch concorbit's database.
Refunds are handled from the invoice screen in concorbit, not from this page. Click the invoice → Refund.
Tax (VAT) is not handled automatically by Stripe Connect in the default setup. concorbit applies VAT to your invoices based on the customer's tax setup and sends the VAT-inclusive total to Stripe.
One Stripe account per workspace. If you run multiple trading entities, you'll need separate concorbit workspaces to connect separate Stripe accounts.