McTaba Labs logo
Software EngineeringThe WhiteboardProjectsEventsMasterclassesWebinarsLearn
Book Call

500+ developers already in the community

Get answers, find accountability partners, and stay ahead

Join Discord →
McTaba Labs logo

Educating 1 million students in tech by 2030.

Programs

  • HighSchool Graduates Launchpad
  • AI & Business Automation
  • Corporate Training
  • McTaba Story & Mission
  • Full-Stack Curriculum
  • Course Pricing & Plans
  • Frequently Asked Questions

Resources

  • Join Discord Community
  • Tech Events in Nairobi
  • Masterclasses
  • Free Resources
  • Learn
  • Campus
  • Africa Tech Talent Report
  • Partner With Us
  • Start a Project
  • Our Work

Contact Us

  • 124 Manyani East Road, Lavington, Nairobi
  • +254727795603
  • Book a Discovery Call

Office Hours:

Mon-Fri: 9am - 2pm EAT

Sat: 10am - 12pm EAT

© 2027 McTaba Labs - A product of Edtech Industries. All rights reserved.

Privacy PolicyTerms of ServiceRefund Policy
  1. Learn
  2. Paystack for African Developers
  3. Commission Models on Paystack Splits
Bonaventure OgetoBy Bonaventure Ogeto|Updated July 22, 2026

Commission Models on Paystack Splits

For percentage commission: set percentage_charge on the subaccount to the vendor's share (e.g., 80%) — your platform keeps the 20% residual. For flat service fee: pass transaction_charge in kobo in the transaction initialize call. For tiered commission: calculate the vendor share dynamically in your backend before initializing. Use bearer: "account" so the Paystack processing fee comes from your platform share.

In this article

  1. 1. Percentage Commission
  2. 2. Flat Service Fee
  3. 3. Tiered Commission by Vendor Volume
  4. 4. Learn More

Percentage Commission

The standard model for most marketplaces. Vendor gets a percentage share; your platform keeps the rest.

// Vendor gets 80%, platform keeps 20%
// Set percentage_charge = 80 on the subaccount when creating it

app.post('/api/checkout', async (req, res) => {
  var { vendorSubaccountCode, amount, email } = req.body;
  var response = await fetch('https://api.paystack.co/transaction/initialize', {
    method: 'POST',
    headers: { Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({
      email,
      amount: amount * 100,
      subaccount: vendorSubaccountCode,
      bearer: 'account', // Platform absorbs Paystack processing fee
      reference: 'order_' + Date.now(),
    }),
  });
  var data = await response.json();
  res.json({ authorization_url: data.data.authorization_url });
});

On NGN 10,000 with 20% commission: vendor gets NGN 8,000 — platform earns NGN 2,000 minus Paystack fee.

Flat Service Fee

Best for delivery apps and bookings where a fixed platform fee makes more sense than a percentage.

var SERVICE_FEE_KOBO = 20000; // NGN 200

body: JSON.stringify({
  email,
  amount: amount * 100,
  subaccount: vendorSubaccountCode,
  transaction_charge: SERVICE_FEE_KOBO, // Your flat fee
  bearer: 'account',
  reference: 'order_' + Date.now(),
})

Get weekly developer tips

Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.

No spam. Unsubscribe anytime.

Tiered Commission by Vendor Volume

function getVendorShare(vendor) {
  var monthly = vendor.monthly_sales_ngn;
  if (monthly >= 5000000) return 92; // Top sellers: 8% commission
  if (monthly >= 1000000) return 88; // Mid-tier: 12% commission
  return 85;                          // New sellers: 15% commission
}

// Pass calculated share per transaction
body: JSON.stringify({
  email,
  amount: amount * 100,
  subaccount: vendor.subaccount_code,
  percentage_charge: getVendorShare(vendor), // Override subaccount default
  bearer: 'account',
  reference: 'order_' + Date.now(),
})

Learn More

This guide is part of the Paystack split payments guide.

Sign up for the McTaba newsletter

Key Takeaways

  • ✓Percentage commission: set subaccount percentage_charge to vendor share (e.g., 85%). Your platform earns the 15% residual.
  • ✓Flat service fee: pass transaction_charge (in kobo) — your platform earns that fixed amount regardless of order size.
  • ✓Tiered commission: calculate vendor percentage dynamically in your backend based on sales volume, then pass it per transaction.
  • ✓Set bearer: "account" so the Paystack processing fee comes from your commission, not the vendor's share.
  • ✓Store commission rates in a database tiers table — never hardcode them into transaction logic.
  • ✓For multi-vendor carts, use a Transaction Split group (split_code) to handle multiple vendor shares in one transaction.

Frequently Asked Questions

Can I override the default commission rate per transaction?
Yes. Pass percentage_charge or transaction_charge directly in the transaction initialize call. This overrides the default set on the subaccount for that specific transaction only.
How do I account for Paystack processing fees in my commission?
With bearer: "account", Paystack fees come from your platform residual. At 20% commission and 1.5% Paystack fee, your net platform revenue is roughly 18.5% of the transaction, not exactly 20%.
Can I charge vendors a monthly subscription fee on top of per-transaction commission?
Yes, but handle this separately. Use charge_authorization on the vendor's stored card for the monthly fee — this is a separate transaction from the per-order split.
What if I set both percentage_charge and transaction_charge?
Paystack treats them differently. percentage_charge gives the subaccount a percentage (your platform keeps the rest). transaction_charge gives your platform a fixed amount (the subaccount gets the rest). Use only one per transaction.

Learn Paystack Integration

KES 2,999

The definitive guide to building payment systems with Paystack — from your first transaction to production-grade payment infrastructure across Africa. 9 modules, 47 lessons. Free preview available.

Start Paystack Course

Not ready? Create Free Account

Keep reading

Paystack Split Payments and Marketplaces: Complete Guide

Everything you need to split payments on Paystack: creating subaccounts, choosing between percentage and flat splits, multi-split transactions, fee configuration, delayed settlement, escrow-style patterns, and building real marketplace products with working Node.js code.

Read more

Percentage vs Flat Split Configuration on Paystack

A detailed comparison of percentage and flat split configurations on Paystack. Covers how each model works, worked margin calculations across different transaction sizes, when to use percentage vs flat, implementing per-transaction overrides, and building hybrid models that combine both approaches.

Read more

Escrow-Style Flows on Paystack and Their Limits

A thorough analysis of what escrow-style flows you can and cannot build on Paystack. Covers the difference between true escrow and delayed settlement, how to use manual settlement for hold-and-release patterns, the limits around hold duration and fund recovery, regulatory considerations in African markets, and when Paystack is not the right tool for escrow.

Read more

Building an Events Ticketing Platform with Splits

An events ticketing platform collects ticket revenue and routes it to event organizers after the event. This guide covers using Paystack splits to route organizer revenue and platform booking fees, handling multi-ticket types, and managing pre-event holds and post-event payouts.

Read more

Transfer Limits and Compliance Considerations

Paystack transfer limits depend on your account tier, the destination country, and the recipient account type. This guide covers understanding and managing transfer limits, KYC tier requirements, regulatory compliance for payout systems, anti-money laundering considerations, and building limit checks into your payout pipeline.

Read more

Explore related topics

M-Pesa & African Stack

M-Pesa Daraja API tutorials, USSD development, and WhatsApp Business API guides. The African Stack that global bootcamps do not teach.

Learn to Code in Kenya

Everything a Kenyan needs to know before writing their first line of code. Career paths, real costs, hardware requirements, and honest answers about what it takes.

Learning to Code

Roadmaps, language guides, and practical advice for learning to code and launching a programming career.

Breaking Into Tech

Practical, no-nonsense guides for anyone looking to start or change their career in tech. From choosing your first language to acing interviews.

The African Stack: Skills for This Market

The skills that make Kenyan developers hard to replace: M-Pesa, USSD, WhatsApp, fintech, and building for the African market.

Bonaventure Ogeto

Bonaventure Ogeto

Founder, McTaba Labs

Bonaventure is the founder of McTaba Labs, a coding bootcamp in Nairobi, Kenya. He has spent years building products for the African market and mentoring the next generation of developers across the continent.