Stripe
Connect Stripe for invoices, subscriptions, and Connect-based payouts.
Harmonia bills agencies and runs end-customer invoicing through Stripe. On the agency side we use Stripe Connect so each sub-account can hold its own Stripe balance independent of the parent agency.
Direct Stripe (single account)
- In Stripe Dashboard, create a Restricted Key with permission for
customers,invoices,subscriptions,payment_intents. - In Harmonia, open Settings → Integrations → Stripe.
- Paste the restricted key. Save.
- Configure your webhook endpoint URL in Stripe — Harmonia shows it on the same page.
Stripe Connect (multi-tenant)
For agencies running sub-accounts, you'll want Stripe Connect:
- In Harmonia, open Settings → White-label → Connect.
- Click Set up Connect.
- We redirect you to Stripe to onboard.
- Once approved, each sub-account inherits a Connect express account.
Webhooks
Harmonia listens for:
invoice.paidinvoice.payment_failedcustomer.subscription.created / updated / deletedpayment_intent.succeededcharge.refunded
Signatures are verified with the standard Stripe-Signature header.
Failed verification returns 400.
Test mode
Use the toggle in Harmonia to switch a sub-account between Stripe test and live mode. We never mix the two — invoices generated in test mode stay in test mode for their lifetime.