> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstrespondershub.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stripe Connect

> Set up, verify, and manage your Stripe Connect account for payment collection

First Responders Hub uses **Stripe Connect** so your organization gets its own connected Stripe account. You receive payouts to your bank account, and you manage disputes and tax reporting in your own Stripe Dashboard. This guide covers setup, verification, and what to expect.

## Overview

* **Standard connected accounts:** Your organization’s account is a full Stripe account. You handle chargebacks and negative balances; the platform does not hold or move your funds beyond routing payments.
* **Stripe-hosted onboarding:** You complete signup and verification in Stripe’s secure flow. We generate a link from [**Settings → Payments**](https://firstrespondershub.com/program-dashboard/settings/payments) and send you to Stripe to finish.
* **Requirements:** All plans (Starter, Growth, Scale) can accept payments; only **program owners** can create the account and complete onboarding. Instructors can view status only.

## Setting up your account

### Step 1: Open Payments settings

1. In the Program Dashboard, go to [**Settings → Payments**](https://firstrespondershub.com/program-dashboard/settings/payments).
2. In the **Set Up Payment Collection** card, click **Set Up Payments**.

### Step 2: Create the connected account

When you click **Set Up Payments**, the platform:

1. Creates a **Stripe Connect Standard account** for your organization (country and business name are set from your organization profile).
2. Stores the account in our system and generates a one-time **Account Link** from Stripe.
3. Redirects you to **Stripe’s onboarding** (or shows the link to open it).

You do not need to create an account on stripe.com first; we create the connected account for you.

### Step 3: Complete Stripe onboarding

Stripe’s flow will ask for:

* **Identity:** Name, date of birth, address, and often a government-issued ID. For some accounts, last 4 of SSN or equivalent.
* **Business information:** Business name, address, phone, and sometimes business registration or tax documents.
* **Banking:** A bank account where Stripe will send payouts.
* **Tax:** Tax ID (e.g. EIN in the US) and related details where required.
* **Terms:** Acceptance of Stripe’s terms of service.

Requirements vary by country, business type, and risk. Stripe may ask for **beneficial owner** or **representative** information in supported regions (e.g. US, Australia, parts of Europe).

* **Refresh URL:** If you leave onboarding before finishing, use **Complete Setup** or **Continue Setup** again from the same page; we generate a new link (links expire after about 24 hours).

## Verification and requirements

### What Stripe checks

Stripe uses the information you submit to verify identity and business. Typical requirement categories you might see in the app or in Stripe:

| Category     | Examples                                                                            |
| ------------ | ----------------------------------------------------------------------------------- |
| **Identity** | Government-issued ID, date of birth, full address, last 4 of SSN (where applicable) |
| **Business** | Business name, address, phone, tax ID, business documents                           |
| **Banking**  | Bank account for payouts, account holder name                                       |
| **Tax**      | Tax ID number, tax forms (region-dependent)                                         |
| **Other**    | Terms of service acceptance                                                         |

If something is missing or needs to be updated, Stripe will show **currently\_due** or **eventually\_due** requirements. The [Payments page](https://firstrespondershub.com/program-dashboard/settings/payments) shows a short summary of what’s left (e.g. “Complete your banking details to start collecting payments”) and, when applicable, grouped requirements (identity, business, banking, tax).

### Status indicators

On [**Settings → Payments**](https://firstrespondershub.com/program-dashboard/settings/payments), your account can show:

* **Not Set Up** — No Stripe account has been created yet.
* **Setup Incomplete** — Account exists but Stripe still needs information (e.g. `charges_enabled` or `payouts_enabled` is false).
* **Action Required** — There are requirements in `currently_due`; Stripe needs more info before you can charge or get payouts.
* **Under Review** — Details are submitted; Stripe is reviewing (e.g. before enabling payouts).
* **Fully Onboarded** — You can accept charges and receive payouts.

Only when the account is **Fully Onboarded** (details submitted, charges enabled, and in practice payouts enabled) can you turn on **Accept Online Payments** for your organization.

### What to expect after submitting

* **Timing:** Verification can be quick or take a few business days depending on country, business type, and whether Stripe needs more documents.
* **Payouts:** Stripe may enable payouts after verification. Initial payouts can be delayed (e.g. 7–14 days); after that, payouts follow your Stripe schedule (e.g. rolling).
* **Restrictions:** If required information is missing or overdue, Stripe may pause charges or payouts until you complete it. You’ll see requirements in the Dashboard and, where we surface them, on the [Payments page](https://firstrespondershub.com/program-dashboard/settings/payments).
* **Updates:** Keep business and banking details up to date in your [Stripe Dashboard](https://dashboard.stripe.com); Stripe may email you about required updates.

## Maintaining a balance for refunds

Refunds are paid **out of your Stripe account balance** — not pulled from your bank on demand. When you [issue a refund](/payment-settings/refunds), Stripe deducts it from the money currently sitting in your connected account. If your balance is too low to cover it, the refund can't be processed until funds are available.

That leaves you with a few options when a refund comes up:

* **Wait for more revenue.** New student payments add to your balance; once enough has settled, the refund can go through. This is unpredictable and can leave a customer waiting.
* **Top up from your bank.** You can add funds to your Stripe balance by transferring from your bank account — but this takes time to settle, so it's slow when a refund is time-sensitive.
* **Keep a minimum balance (recommended).** Retain a cushion in your Stripe account so a refund can always be processed immediately, without waiting on new revenue or a bank transfer.

### Set up a minimum balance in Stripe

By default, Stripe pays out your entire available balance to your bank on your payout schedule, which can leave little or nothing behind to cover refunds. A **minimum balance** tells Stripe to hold back a set amount on each automatic payout so funds are always on hand for refunds, disputes, and fees.

To set one up in your [Stripe Dashboard](https://dashboard.stripe.com/settings/payouts):

<Steps>
  <Step title="Open Payout settings">
    Go to **Settings → Payouts** (or open [dashboard.stripe.com/settings/payouts](https://dashboard.stripe.com/settings/payouts)).
  </Step>

  <Step title="Enable Minimum balance">
    Under the **Minimum balance** section, turn the option on.
  </Step>

  <Step title="Set the amount">
    Enter the amount you want Stripe to retain. Automatic payouts will only send funds **above** this threshold — for example, with a $10,000 total balance and a $2,000 minimum, Stripe pays out $8,000 and keeps $2,000 available.
  </Step>

  <Step title="Save">
    Save your settings. Future automatic payouts now keep the minimum in reserve.
  </Step>
</Steps>

<Tip>
  Size the minimum to your typical refund exposure — roughly the largest refund (or few refunds) you'd expect to issue at once. Stripe suggests a cushion of several times your average daily sales. You can change or turn off the minimum at any time from the same Payout settings page.
</Tip>

For the full details, see Stripe's guide on [minimum balances for automatic payouts](https://docs.stripe.com/payouts/minimum-balances-for-automatic-payouts#set-up-minimum-balances).

## Enabling payment acceptance

1. Finish Stripe onboarding until the account shows **Fully Onboarded** (and **Refresh** doesn’t show new requirements).
2. On [**Settings → Payments**](https://firstrespondershub.com/program-dashboard/settings/payments), turn **Accept Online Payments** **On**.
3. Students can then pay for enrollments (and for other paid flows you’ve configured) according to each offering’s payment configuration.

If you turn the toggle **Off**, online payment for new enrollments is disabled; existing invoices and payment links can still be paid until you change or cancel them.

## Continuing or updating onboarding

* **Complete Setup / Continue Setup:** Use the button in the **Payment Account Status** card on [**Settings → Payments**](https://firstrespondershub.com/program-dashboard/settings/payments). Use this if you left onboarding early or if Stripe has added requirements.
* **Refresh:** Use **Refresh** to reload status from Stripe (e.g. after you’ve completed steps in the Stripe Dashboard or in an email link).
* **Stripe Dashboard:** For detailed requirement lists, bank details, payouts, and tax settings, log in to [Stripe Dashboard](https://dashboard.stripe.com) with the connected account (you may get there via a “Manage in Stripe”–style link if we add one, or by signing in to Stripe and selecting the connected account).

## Roles and permissions

* **Program owners:** Can create the Stripe account, start or continue onboarding, see the Stripe account ID, and toggle **Accept Online Payments**.
* **Instructors:** Can see that a payment account is configured and its high-level status (e.g. Fully Onboarded); they cannot create the account, open onboarding links, or change the acceptance toggle.

## Troubleshooting

* **“Only program owners can create payment accounts”** — You’re signed in as an instructor. Ask a program owner to set up payments.
* **“Payment processing requires an active plan”** — Restore your subscription or contact support if you expect payment access.
* **“Please complete your Stripe Connect onboarding before enabling payment acceptance”** — Resolve any **currently\_due** requirements in Stripe (use **Complete Setup** and finish the flow, or fix items in the Stripe Dashboard), then refresh and try the toggle again.
* **Link expired or invalid** — Click **Complete Setup** or **Continue Setup** to generate a new Account Link.
* **Account under review** — Wait for Stripe to finish review; they may email you. If something is missing, complete it in the Stripe Dashboard or via the link we provide.

For Stripe-specific verification or payout questions, use [Stripe Support](https://support.stripe.com) or the help in your Stripe Dashboard.
