Skip to main content
Atrium integrates with Stripe to let clients pay invoices directly from the portal. You choose one of two modes depending on how you’re set up.

Modes at a glance

Payment flow

Once payments are configured, the flow works like this:
  1. You send an invoice to a client — it appears in the portal under their project.
  2. The client clicks Pay Invoice in the portal.
  3. Atrium opens a Stripe Checkout session in a new tab.
  4. The client completes payment on Stripe’s hosted checkout page.
  5. Stripe sends a checkout.session.completed webhook to Atrium.
  6. Atrium marks the invoice as paid automatically.
No manual reconciliation required.

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
Use Stripe Connect if:
  • 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.