---
name: migrate-from-stripe-connect
description: Move a marketplace or platform from Stripe Connect to Fynex, or compare the two. Use when the user mentions Stripe Connect, connected accounts, destination charges, application_fee_amount, transfer_data, separate charges and transfers, Accounts v2, or asks for a Stripe Connect alternative or how to migrate a platform off Stripe. Maps each Connect concept to its Fynex equivalent, names the three that have no equivalent, and says plainly when staying on Connect is the right call.
---

# Migrating from Stripe Connect

The models are close enough that most of a Connect integration transfers, and different
in one place that decides the whole port: **on Fynex the split is declared on the payment
that collects the money**, under an active split rule on the seller. There is no transfer
call afterwards, and no rule means no split.

## Concept map

| Stripe Connect | Fynex |
|---|---|
| Connected account | **Payee** — `POST /payments-api/v1/payees` |
| Account onboarding / KYB | Dashboard onboarding, or `POST /payments-api/v1/payees/setup` for payee + payout method + wallet in one call |
| `transfer_data[destination]` on a PaymentIntent | An entry in `orderData.payeeDistribution` on `POST /payments-api/v1/checkout` or `/initialize-payment`, applied under the seller's active split rule (`GET /split-rules/active`) |
| `application_fee_amount` / `transfer_data[amount]` | The **split rule's fee** — `percentBps` / `fixedAmountMinor`, withheld from each payee's share — or, with an `absolute`-mode rule, the remainder its lines leave over. The distribution itself must add up to the payment |
| Separate charges and transfers (Transfers API) | **No equivalent.** Declare the distribution on the payment; you cannot move funds after the fact |
| `refunds` with `reverse_transfer=true` | **Not automatic.** Refund the payment; Fynex works out each party's pro-rata give-back and finance reverses the legs — see the Splits guide, *Refunds and chargebacks* |
| `refund_application_fee=true` | The commission is part of the same pro-rata plan |
| Connected account balance | **Wallet**, per currency — `GET /payments-api/v1/wallets` |
| Automatic payout schedule | Explicit `POST /payments-api/v1/payouts`. Fynex does not pay out on a schedule; you decide when |
| `on_behalf_of` / settlement merchant | No equivalent axis |
| Accounts v2 `dashboard` / `fees_collector` / `losses_collector` | No equivalent axes. The platform collects fees and carries losses |
| Webhook events | One signed pipe for Payments and Billing. `X-Fynex-Signature: sha256=…` is HMAC-SHA256 over `<X-Fynex-Timestamp>.<raw body>`. Only `200` counts as delivered; 3 attempts. Deduplicate on `eventId` |

## The three that will actually cost you time

1. **Deferred transfers.** Any flow that charges first and decides the split later has to be
   restructured so the distribution is known at charge time.
2. **Amount units.** Stripe is minor units everywhere. Fynex Payments requests are MAJOR
   units — checkout `49.99`, payouts `"amount": "49.99"` as a decimal string (`amountMinor`
   is a deprecated fallback) — while Billing is minor. Read the field name; nothing rejects
   the wrong one, so a straight port is silently wrong by a factor of a hundred.
3. **Payout timing.** If you relied on Stripe's schedule, you now own it — and you must
   check `withdrawableBalanceMinor`, not `availableBalanceMinor`, before creating one.

## Stay on Connect if

- You need deferred or retroactive transfers, or to move funds between accounts after a charge.
- Your sellers need their own full payments dashboard and their own Stripe relationship.
- You depend on Stripe-hosted seller onboarding UI, embedded components, or Stripe carrying
  loss liability on negative balances.
- You are already live, the integration works, and nothing above is a problem you have.

Fynex is the better fit when the split itself is the product: marketplace commission on
every transaction, many payees per payment, EU VAT literacy on both the buyer invoice and
the commission, and payouts and billing reconciled against each other rather than in two
systems.

## Read next

- [Splits](/payments-api/v2/docs/splits.md) · [Payees](/payments-api/v2/docs/payees.md) · [Payouts](/payments-api/v2/docs/payouts.md)
- [Getting started](/payments-api/v2/docs/getting-started.md) · [/keys](/keys)
- [Agent index](/payments-api/v2/llms.txt) · [Both APIs](/)
