Modes at a glance
Payment flow
Once payments are configured, the flow works like this:- You send an invoice to a client — it appears in the portal under their project.
- The client clicks Pay Invoice in the portal.
- Atrium opens a Stripe Checkout session in a new tab.
- The client completes payment on Stripe’s hosted checkout page.
- Stripe sends a
checkout.session.completedwebhook to Atrium. - Atrium marks the invoice as paid automatically.
Accepted payment methods
After connecting Stripe, you can choose which payment methods to offer clients from Settings → System → Client Payments → Accepted payment methods. Available methods depend on your Stripe account’s capabilities. Supported methods include: Card, ACH bank transfer, Link, SEPA Direct Debit, iDEAL, Bacs Direct Debit, Klarna, Afterpay/Clearpay, Affirm, and Cash App Pay.US bank account (ACH) is only available when
STRIPE_CURRENCY is set to usd. SEPA and iDEAL require eur. Methods not active on your Stripe account are shown as disabled.Choosing a mode
Use Direct Keys if:- You’re a single agency or freelancer
- You want the simplest possible setup
- You’d rather not configure environment variables beyond
API_URL
- You’re building a platform where multiple organizations connect their own Stripe accounts
- You prefer OAuth over storing a raw secret key
- You need to listen to events across connected accounts
Next steps
Direct Keys
Set up payments by pasting your Stripe secret key.
Stripe Connect
Connect via OAuth for platform-level Stripe integration.