---
title: "Dokan Marketplace"
description: "Add an independent Stripe Connect transfer to a per-product supplier vendor on top of Dokan — pay a brewery wholesaling through a bottle-shop listing at checkout, alongside Dokan Stripe Express, without touching Dokan commissions. Added in Split Pay 3.8.0 (PRO)."
url: "https://docs.splitpayplugin.com/features/integrations-and-compatibility/dokan-marketplace/"
---
## Overview

Dokan runs your marketplace: vendor sign-ups, vendor dashboards, your storefront, and the commission each vendor is owed. With **Dokan Stripe Express**, Dokan already pays each *listing* vendor their share at checkout using Stripe’s separate charges and transfers — the payment is captured on your platform account and Dokan transfers each vendor’s cut to their own Stripe account.

Split Pay adds one thing Dokan can’t do on its own: a **second, independent transfer to a different vendor on the same sale** — a *Supplier Vendor*. The classic case is wholesale: a bottle shop lists a brewery’s product, the bottle shop is paid by Dokan as normal, and the brewery is paid its wholesale cut by Split Pay — all from the one payment, with your platform keeping the rest as its fee.

**In one line:** Dokan pays the vendor who lists the product; Split Pay pays an additional supplier vendor on the same product — a true three-way split — without changing anything in Dokan’s commission, sub-order, or payout system.

## Dokan, Split Pay, and what the integration adds

Each piece owns a different part of the sale. The integration is the glue that lets a single payment pay two vendors plus your platform.

| On its own | What it does | The catch |
| --- | --- | --- |
| **Dokan + Stripe Express** | Runs the marketplace and pays each listing vendor their commission at checkout, vendor by vendor. | Pays exactly one vendor per product — the one who listed it. It has no concept of a second “supplier” behind that product. |
| **Split Pay alone** | Splits a Stripe payment and sends shares to any connected account you name. | Has no idea who your Dokan vendors are. You’d hand-attach the right Stripe account to every product yourself. |
| **The integration (the glue)** | Adds a **Supplier Vendor** to any product, resolves that Dokan vendor to their Stripe account, and transfers their cut on the same charge Dokan uses — logged, refundable, and never touching Dokan’s ledger. | Requires Split Pay 3.8.0 PRO, Dokan, and **Dokan Stripe Express** (the supplier transfer needs the platform-held charge that Stripe Express creates). |

**What the integration adds, concretely:**

*   **A per-product Supplier Vendor.** Pick a second Dokan vendor and a wholesale amount (fixed or percentage) on any product. That vendor is paid automatically on every sale of it.
*   **A genuine three-way split.** The listing vendor is paid by Dokan, the supplier vendor by Split Pay, and your platform keeps the remainder — all from one payment.
*   **Connect once.** If a vendor already connected through Dokan Stripe Express, Split Pay can reuse that same Stripe account, so suppliers don’t connect twice.
*   **Refund-safe.** A refund reverses the supplier transfer too, in proportion to the amount refunded.
*   **Hands-off coexistence.** Split Pay never writes to Dokan’s commission table, sub-order system, or withdrawal queue. Dokan keeps paying the listing vendor exactly as before.

## Compatibility

*   **Split Pay:** v3.8.0 or later, **PRO**. The Dokan behaviour (supplier transfers, vendor onboarding, account adoption) is a premium feature. See [Activating PRO](../../../getting-started/activating-pro/).
*   **Dokan:** Dokan core (Lite is enough for detection, vendor onboarding, and the dashboard CTA). The **Supplier Vendor transfer needs Dokan Pro with the Dokan Stripe Express module**, because that module creates the platform-held charge the supplier transfer draws from. Split Pay detects Dokan core, Dokan Pro, and Stripe Express separately and shows you which are present.
*   **Stripe Express, not legacy Stripe Connect.** Dokan’s **legacy “Stripe Connect”** module charges *directly on the vendor’s account*, so there is no platform charge for a supplier transfer to draw from. When Split Pay detects the legacy module without Stripe Express, it disables supplier transfers and tells you on the card. Use **Dokan Stripe Express**.
*   **WooCommerce + Stripe gateway:** WooCommerce with Stripe Express handling the checkout. Split Pay reads the charge created on your platform account and transfers from there. Your Stripe keys need **Connect → Transfers: Write**. See [Stripe Connect Prerequisites](../../../getting-started/stripe-connect-prerequisites/).
*   **WordPress:** the same requirement as Split Pay (currently WordPress 6.0+).

## Setup

**Have Dokan and Stripe Express working first.** Install and activate Dokan, set up the Dokan Stripe Express module, and confirm vendors can connect and get paid through it as normal. Make sure **Stripe Connect** is enabled on your platform account.

**Install and activate Split Pay (PRO).** You can install it before or after Dokan — Split Pay picks Dokan up automatically. Paste your Stripe platform API keys (with **Transfers: Write**) and sync webhooks the same way you would for any store; see [Quick Start](../../../getting-started/quick-start/).

**Open Split Pay → Integrations and find the Marketplace integrations section.** A **Dokan** card appears with an **Active** badge and a chip for each detected layer — Dokan core, Dokan Pro, and Stripe Express. Each control and warning on the card carries a **Learn more →** link into the matching section of this page.

![The Dokan card in the Split Pay Integrations tab, showing the Active badge, the Dokan core / Pro / Stripe Express chips, the status checks, and the Dokan settings](../../../images/dokan-marketplaces-card.png)

The Dokan card under Split Pay → Integrations → Marketplace integrations. The status checks (top) report live: whether supplier transfers are on, how many products have a supplier, how many vendors are connected, and whether Dokan’s own payout path is active. The controls (bottom) are where you configure the integration.

**Set up commissions so the math works.** Because the supplier is paid from the same charge as the listing vendor, the three shares — listing vendor, supplier, and your platform fee — must fit inside the one payment. In practice that means each product’s **Dokan commission must be at least the supplier payment plus the platform fee you want to keep**. Dokan pays the listing vendor the rest. Split Pay shows the product’s current Dokan commission right under the Supplier Vendor field so you can size the supplier amount against it.

**Add a Supplier Vendor to a product and run a test sale.** Set a supplier and amount on one product (below), connect that supplier in Stripe **test mode**, then buy the product. You should see Dokan’s transfer to the listing vendor *and* a separate Split Pay transfer to the supplier in your Stripe Dashboard (Connect → Transfers) and the Split Pay [Transfers](../../viewing-transfers/) log.

## Supplier Vendor transfers

This is the headline of the Dokan integration. With **Per-product Supplier Vendor transfers** on, every product gains a **Supplier Vendor** field in its Split Pay tab:

*   **Supplier vendor** — a dropdown of your Dokan vendors. Pick the vendor who should receive a second, independent payment when this product sells (for example, the brewery behind a bottle shop’s listing).
*   **Supplier payment** — a **fixed amount** or a **percentage** of the line. This is what Split Pay transfers to the supplier on each sale.

![The Supplier Vendor field on a product's Split Pay tab: a Dokan vendor dropdown, a fixed-amount or percentage payment, and a note showing the product's Dokan commission as the ceiling for the supplier payment plus the platform fee](../../../images/dokan-supplier-vendor-field.png)

The Supplier Vendor field on the product edit screen. The note beneath it shows the product’s current Dokan commission — keep the supplier payment plus your platform fee within that figure so the transfer always fits inside the charge.

**How a sale flows (the three-way split).** On a paid order, Dokan transfers the listing vendor’s commission to their account as usual. Split Pay then fires a separate Stripe transfer to the supplier vendor for the amount you set, tied to the same charge, and logs the transfer id as an order note. Whatever remains on the charge after both transfers is your platform fee. Split Pay never touches Dokan’s commission rows or sub-orders — it only adds its own transfer.

**Refunds.** Refunding an order reverses the supplier transfer in proportion to the amount refunded, and notes the reversal on the order — exactly as Dokan reverses its own vendor transfer. A full refund reverses the supplier in full; a partial refund reverses pro-rata.

**Keep the supplier within the commission.** If you set a supplier payment larger than the product’s Dokan commission, there’s no room left for it on the charge and the transfer can fail or shrink the listing vendor’s share. Split Pay warns you when you save such a product. Lower the supplier amount, or raise that product’s Dokan commission. A supplier set to the same vendor who lists the product is skipped — Dokan already pays that vendor.

## Commission source

The **Commission source** setting only matters if you turn on **auto-link** (below) and use Split Pay — rather than Dokan Stripe Express — as the rail that pays your *listing* vendors. It decides where each vendor’s transfer percentage comes from:

| Choose… | When you want… | How the split is decided |
| --- | --- | --- |
| **Manual per-vendor %** | To set splits yourself in Split Pay — one global percentage, or per product. | Your Split Pay [global](../../how-to-transfer-payments/global-transfers/) or [per-product](../../how-to-transfer-payments/product-level-transfers/) transfer values apply. |
| **Dokan commission** | Split Pay to pay each vendor what Dokan would have. | Each vendor is paid `100 − Dokan’s commission` for the product, resolved at order time. |

If you use Dokan Stripe Express to pay listing vendors (the common setup), leave auto-link off and ignore this setting — it has no effect on supplier transfers, which always use the amount you set per product.

## Adopting Stripe connections

A supplier can only be paid if Split Pay knows their Stripe account. The **Adopt vendors’ Dokan Stripe Express connections** setting (on by default) decides how that happens:

*   **On** — when a supplier is already connected through Dokan Stripe Express, Split Pay reuses that same Stripe account. The vendor connects **once** and can be paid both as a listing vendor (by Dokan) and as a supplier (by Split Pay).
*   **Off** — Split Pay ignores Dokan’s connection and requires the vendor to connect through Split Pay’s own onboarding (see [Vendor onboarding](#vendor-onboarding)). Use this if you want supplier payouts to land in a *different* Stripe account than the vendor’s Dokan sales.

Whichever you choose, Split Pay only ever uses an account connected in the **same Stripe mode** as the charge. A supplier connected only in live can’t be paid by a test-mode order, and the other way round — so when you test in a sandbox, connect your supplier vendors in test mode first.

## Vendor onboarding

A supplier who has never connected to Stripe — through Dokan or Split Pay — can’t be paid. With **Auto-assign Split Pay vendor role** on (default), every Dokan vendor gets a **Stripe Payouts** tab in their Dokan dashboard with a **Connect with Stripe** button, so they can connect through Split Pay directly.

![A Dokan vendor dashboard showing a Stripe Payouts page and a Connect with Stripe button](../../../images/dokan-vendor-connect-stripe-cta.png)

The vendor’s view: the **Stripe Payouts** page in their Dokan dashboard, with a **Connect with Stripe** button. The vendor completes Stripe onboarding once and can then be paid as a supplier on every sale.

You can also onboard vendors yourself, or drop the platform-agnostic `[split_pay_vendor_connect]` shortcode on any page — both are covered in [Connecting Vendor Stripe Accounts](../../connecting-vendor-stripe-accounts/). The card’s **Vendors connected to Stripe** status check shows how many of your vendors still need to connect.

From the same **Stripe Payouts** tab, a connected vendor can **Disconnect** their Stripe account at any time. Split Pay then stops routing supplier transfers to it — and won’t silently re-adopt their Dokan Stripe Express connection — until the vendor reconnects.

## Auto-linking products

Auto-link is **off by default for Dokan**, on purpose. It attaches a vendor’s own products to that vendor’s Stripe account so **Split Pay** pays them — which only makes sense if Split Pay, not Dokan Stripe Express, is your primary payout rail. If Dokan is already paying your vendors (the normal setup), leaving auto-link on would pay the same vendor twice — once by Dokan and once by Split Pay.

Turn it on only if you intend Split Pay to replace Dokan’s vendor payouts. In that case, also set [Commission source](#commission-source) and switch payout coexistence away from *Coexist* (see below). For the supplier-transfer use case, leave auto-link off.

## Avoiding double payouts

Because Dokan paying the listing vendor is *intended* here, Split Pay’s default stance is to leave Dokan’s payouts completely alone. The **Dokan payout coexistence** setting controls this:

| Mode | What Split Pay does | Best when |
| --- | --- | --- |
| **Coexist** (default) | Nothing. Dokan pays the listing vendor; Split Pay only adds supplier transfers. | The normal setup — Dokan Stripe Express pays vendors and you use Split Pay for suppliers. |
| **Detect & warn** | Watches Dokan’s payout path and flags it on the card, without changing anything. | You’ve turned on auto-link and want to review before letting Split Pay take over payouts. |
| **Reconcile** | After Split Pay’s transfers, marks the matching Dokan handling so reporting stays truthful. | Split Pay is your primary rail and you want Dokan’s records to reflect it. |
| **Guard** | Neutralizes Dokan’s automatic disbursement so it can’t pay on top of Split Pay. | You’ve made Split Pay the only thing that pays vendors and want a hard guarantee. |

For the supplier-vendor use case, **Coexist** is correct — both rails are meant to run. The other modes only matter if you switch to using Split Pay as the primary payout rail via auto-link.

## Recommended setups for common goals

| Your goal | Supplier transfers | Auto-link | Coexistence |
| --- | --- | --- | --- |
| “Dokan pays my vendors; I just need to pay a supplier behind some products.” | On | Off | Coexist |
| “Suppliers should connect Stripe only once.” | On | Off | Coexist — leave **Adopt Dokan connections** on. |
| “I want Split Pay, not Dokan, to pay my vendors.” | On or off | On | Guard — and set **Commission source**. |

## Limitations and known issues

*   **PRO only.** Supplier transfers, onboarding, and account adoption require Split Pay PRO. On the free version the Dokan card still detects Dokan, but the automation does not run.
*   **Needs Dokan Stripe Express.** The supplier transfer draws from the platform-held charge that Stripe Express creates. The legacy “Stripe Connect” module charges on the vendor account instead, so supplier transfers are disabled under it — the card tells you when this is the case.
*   **The supplier must connect Stripe in the charge’s mode.** A sale can only transfer to a supplier who has a connected account in the same mode (test or live). Connect suppliers in test mode before sandbox testing.
*   **Keep the supplier within the Dokan commission.** The supplier and your platform fee together can’t exceed the product’s Dokan commission, or there’s no room on the charge. Split Pay warns you at save time.
*   **Supplier is set per product.** On a variable product, set the Supplier Vendor once on the parent product; it applies to every variation.
*   **Async payment methods.** Like all Stripe separate-charges-and-transfers, supplier transfers are best suited to card payments. Delayed bank-debit methods (ACH, SEPA) carry the usual settlement caveats.

## Troubleshooting

*   **No Dokan card on the Integrations tab.** Confirm Dokan is installed and active, and that you’re on Split Pay 3.8.0 or later.
*   **The card says supplier transfers are unavailable.** You’re on the legacy Dokan “Stripe Connect” module. Switch to **Dokan Stripe Express** — supplier transfers need the platform-held charge it creates.
*   **A supplier wasn’t paid on a sale.** Check the **Vendors connected to Stripe** count — the supplier likely hasn’t connected in the order’s Stripe mode. Connect them, then re-test. Confirm the product’s Supplier Vendor and amount are set.
*   **The supplier transfer failed or the listing vendor was short-paid.** The supplier payment plus your fee exceeded the product’s Dokan commission. Lower the supplier amount or raise that product’s Dokan commission.
*   **A supplier got paid but shouldn’t have (or twice).** Confirm the Supplier Vendor isn’t the same vendor who lists the product — that case is skipped by design; if you see a double payment, check whether auto-link is also on.
*   **A test sale created no supplier transfer.** Re-check that you pasted your Stripe *platform* keys (with Transfers: Write) and synced webhooks, that Stripe Express is active, and that the supplier is connected in test mode.
