Payments infrastructure for Kenya

Move money with confidence.

Accept customer payments with M-PESA STK Push and send business-to-customer payouts. Integrate payment requests, transaction verification, and callbacks from one platform.

Keep credentials secure Transaction status updates
STK payment confirmed
Payment overview
LIVE
Processed transactions
KES 248,560 this month
C2B STK PushCustomer paid
+ KES 2,500
B2C payoutSent to recipient
− KES 850
B2C payout initiated
Built for your workflow

Collections and payouts, clearly explained

Collect money from customers with STK Push, or send money from your business to recipients with B2C payouts.

Collect with STK Push

Your app requests payment. The customer gets an M-PESA prompt and approves it with their PIN. Successful funds settle to your configured till, bank, or Paybill.

  • Customer pays your business
  • Customer approves on their phone
  • Confirm the result before fulfilling orders

Send B2C payouts

Your business initiates a supported payment to a recipient’s mobile money account—for example, a refund, reward, or commission.

  • Business sends money to a recipient
  • Track the payout status
  • Use callbacks to update your records

Developer-ready API

Use REST endpoints and documentation to connect payment requests, status checks, and callbacks to your application.

  • Server-side credential handling
  • Integration examples
  • Transaction status guidance
Customer-to-business payments

Collect payments with STK Push.

C2B means customer-to-business: the customer pays your business. Your application initiates an M-PESA STK Push, the customer approves the prompt on their phone using their M-PESA PIN, and successful funds settle to your configured M-PESA till, bank, or Paybill.

Your server initiates the STK Push with the customer’s phone number and payment amount.
The customer reviews and approves the payment prompt on their phone.
Successful payment proceeds to your configured till, bank, or Paybill.
Confirm the final transaction result using a callback or status-check endpoint.
STK Push payment flow REQUEST → APPROVE → SETTLE
01

Initiate STK Push

Your application sends a payment request for the customer and amount.

02

Customer approves

The customer enters their M-PESA PIN to authorize the payment.

03

Funds settle

Successful payment settles to your configured till, bank, or Paybill.

Do not treat the initial STK Push response as proof of payment. Confirm success with the callback or transaction-status endpoint before fulfilling an order.
Business-to-customer payments

Send money out with B2C payouts.

B2C means business-to-customer: your business sends money to a recipient. For example, you might send a refund, reward, commission, or another supported business payment to a customer’s mobile money account.

Your backend initiates a payout using the required recipient and payment details.
Check the payout status and use callbacks to process its final result.
Check your configured account and available balance before initiating payouts.
B2C payout flow INITIATE → TRACK → CONFIRM
01

Submit payout

Your backend sends the recipient, amount, and required request details.

02

Track progress

Save the transaction reference and check the payout status.

03

Handle result

Use the final response or callback to update your records.

Keep API credentials private and verify the final transaction result on your server.
Easy to get moving

From account to integration

Set up your account, connect your application, and test your payment workflow.

01

Create your account

Register and configure the payment accounts you want to use with PrintPay.

Account setupCredentials
02

Integrate the API

Follow the documentation to connect STK Push, B2C payouts, and transaction status checks.

PHPNode.jsPython
03

Test your workflow

Verify requests and transaction responses in your environment before production use.

Status checksCallbacks
Payment capabilities

Core services for your business

Build payment experiences around the tools your business needs.

C2B STK Push

Prompt a customer to approve an M-PESA payment to your configured till, bank, or Paybill.

B2C payouts

Initiate supported business disbursements to customers and other recipients.

Transaction verification

Check transaction status and handle confirmed, pending, or failed results.

Callbacks

Receive asynchronous transaction updates at your configured server endpoint.

Payment visibility

Review activity and transaction information from your PrintPay workspace.

Integration guidance

Use API documentation and examples to build your payment integration.

API documentation

Choose your payment workflow

Explore the documentation for customer payments and business payouts.

C2B / STK Push

Learn how to initiate customer payment prompts and handle transaction results.

Read C2B docs

B2C payouts

Learn how to send supported business payouts and check their status.

Read B2C docs

Talk to us

Contact our team about your integration, business requirements, or support needs.

Email our team
Customer stories

Built for businesses in motion

Payment tools can support everyday business workflows.

★★★★★
“The API helped us bring our payment flow into one place and made it easier for our team to track transactions.”
John KamauBusiness owner
★★★★★
“Having payment collection and payout workflows together makes our day-to-day operations simpler.”
Sarah WanjikuSoftware developer
★★★★★
“The documentation gave us a clear starting point for connecting our application to M-PESA payments.”
Michael OchiengProduct lead
Start building

Bring your payment flow together.

Explore STK Push collections, B2C payouts, and transaction status workflows with PrintPay API.

PrintPay Payment Guide

Ask about C2B, STK Push, or B2C

Typing…