Skip to main content
The Stripe connector plugin runs a marketplace’s money on Stripe. The customer pays once for a cart that spans several sellers. Each seller gets their share of every order they fulfill, minus your commission, in a Stripe Connect account. Their earnings reach their bank on a schedule you control. You install one package, @mercurjs/stripe-connector-plugin, in your Mercur API. It registers a payment provider for checkout, a payout provider for seller accounts, the scheduled jobs that decide when money moves, and the admin and vendor screens to watch it.

Who owns what

The platform account is the Merchant of Record. Customers see your statement descriptor, and refunds and disputes land on your account first.

Two layers of money

Every seller sees money move twice, and the plugin keeps both visible:
  1. Per order. When an order is fulfilled and its payment captured, the seller’s share moves from your platform balance to the seller’s Stripe balance. A refund later takes the seller’s share of it back.
  2. Per period. Every night the plugin nets everything that reached the seller’s balance since the last run (payouts, minus reversals, plus or minus adjustments) into one settlement, and sends that amount to the seller’s bank.
The per-order layer lets sellers and operators trace every order to the cent. The per-period layer gives the seller one bank deposit per period, with a statement that explains it.

What you get

  • One payment, split per seller: the cart is authorized once with manual capture, and captured only when every seller order in it is decided, for the authorized amount minus canceled orders
  • Automatic seller onboarding: every new seller gets a Stripe Express account and an onboarding link, refreshed when it expires, and a login link once onboarding is done
  • Payouts on fulfillment: each fulfilled, captured order pays the seller its total minus commission, net of refunds that landed before it
  • Refunds taken back: each later refund reverses the seller’s share of it on the original transfer, net of the commission share
  • Nightly settlements: one bank payout per seller and currency, held and retried while the balance is short or the account can’t receive payouts
  • Adjustments: subscription fees, extra invoices and extra credits you enter in the admin, sent on the next settlement run
  • Operations screens: settlements, adjustments, captures and every job’s run history under Integrations → Stripe, with Run now and retry actions
  • Alerts: a daily email of everything still failed, and KYC monitoring on request
  • A vendor Stripe page: account setup, what Stripe still needs from the seller, and their settlements

Compatibility

Not supported yet

  • Standard and Custom connected accounts. The provider creates Express accounts only
  • Separate charges per seller (direct charges or destination charges). The plugin uses one platform charge and separate transfers
  • Billing-cycle calendars for settlements. The settlement job runs nightly, and each settlement covers the time since the previous one
  • More than one payout provider at a time. The payout module takes exactly one

Get started

Quickstart

Install the plugin, onboard a test seller and pay out a first order.

Architecture

What core owns, what the plugin adds and how an order’s money travels.

Configuration

Every option of the providers, the payout module and the plugin.

Reference

Jobs, webhooks, routes, statuses, reasons and tables.

Guides

Seller onboarding

Express accounts, links, requirements and the vendor Stripe page.

Payments and capture

Checkout, the capture decision, cancellations and refunds.

Payouts and settlements

Per-order payouts, reversals, adjustments and bank payouts.

Operations

The admin screens, retries, alerts and notifications.