IntaSend Payments API
Payments API for mobile money collections and payouts
One REST API to collect payments, send money and manage wallets in Kenya, Uganda, Tanzania, Rwanda and DRC. Clear docs, SDKs for your stack and a full sandbox, so your team ships in days.
# Send a payment prompt to the customer's phone
curl -X POST https://payment.intasend.com/api/v1/payment/mpesa-stk-push/ \
-H "Authorization: Bearer $INTASEND_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 2500,
"phone_number": "254712345678",
"api_ref": "order-1042"
}'from intasend import APIService
service = APIService(token=SECRET_KEY, publishable_key=PUBLISHABLE_KEY)
# Send a payment prompt to the customer's phone
service.collect.mpesa_stk_push(
phone_number="254712345678",
email="[email protected]",
amount=2500,
narrative="Order 1042",
)const IntaSend = require('intasend-node');
// Last argument: true for sandbox, false for live
const intasend = new IntaSend(PUBLISHABLE_KEY, SECRET_KEY, true);
// Send a payment prompt to the customer's phone
await intasend.collection().mpesaStkPush({
phone_number: '254712345678',
amount: 2500,
api_ref: 'order-1042',
});// POST to your webhook URL when the payment settles
{
"invoice_id": "NR5XKGY",
"state": "COMPLETE",
"provider": "M-PESA",
"value": "2500.00",
"currency": "KES",
"account": "254712345678",
"api_ref": "order-1042"
} What you can build
Everything you need to move money in one API
Collections
Mobile money PIN prompts, hosted checkout and payment links. Your own reference on every payment.
Learn morePayouts
Single and bulk transfers to mobile wallets, bank accounts, PayBills and Tills, with approval and status per recipient.
Learn moreWallets
Create wallets per customer, merchant or currency. Move funds between them and settle when you choose.
Learn moreWebhooks
Events for pending, complete and failed payments, so your system always knows the latest state.
Learn moreTransaction status
Look up any transaction, its charges, beneficiary details and current state from your own back office.
Learn moreFraud screening
Risk scoring and screening run on every transaction before it is approved.
Learn more
from intasend import APIService
service = APIService(token=SECRET_KEY, publishable_key=PUBLISHABLE_KEY)
# Pay out to mobile money wallets in one batch
transactions = [
{"name": "Jane Wanjiru", "account": "254723456789", "amount": 1500},
{"name": "Peter Otieno", "account": "254734567890", "amount": 4200},
]
payout = service.transfer.mpesa(currency="KES", transactions=transactions)
service.transfer.approve(payout)const IntaSend = require('intasend-node');
const intasend = new IntaSend(PUBLISHABLE_KEY, SECRET_KEY, true);
// Pay out to mobile money wallets in one batch
const payouts = intasend.payouts();
const batch = await payouts.mpesa({
currency: 'KES',
transactions: [
{ name: 'Jane Wanjiru', account: '254723456789', amount: 1500 },
{ name: 'Peter Otieno', account: '254734567890', amount: 4200 },
],
});
await payouts.approve(batch); Developer experience
SDKs for the stack you already use
Use the REST API from any language, or start faster with an official library or plugin.
- REST API
- Python
- PHP
- Node.js
- JavaScript (inline checkout)
- React
- WooCommerce
- Bubble.io
Getting started
From sandbox to live
Get sandbox keys
Create a sandbox account and generate test API keys straight away.
Build and test
Integrate collections, payouts and webhooks using test numbers. No real money moves.
Verify your business
Submit your KYB documents. Once approved, you receive live keys.
Go live
Switch keys and start processing. Our engineers are on hand for your launch.
Coverage
One integration for every market
The same endpoints and webhooks work across Kenya, Uganda, Tanzania, Rwanda and DRC.
See payment rails per market
KenyaKES
UgandaUGX
TanzaniaTZSRwandaRWF
DRCCDF · USD
Building for high volumes?
Talk to us about pricing, dedicated support and the markets you need.
What Our Clients Say About Us
Don’t just take our word for it—hear what our satisfied customers have to say! IntaSend has helped businesses and individuals across Kenya and beyond streamline their payments.
-
The experience has been seamless, efficient, and hassle-free. One thing that makes Intasend stand out is the platform's ability to collect payments from anywhere in the world.
Felistas NjihiaFelin Solutions★★★★★ -
Our experience with IntaSend has been remarkable. The integration process was quite smooth with proper API documentation. Intasend won us over on the ease of B2B transactions which is our mainstay and remains our preferred payment solutions
Kelvin Muriuki, C.E.Otaka.earth★★★★★ -
Their platform is incredibly user-friendly, allowing our customers to easily pay for their weekly meals. The fast and secure payment process also provides peace of mind for both our customers and us.
John FaderrFoodtable by Roros Co.★★★★★ -
@intaSendHQ I am currently blown away by your product. The documentation is so developer friendly as opposed to one pan-African payment gateway, market leader. Good job!
@Matinde on Twitter★★★★★ -
Their customer service is top-notch. The team at IntaSend Payments is friendly and super responsive, always there to lend a hand whenever you need it.
Wearify on ShopifyWearify Kenya★★★★★ -
I would like to commend your service and especially point out your outstanding quick turn-around in processing payment and your after-office hour’s support. We are glad that you can be reached 24/7 for queries and round-the-clock support.
Peter NyottaTwende Worldwide Tours and Travel Ltd★★★★★ -
This payment processor has allowed me to continue serving my local as well as international customers. They also offer reasonable fees and their payouts are timely. Even without a website, IntaSend payment links works just fine.
Shadrack MasindeGofan Safaris Limited★★★★★ -
I have been using Intasend for a while now both on my website as a payment gateway and my business as a payment solution and all I can say is, IntaSend is the best solution to sort out all business payment related difficulties.
Daniel NyongesaA+ Academic Consultants★★★★★ -
IntaSend is one of the best online money transfers with mobile and card payment options and helps in collecting emails for marketing.
Moses ThoithiWizAdventures Safaris★★★★★
Frequently Asked Questions
What can I do with the IntaSend Payments API?
Collect mobile money and bank payments, send single and bulk payouts, manage wallets, check transaction status and receive webhooks, in Kenya, Uganda, Tanzania, Rwanda and DRC.
Which SDKs are available?
Official libraries for Python, PHP, Node.js and JavaScript, plus plugins for WooCommerce and Bubble.io. The REST API works with any language.
Is there a sandbox?
Yes. Create a sandbox account to get test keys and simulate collections and payouts without real money.
How do I get live API keys?
Verify your business on IntaSend. Once your account is approved, you can generate live keys from the dashboard.
Does the API support card payments?
No. IntaSend focuses on mobile money and bank payments.