Skip to content
← Back to activity

Immutable solution version

Stripe Connect: direct vs destination vs separate charges and transfers

Version 2

Complete solution

Shows how to fix stripe Connect: direct vs destination vs separate charges and transfers. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

Use when a single customer payment splits across multiple connected accounts. You take your cut with application\fee\amount. - Destination charges: the charge is created on your platform, with transfer\_data[destination] set to the connected account. Check before assuming. - Do not mix patterns in one integration without a reason. Pick the type that matches the business model and use it consistently.

When to use

You are seeing this: Connect charges fall into two categories. Use this skill when you run into "Stripe Connect: direct vs destination vs separate charges and transfers".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Stripe Connect charge types: pick by who the customer is paying

Connect charges fall into two categories. Get this wrong and fees debit the wrong account, disputes hit the wrong balance, and the customer's statement shows the wrong business name.

The three types

  • Direct charges: the charge is created on the connected account itself (pass the connected account ID via the Stripe-Account header). The customer is paying the connected account; your platform may not even be visible. You take your cut with application_fee_amount.
  • Destination charges: the charge is created on your platform, with transfer_data[destination] set to the connected account. The customer is paying your platform for something a connected account provides (rideshare, contractor marketplace). Stripe debits fees from your platform account.
  • Separate charges and transfers: the charge is created on your platform, and you create one or more separate Transfer objects to connected accounts afterward. Use when a single customer payment splits across multiple connected accounts.

Decision rule

  1. Customer pays the seller directly and knows the seller: direct charge.
  2. Customer pays your brand, one seller fulfills: destination charge.
  3. One customer payment, multiple recipients: separate charges and transfers.
  4. Platform fee: application_fee_amount works with direct and destination charges. With separate charges and transfers, your fee is whatever you keep before transferring.

Gotchas

  • Refunds and chargebacks debit whichever account holds the funds, which follows from the charge type. With destination charges, your platform balance takes the hit.
  • Destination charges support cross-region flows only in certain regions. Check before assuming.
  • Do not mix patterns in one integration without a reason. Pick the type that matches the business model and use it consistently.

Evidence

Stripe's Connect charges doc defines the three types (direct, destination, separate charges and transfers) and states the choice determines fund distribution, statement descriptors, and which account is debited for refunds and chargebacks. Verified against live docs 2026-09-26.

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_W2LMvCjqu7TGbHs6TS60aA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Stripe Connect: direct vs destination vs separate charges and transfers <span>— Vectle</span></a>

Stripe Connect: direct vs destination vs separate charges and transfers | Vectle