Skip to content
Menu

Marketplace with payments

Stripe Connect, separate charges and transfers

The marketplace is the easy part. Splitting the money is not.

I build platforms where sellers pass identity verification, the money waits for delivery, and the split does not break on the first refund. In no-code since 2017, on code since 2025, one person from the data model to the payout.

Buyer

1,000

pays once, at checkout

01 Charge

Platform

1,000

02 Held

until delivery is confirmed

03 Release

Seller

850

gets their share, on confirmation

The split, on release

  • Seller 850
  • Platform fee 120
  • Processing 30

You usually get here after one of these

03

Three signs the payments are the part that is stuck.

01

Stripe rejected your application

You described a flow where the money sits somewhere until delivery, the answer came back rejected, and nobody explained why.

02

Payouts are done by hand

Someone exports a list, checks it and makes the transfers. It works until that someone is on holiday or gets an amount wrong.

03

Everything is ready except the payments

The rest of the product took six weeks. Payments have been "in progress" for three months.

What I build, by name

Four things, not four adjectives.

01

Seller onboarding that passes verification

Connected accounts, identity verification, the documents Stripe asks for depending on the country. The seller uploads them, you chase nobody.

02

The money waits for delivery

The buyer pays the platform. The seller's share leaves on confirmation, not on a timer that keeps running after the order was cancelled.

03

The split survives the edge cases

Platform fee, the seller share, refund, partial refund, dispute, a seller who deletes their account with a pending balance. That is where marketplaces break, not on the ordinary transaction.

04

Payouts you can explain

Every transfer tied to an order, somewhere your operations person can look without calling me.

The part most people get wrong

Application rejected

Stripe does not do escrow.

Stripe does not offer escrow. Escrow services are on its restricted businesses list, and applications that use the word get rejected.

What you actually want is called something else, is built differently, and gets approved.

Two calls, and a gap

What it looks like in the API.

There is no feature called escrow to switch on. There is a charge, a wait, and a transfer, and the wait is the part you control.

// 01  The buyer pays. It lands
//     in the platform balance.
const payment = await stripe
  .paymentIntents.create({
    amount: 100000,
    currency: 'ron',
    transfer_group: order.id,
  });

// 02  Delivery is confirmed.
//     Only now does the share
//     leave.
await stripe.transfers.create({
  amount: 85000,
  currency: 'ron',
  destination:
    seller.stripeAccountId,
  transfer_group: order.id,
});
transfer_group
The one string that ties the charge and every later transfer to the same order. Without it, a refund three weeks later is a forensic exercise.
transfers.create
A second call, made when delivery is confirmed. Nothing schedules it and nothing fires on a timer, so an order that is cancelled simply never reaches it.
destination
The seller's connected account, which exists only after they have passed verification. Until then the money has nowhere to go, which is the real reason onboarding comes first.

If you are not on Stripe, or cannot be

02 halves

Any processor with documentation can be connected.

Stripe is the default on this page because Connect does the hard half: it splits one payment between several parties, verifies sellers, and pays out to people who are not you. Not because it is the only one that exists.

If your buyers pay in lei and ask for a local processor, or you already have a contract with one, that is a question about its documentation rather than about my preferences. In Romania people usually mean Netopia. In another market they mean something else.

Taking a card

Common

One buyer, one seller, one charge, the money arriving in your account. Almost any processor with a public API does this, and connecting one is a known amount of work.

Splitting it, and paying out

Rare

One payment divided between a seller, you and the fee, with the seller's identity verified and their share reaching their own account. This is the part people assume every processor has, and it is the part most of them do not.

So I read the documentation before quoting rather than after, and I tell you which of the two you are getting. If a processor does only the first and your product needs the second, that is worth knowing in the first week and not the third month.

The proof

What I can show, and what I cannot.

Marketplaces delivered under another agency

The marketplaces with split payments that I have built were delivered through another agency and I cannot show them. I say that plainly, because a page that claims otherwise gets checked in two minutes.

What I can show are platforms with payments and controlled access, delivered in my own name: jemshitmavlyanov.com, with accounts, a cart, payment and access that expires, in nine languages, and elenaviscu.com, with three products sold online, each under a different access rule.

The rest is checked in fifteen minutes of conversation, not in a portfolio. Ask me what happens when a payout fails, or how a refund is split after the money has already left for the seller.

Free, and no call

Send me your payment flow. I will tell you whether Stripe allows it.

Write four things in your own words. That is all I need to give you a useful answer first time, without either of us booking anything.

  1. 01Who pays
  2. 02Who gets paid
  3. 03Who takes a cut, and how much
  4. 04When the work counts as delivered
Send me the flow

I answer the same working day, in writing. I tell you whether the flow is allowed, what it means technically, and where it will hurt.

If the answer is "yes, it can be done, and it is simple", you get that answer too. You do not get an unsolicited proposal and you do not enter an email sequence.

What happens after the first message

Three steps, and no sales funnel.

  1. 01

    You write me your payment flow. I answer the same working day, in writing, telling you whether Stripe allows it and what it involves.

  2. 02

    If it makes sense, we talk for thirty minutes. No deck, and no proposal prepared in advance.

  3. 03

    I send you a proposal with the scope written down and a start date.

The price comes after I know the flow, not before. A marketplace with three kinds of seller and partial refunds does not cost what one with a single payout costs, and a range invented before the conversation helps nobody.