Stripe Connect is the Stripe product that handles payments between a marketplace platform and its sellers. MoveMentors uses it so card payments flow directly from students to hosts without us holding funds.
The model: Direct Charges
There are three ways a marketplace can use Stripe Connect:
| Model | Money goes to | We hold funds? |
|---|---|---|
| Direct Charges | Host's connected Stripe account directly | No |
| Destination Charges | Platform account first, then transferred to host | Yes (briefly) |
| Separate Charges and Transfers | Platform account; transfers later | Yes |
We use Direct Charges exclusively. The advantages:
- We never hold funds, simplifying regulatory compliance.
- Hosts see their payouts faster.
- Chargebacks land on the host (their account, their decision how to fight).
- Refunds are between the host and the student via Stripe directly; we are not a middleman.
- Hosts can disconnect from us and keep all their money; we cannot block payouts.
The flow
When a student pays for a class with a card:
-
MoveMentors creates a Stripe Checkout session via Stripe's API. The session is created ON THE HOST'S CONNECTED ACCOUNT using the
Stripe-Accountheader. This is the key bit: Stripe sees the charge as initiated by the host's account. -
Student is redirected to Stripe's hosted Checkout page. The page shows the host's business name (not MoveMentors). Student enters card details.
-
Stripe captures the charge. Funds become part of the host's Stripe balance, minus Stripe's processing fee.
-
Stripe sends a webhook to MoveMentors. "Charge X on connected account Y has succeeded." We update the booking to
CONFIRMED. -
Stripe pays out to the host's linked bank account on their payout schedule (daily, weekly, etc).
At no point does the money pass through a MoveMentors account.
Who Stripe sees as the merchant
The host. Their connected Stripe account is the legal merchant of record for every charge. This means:
- Bank statements show the host's name.
- Tax forms (1099-K for US) are issued by Stripe to the host.
- Chargeback responsibility sits with the host.
- The host has a direct customer support relationship with Stripe.
We are not on the statement, not on the tax forms, not on the dispute response. Stripe sees us as a "platform" that introduced the host but is not in the money path.
The Express dashboard
Hosts get access to a Stripe-hosted dashboard at dashboard.stripe.com/express where they can:
- See their balance and upcoming payouts.
- View individual transactions (charges, refunds, fees, payouts).
- Change their payout schedule (daily, weekly, monthly).
- Update their bank account.
- Download tax forms.
- See Stripe-issued receipts.
We do NOT have access to this dashboard. It is the host's relationship with Stripe.
Identity verification
Stripe runs identity verification (KYC) on every host who wants to take card payments. This typically happens during onboarding:
- Stripe asks for legal name, date of birth, address, tax ID (SSN last 4 for US).
- Stripe checks public records.
- Most hosts are auto-approved in seconds.
- Some are asked for additional verification: photo of ID + selfie.
This is Stripe's policy, not ours. We hand off to Stripe and they handle verification. If a host's verification gets stuck, Stripe will tell them what they need; the host resolves with Stripe directly.
See Stripe Connect verification stuck for what to do when verification stalls.
Capabilities
Stripe Connect accounts have two key capabilities:
- Charges enabled: can the host take new card payments?
- Payouts enabled: can Stripe pay out to the host's bank?
Most accounts have both enabled. Occasionally Stripe enables charges before payouts (or vice versa) during verification. The host can still take bookings if charges are enabled; the funds accumulate in their Stripe balance until payouts are enabled.
The dashboard at /mentor/settings/payments (or /studio/settings/payments) shows the current state of these capabilities.
Stripe fees
The host pays Stripe's standard processing fees on every charge:
| Country | Fee |
|---|---|
| US (domestic card) | 2.9% + 30¢ |
| UK (domestic card) | 1.5% + 20p |
| EU (EEA card) | 1.5% + €0.25 |
| Australia | 1.7% + A$0.30 |
| Brazil | 4.99% + R$0.39 |
International cards add ~1.5% on top.
MoveMentors takes nothing from the charge. The price the student paid (minus Stripe's fee) is what the host receives.
Refunds via Stripe
Hosts (or admin in dispute cases) can issue refunds through our dashboard. Under the hood, we call Stripe's refunds API on the host's connected account. Stripe processes the refund and sends the funds back to the student's card.
Important Stripe details:
- Refunds are usually processed in 5-10 business days.
- Stripe does NOT return processing fees on refunds. The host loses the original 2.9% + 30¢.
- Partial refunds are supported.
See Refunds for the full picture.
Chargebacks
A chargeback is when a student disputes a charge directly with their bank. The bank reverses the charge and asks Stripe to investigate.
With Direct Charges:
- The chargeback debits the HOST's Stripe balance.
- The host's Stripe dashboard shows the chargeback and gives them the chance to respond (upload evidence the charge was legitimate).
- Stripe charges the host a chargeback fee (usually $15) regardless of outcome.
- If the host wins the dispute, the funds are returned; the fee is not.
We surface chargebacks in the host's MoveMentors dashboard as a notification, but the response process happens in Stripe's dashboard. We strongly recommend hosts log into their Stripe Express dashboard and respond within Stripe's deadline (typically 7-21 days).
See Disputes and chargebacks for the full discussion.
Disconnecting
A host can disconnect their Stripe account from MoveMentors at any time:
- We immediately stop offering card payments on their classes.
- The host's Stripe account continues to exist independently of us.
- Existing bookings retain their Stripe charge IDs (refunds still work).
- The host keeps all their Stripe balance and continues to receive payouts.
Reconnecting later: same OAuth flow as initial connection. Stripe remembers the account.
Common questions
Why does the bank statement show the host's name, not "MoveMentors"? Direct Charges design. The host is the merchant; their name is on the statement. Students sometimes find this confusing if they did not pay attention to who they booked with. The booking confirmation email includes the host's name prominently to mitigate.
Can students get a unified receipt for all their MoveMentors bookings? Not directly. Stripe sends a per-charge receipt for each card payment. Their MoveMentors bookings list at /my-bookings is the closest thing to a unified record.
Can the host see other hosts' Stripe data? No. Each Stripe Connect account is isolated. A host sees only their own charges, refunds, payouts.
What if the host commits fraud? We work with Stripe to investigate. Stripe's policies cover most fraud scenarios; if a host's pattern looks fraudulent we can suspend their Stripe connection from our side, but the underlying funds (if already paid out) are between the host, Stripe, and law enforcement.
Next steps
- Stripe Connect setup for hosts ready to configure.
- How payments work for the overall picture.
- Refunds for the refund mechanics.