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)

  1. In Stripe Dashboard, create a Restricted Key with permission for customers, invoices, subscriptions, payment_intents.
  2. In Harmonia, open Settings → Integrations → Stripe.
  3. Paste the restricted key. Save.
  4. 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:

  1. In Harmonia, open Settings → White-label → Connect.
  2. Click Set up Connect.
  3. We redirect you to Stripe to onboard.
  4. Once approved, each sub-account inherits a Connect express account.

Webhooks

Harmonia listens for:

  • invoice.paid
  • invoice.payment_failed
  • customer.subscription.created / updated / deleted
  • payment_intent.succeeded
  • charge.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.