October 21, 2025

Stripe Split Payments: How Connect Works for Automating Contractor Payouts

Rodion Salnik

CTO and Co-founder, Brocoders

5 min

1. Introduction: Why Contractor Payouts Are Technically Non-Trivial

Paying contractors at scale isn’t just a feature - it’s infrastructure. Whether you're building a delivery app, a field services marketplace, a gig platform, or an ecommerce site that includes professional installation or fulfilment—like garage systems or home repairs—taking online payments is just one side of the equation. You also need to reliably, securely, and compliantly pay out to your contractors or service partners—often within minutes of job completion.

But splitting payments isn’t trivial. You’re dealing with:

  • Multiple stakeholders (contractor, platform, sometimes a third party)

  • Revenue share logic that varies by job or region

  • Legal, tax, and financial compliance across jurisdictions

Stripe Connect offers a ready-made solution to these challenges. It lets platforms route money from customers to contractors, apply platform fees, and automate compliance processes. Instead of building custom payout systems with cron jobs and spreadsheet audits, Connect gives you a programmable API-first platform to automate and scale contractor payments.

In this guide, we’ll break down how Stripe Connect handles split payments under the hood, how to implement it securely, and when to use which model. If you’re looking for a conceptual overview of split payments before diving in, check out What Are Split Payments and How Do They Work in Field Services?.

Update (December 2025): Start new platforms on the Accounts V2 API. In December 2025, Stripe shipped a new Accounts V2 API, now the recommended integration path for new platforms. V2 replaces the Standard/Express/Custom account types with composable configurations (merchant, customer, recipient) and gives each connected account a single unified identity across Stripe, so you no longer maintain a separate Customer object mapped to each account. The V1 API is not going away and existing integrations keep working unchanged, so there is no forced migration. If you are building something new, build it on V2 and skip the V1-to-V2 rework later. Throughout this guide we show the V2 approach first and note the V1 equivalent where it helps.

Next, we’ll look at how Stripe Connect actually models multiparty payments.

2. Stripe Connect Models for Split Payments

Stripe Connect isn’t just one API. It’s a set of building blocks for handling multi-party payments. Before you start sending money to contractors, you need to understand the key account types and charge flows.

2.1 Connected Accounts: Configurations (V2) and Account Types (V1)

Each contractor needs a Stripe "connected account" under your platform. How you model that account depends on which API version you build on.

On the Accounts V2 API (recommended for new platforms): you create one Account and assign it composable configurations instead of picking a fixed account type. Each configuration unlocks a set of capabilities:

  • merchant: lets the account accept payments from customers. Includes the card_payments and stripe_balance.payouts capabilities.

  • recipient: lets the account receive transfers from your platform. Includes the stripe_balance.stripe_transfers capability, which is required for indirect charges like destination charges and separate charges and transfers.

  • customer: lets you charge the account as a customer, replacing the separate Customer object you needed in V1.

Dashboard access is now a separate dashboard setting (full, express, or none), so you choose the level of Stripe-hosted UI independently of the account's capabilities. For most field service and gig-style platforms, a recipient (and where relevant merchant) configuration with express dashboard access gives contractors Stripe-hosted onboarding and payouts while you keep control over payout timing and fee logic.

On the Accounts V1 API (still supported): you pick one of three fixed account types:

  • Standard: The contractor uses their own Stripe account. They onboard and manage settings via Stripe. Your control is limited.

  • Express: Stripe handles onboarding, identity checks, and payouts via a lightweight Stripe-hosted dashboard. You control when and how money moves.

  • Custom: You manage the full onboarding flow and have full control, but you also take on more compliance and complexity.

If you maintain an existing V1 integration, Express remains the balanced choice. For anything new, the V2 recipient configuration is the closer equivalent and the path Stripe now recommends.

2.2 Choosing the Right Charge Type

Stripe supports different models for how money flows:

  • Destination Charges: The platform charges the customer, and Stripe sends part of the payment to the contractor. Ideal when your platform is the merchant of record.

  • Separate Charges and Transfers: The platform charges the customer, then transfers the appropriate share to each contractor. More flexible for complex split logic or multiple contractors.

  • Direct Charges: The contractor charges the customer directly, and you collect a fee. Less control, and typically used with Standard accounts.

Most marketplaces and hybrid platforms will choose Destination Charges for simplicity or Separate Charges and Transfers for flexibility (especially when splitting among multiple parties).

The charge models themselves are unchanged in V2. Stripe now groups Destination Charges and Separate Charges and Transfers under the term indirect charges, and both require the connected account to hold the recipient configuration so it can receive transfers.

Next: we’ll walk through implementation—onboarding contractors, handling payments, and scheduling payouts.

  1. Implementing Stripe Split Payments Step by Step

Once you’ve selected your account and charge type, the real work starts: integrating it into your backend. Here’s how the full split payment flow works.

3.1 Onboard Contractors

Every service provider or contractor needs to be represented as a connected account in your Stripe environment.

On V2, use the POST /v2/core/accounts API to create the account and request the recipient configuration (add merchant if the account also accepts payments) On V1, the equivalent call is POST /v1/accounts with the account type set to Express Use account_links to generate a hosted onboarding form Contractors fill in tax, ID, and bank info via Stripe’s secure UI

A minimal V2 account creation call looks like this:

curl -X POST https://api.stripe.com/v2/core/accounts \
  -H "Authorization: Bearer <YOUR_SECRET_KEY>" \
  --json '{
    "contact_email": "contractor@example.com",
    "display_name": "Jane Contractor",
    "dashboard": "express",
    "identity": { "country": "us", "entity_type": "individual" },
    "configuration": {
      "recipient": {
        "capabilities": {
          "stripe_balance": { "stripe_transfers": { "requested": true } }
        }
      }
    }
  }'

The result is a verified account ID you’ll use for future payouts. You don’t store sensitive info, Stripe handles the KYC flow.

3.2 Accept Customer Payments with Split Logic

When a customer pays for a job or product+service bundle, your backend creates a PaymentIntent or Charge object.

If using destination charges:


"amount": 10000,

"currency": "usd",

"payment_method": "pm_123",

"transfer_data": {

"destination": "acct_contractor123"

},

"application_fee_amount": 2000

}

destination sends funds to the contractor’s account

application_fee_amount sends your platform fee to your Stripe balance

Stripe handles the split and settles the balances instantly.

3.3 Payout to Contractor’s Bank

The connected account’s balance will be paid out based on your config:

  • Default: daily rolling payouts (with delay)

  • Custom: weekly, monthly, or on-demand via POST /v1/payouts

  • Optionally offer Instant Payouts to debit cards (extra fee)

Use webhooks (payout.paid, payout.failed) to track payout status.

3.4 Handle Refunds and Chargebacks

Stripe will automatically:

  • Reverse the payout if funds were already sent

  • Deduct the contractor’s share proportionally

  • Refund the customer

Your job: listen to events like charge.refunded and notify users as needed.

3.5 Monitor and Reconcile

Use:

  • GET /v1/balance_transactions

  • GET /v1/transfers

  • GET /v1/payouts

Track every penny from charge to payout. Attach your own metadata (e.g. job_id, order_id) to each transaction to sync with your internal systems.

Coming up: how Stripe Connect handles tax and compliance - so you don’t have to.

4. Built-In Tax and Compliance Handling

Payout logic isn’t complete without tax and identity verification. Stripe Connect helps you stay on the right side of the law while scaling contractor payments.

4.1 KYC and Identity Verification

Stripe handles Know Your Customer (KYC) checks during onboarding:

  • Government ID, DOB, address, SSN (US) or local equivalent

  • Adaptive verification depending on volume and region

  • Dynamic prompts if more info is needed later

You don’t need to store or validate sensitive identity info—Stripe does.

4.2 Tax Reporting (1099-NEC, 1099-K)

For US-based contractors, Stripe can generate and file:

  • 1099-NEC for service providers paid over $600

  • 1099-K for platforms with >$20K and >200 transactions (legacy threshold)

Stripe tracks earnings, validates TINs, and issues forms automatically. Contractors access their forms via Stripe Express.

Learn more in How to Pay 1099 Contractors and Stay Compliant with IRS Rules.

4.3 Global Payout Compliance

Stripe supports payouts in 100+ countries with local banking rails. It handles:

  • Currency conversion

  • Local tax ID collection

  • Sanctions list checks

This makes it possible to expand internationally without building region-specific payout logic.

4.4 Avoiding Money Transmitter Risk

Because Stripe directly routes customer funds to connected accounts, your platform typically avoids being classified as a money transmitter.

  • You’re not holding user funds

  • Stripe is the regulated payment entity

  • Reduces licensing and compliance burden significantly

Up next: real-world examples of how platforms actually implement these flows in production.

5. Real-World Integration Examples

5.1 Gig Delivery Platform

A regional courier app allows businesses to book same-day deliveries. Each job is completed by a gig driver.

  • Contractors are onboarded via Express accounts

  • Customer pays at booking; Stripe splits payment instantly

  • Drivers receive daily payouts; optional Instant Payouts enabled for VIPs

  • Charge model: Destination Charges

5.2 Home Services Marketplace

A platform selling home upgrades (e.g. smart thermostats, water heaters) also coordinates local installers.

  • Product sold online via Stripe Checkout

  • Service component split to installer via transfer

  • Installer is paid post-job, on Net-1 payout schedule

  • Charge model: Separate Charges and Transfers

5.3 Ecommerce + Installation Model

A retail brand offers installation as an add-on service. Customers buy shelving systems, then choose an install time.

  • Stripe Checkout used for both product + service in one charge

  • Installer’s fee calculated and transferred after order confirmation

  • Platform keeps product margin and a coordination fee

This hybrid model benefits heavily from programmable splits.

6. Final Thoughts: Should You Use Stripe Connect?

If your platform relies on contractor payouts—whether for services, delivery, installation, or anything in between—Stripe Connect is one of the most developer-friendly ways to do it right.

It handles:

  • Identity verification and banking logic

  • Real-time split payments

  • Global payouts and currency handling

  • 1099 form generation (U.S.)

You still write business logic. But the compliance, money movement, and edge-case nightmares? Covered.

We’ve helped multiple platforms implement and scale Stripe Connect, from marketplace MVPs to high-volume service networks. If you want to move fast without reinventing payments infrastructure—reach out to Brocoders. We know our way around Connect.

FAQ: Stripe Split Payments and Connect for Contractor Payouts

What is Stripe Connect used for?

Stripe Connect lets platforms pay out to third-party contractors, sellers, or providers while automating identity checks, split payments, and compliance.

How does Stripe handle split payments?

When a customer pays, Stripe can automatically route funds to both the contractor and the platform using destination charges or separate transfers, all in one transaction.

What are the differences between Standard, Express, and Custom accounts?

Standard gives the contractor full control via their own Stripe account, Express offers Stripe-hosted onboarding and dashboards with platform-controlled payouts, and Custom gives the platform full control (and full compliance responsibility).

Which charge model should I use for my platform?

Use destination charges if you’re the merchant of record and want simplicity. Use separate charges and transfers if you need flexibility to pay multiple contractors or handle delayed payouts.

Can I offer instant payouts to contractors?

Yes. Stripe supports instant payouts to debit cards, which can be triggered programmatically and settled within minutes, even on weekends.

Does Stripe help with taxes for 1099 contractors?

Yes. Stripe can generate and file 1099-NEC and 1099-K forms for U.S.-based contractors, handling TIN collection and validation.

What compliance responsibilities does Stripe take on?

Stripe handles KYC, global payout regulations, tax form issuance, and reduces your exposure to money transmitter licensing.

Is Stripe Connect suitable for ecommerce platforms with service add-ons?

Absolutely. If you sell products and coordinate third-party services (like installation), Connect can automate payments and split logic across both flows.

4.9
Thank you for reading! Leave us your feedback!
6000 ratings

Read more on our blog