The B2C service allows organizations to send payments to individual M-PESA users in bulk through a web-based administration system. Each organization is assigned a unique shortcode and username to access the system, monitor payments, and download transaction statements.
Common Use Cases
According to Safaricom, the bulk payment service can be used for:
- Banks, MFIs, and SACCOs: Loan disbursement and direct withdrawals from bank accounts to M-PESA accounts
- Insurance Companies: Claims settlement payments
- Corporate Salaries: Employee salary disbursements and casual worker payments
- Promotional Payments: Distribution of cash prizes to competition winners
- Business Payments: Settlement of small suppliers, petty cash, daily wages
- Dividend Payments: Annual dividend distributions for publicly listed companies
- Government Organizations, NGOs, and FBOs: Disbursement of project funds, relief funds, development funds, per diems, and field staff wages
M-Pesa Bulk Transaction Limits and Specifications
Payment Limits
Maximum Recipients Per Transaction: 20,000 individuals can be paid in a single bulk payment batch.
Maximum Amount Per Individual: KSh 250,000 per transaction, subject to the recipient's M-PESA account balance limit of KSh 500,000.
Recipient Networks: Organizations can disburse funds to subscribers registered on:
- M-PESA (Safaricom)
- Airtel Money (Airtel Kenya)
- T-Kash (Telkom Kenya)
Important Notes on Limits
- B2C is strictly for business-to-customer payments (shortcode to mobile phone)
- Shortcode-to-shortcode payments require the B2B (Business to Business) service instead
- If a disbursement is made from a shortcode with insufficient funds, individuals will receive funds up to the available balance, while remaining transactions will fail
B2C Transaction Charges
Safaricom provides two charging options for B2C payments: standard charges where the business pays transaction fees, and an inclusive option where withdrawal charges are also covered by the business.
Option 1: B2C Payments to M-PESA Registered Users (Standard)
In this option, the business pays the B2C transaction charge, while the customer pays withdrawal fees separately when they withdraw cash.
| Amount Range (KSh) | Customer Charge | Business Charge | Total Charge |
|---|---|---|---|
| 1 - 49 | 0 | 0 | 0 |
| 50 - 100 | 0 | 0 | 0 |
| 101 - 500 | 0 | 5 | 5 |
| 501 - 1,000 | 0 | 5 | 5 |
| 1,001 - 1,500 | 0 | 5 | 5 |
| 1,501 - 2,500 | 0 | 9 | 9 |
| 2,501 - 3,500 | 0 | 9 | 9 |
| 3,501 - 5,000 | 0 | 9 | 9 |
| 5,001 - 7,500 | 0 | 11 | 11 |
| 7,501 - 10,000 | 0 | 11 | 11 |
| 10,001 - 15,000 | 0 | 11 | 11 |
| 15,001 - 20,000 | 0 | 11 | 11 |
| 20,001 - 25,000 | 0 | 13 | 13 |
| 25,001 - 30,000 | 0 | 13 | 13 |
| 30,001 - 35,000 | 0 | 13 | 13 |
| 35,001 - 40,000 | 0 | 13 | 13 |
| 40,001 - 45,000 | 0 | 13 | 13 |
| 45,001 - 50,000 | 0 | 13 | 13 |
| 50,001 - 70,000 | 0 | 13 | 13 |
| 70,001 - 250,000 | 0 | 13 | 13 |
Option 2: B2C Payments with Withdrawal Charges Paid
In this option, the business pays both the B2C transaction charge AND the customer's withdrawal charge, ensuring the recipient receives the full amount without deductions.
| Amount Range (KSh) | Customer Charge | Business B2C Charge | Withdrawal Charge | Total Business Charge |
|---|---|---|---|---|
| 1 - 49 | 0 | 0 | 0 | 0 |
| 50 - 100 | 0 | 0 | 11 | 11 |
| 101 - 500 | 0 | 5 | 29 | 34 |
| 501 - 1,000 | 0 | 5 | 29 | 34 |
| 1,001 - 1,500 | 0 | 5 | 29 | 34 |
| 1,501 - 2,500 | 0 | 9 | 29 | 38 |
| 2,501 - 3,500 | 0 | 9 | 52 | 61 |
| 3,501 - 5,000 | 0 | 9 | 69 | 78 |
| 5,001 - 7,500 | 0 | 11 | 87 | 98 |
| 7,501 - 10,000 | 0 | 11 | 115 | 126 |
| 10,001 - 15,000 | 0 | 11 | 167 | 178 |
| 15,001 - 20,000 | 0 | 11 | 185 | 196 |
| 20,001 - 25,000 | 0 | 13 | 197 | 210 |
| 25,001 - 30,000 | 0 | 13 | 197 | 210 |
| 30,001 - 35,000 | 0 | 13 | 197 | 210 |
| 35,001 - 40,000 | 0 | 13 | 278 | 291 |
| 40,001 - 45,000 | 0 | 13 | 278 | 291 |
| 45,001 - 50,000 | 0 | 13 | 278 | 291 |
| 50,001 - 70,000 | 0 | 13 | 309 | 322 |
| 70,001 - 250,000 | 0 | 13 | 309 | 322 |
B2C Payments to Airtel Money/T-Kash Users
For payments to Airtel Money and T-Kash registered users, different charges apply:
| Amount Range (KSh) | Customer Charge | Business Charge | Total Charge |
|---|---|---|---|
| 1 - 49 | 0 | 0 | 0 |
| 50 - 100 | 0 | 0 | 0 |
| 101 - 500 | 0 | 5 | 7 |
| 501 - 1,000 | 0 | 5 | 13 |
| 1,001 - 1,500 | 0 | 5 | 23 |
| 1,501 - 2,500 | 0 | 9 | 33 |
| 2,501 - 3,500 | 0 | 9 | 53 |
| 3,501 - 5,000 | 0 | 9 | 57 |
| 5,001 - 7,500 | 0 | 11 | 78 |
| 7,501 - 10,000 | 0 | 11 | 90 |
| 10,001 - 15,000 | 0 | 11 | 100 |
| 15,001 - 20,000 | 0 | 11 | 105 |
| 20,001 - 250,000 | 0 | 13 | 108 |
Available Access Channels
Once your B2C account is active, you can access the service through three different channels:
1. M-PESA Web Portal
Access URL: https://org.ke.m-pesa.com
This is the standard web-based portal for managing B2C payments.
2. M-PESA Enterprise Portal
Access URL: https://pay.m-pesaforbusiness.co.ke/
An enterprise-level portal with additional features for larger organizations.
3. API Integration
For organizations that want to integrate B2C payments into their existing systems, Safaricom provides Application Programming Interface (API) access. This enables seamless communication between your in-house system and the M-PESA platform without requiring direct access to the M-PESA web portal.
Account Structure and Fund Management
Two-Account System
B2C payments operate through a two-account structure:
1. MMF/Working Account
- Primary account where all deposits to the M-PESA Trust Account are received
- Where all withdrawals from the M-PESA bank account must be requested
- Does not have direct contact with customer accounts
2. Utility Account
- Funds must be transferred from the Working Account to the Utility Account before making customer payments
- Directly linked to customers' M-PESA accounts
- Used for actual disbursements to recipients
Float Purchase Methods
Organizations can load funds into their B2C account through various banking channels:
RTGS (Real-Time Gross Settlement) Transfer:
- Transfer to M-PESA holding accounts at NCBA, Co-operative Bank, Equity Bank, or KCB
- Beneficiary account format: 333 + your shortcode (e.g., if shortcode is 123456, use 333123456)
- Processing time: Within 1 hour
Cash Deposit:
- Available only at KCB Bank
- Processing time: Within 1 hour
EFT (Electronic Funds Transfer):
- Processing time: Within 48 hours (working days)
Cheque Deposit:
- Processing time: Approximately 3 working days
Benefits of the Current Deposit Process:
- Reduced turnaround time from 3 hours to 1 hour for RTGS deposits
- Minimal errors due to the prefix requirement (333 + shortcode)
Important: If deposit details are incorrect, the request will be rejected and funds will be reversed to your bank account.
User Roles and Permissions
The B2C system operates on a maker-checker principle to ensure transaction security and accountability. Safaricom defines four distinct user roles:
1. Business Administrator
- Created by: Safaricom
- Permissions: Limited to creating and managing other users
- Restrictions: Cannot view, initiate, or approve transactions
2. Business Web Operator
- Key Functions:
- View statements
- Upload bulk payment files
- Initiate transactions
- Initiate reversals
- Restrictions:
- Cannot approve or reject transactions
- Cannot withdraw funds from M-PESA
3. Business Manager
- Key Functions:
- View statements
- Approve bulk transactions uploaded by operators
- Approve or reject transactions
- Withdraw funds from M-PESA
- Initiate reversals
- Primary Role: Transaction approval authority
4. Business Auditor
- Key Functions:
- View and read-only access to all transactions and statements
- Restrictions:
- Cannot upload or initiate transactions
- Cannot approve or reject transactions
- Cannot withdraw funds
Important Security Note: One user cannot complete a B2C payment alone. The system requires one user (Business Operator) to initiate the transaction and another user (Business Manager) to approve it for successful completion.
Types of B2C Payments
1. B2C Individual Payment
Used to make payments to one customer at a time. Ideal for ad-hoc or single recipient payments.
2. B2C Bulk Payment
Used to make payments to multiple customers simultaneously. Organizations are provided with a template for validating and processing bulk payments efficiently.
Maximum Recipients: Up to 20,000 individuals per bulk transaction
Important Operational Considerations
Payment Processing
Insufficient Funds Scenario: If a bulk disbursement is initiated from a shortcode with insufficient funds:
- Individuals will receive funds up to the available balance
- Remaining recipients will not receive payments
- Transaction status will read "Failed" for unsuccessful payments
Withdrawal Charge Options
Organizations have flexibility in how withdrawal charges are handled:
- Option A: Send the exact amount (customer pays withdrawal fees)
- Option B: Include withdrawal charges (business pays all fees, customer receives full amount)
Network Restrictions
B2C payments are limited to:
- Safaricom M-PESA users
- Airtel Kenya Airtel Money users
- Telkom Kenya T-Kash users
Payments cannot be made to:
- Other shortcodes (use B2B service instead)
- Unregistered mobile money users