1. Mobile Money Requests
ZamuPay API Documentation
  • Introduction
  • Definitions
    • Data Types
  • Authorization
    • Overview
    • Token Request
      POST
    • Find Transaction Routes
      GET
    • Health Check
      GET
  • Payment Request
    • Overview
    • Payment Order Request Information
    • Mobile Money Requests
      • Overview
      • Mobile Transfers- Safaricom (M-Pesa)
        POST
      • Mobile Transfers - Airtel Money
        POST
    • Payment Order Requests - Business Transfers
      POST
    • Payment Order Requests - Bank Transfers
      POST
    • Find Payment Order By OriginatorConversationId
      GET
    • Reject Order By OriginatorConversationId
      POST
  • Collection Request
    • Overview
    • Express Deposit Request
      POST
    • Find Express Deposit By OriginatorConversationId
      GET
  • Checkout Request
    • Overview
    • Checkout Order Request
      POST
    • Query Checkout Request
      GET
    • Checkout Callback Request
      POST
  • Bill Payments
    • Overview
    • Bill Request Validation
      POST
    • Bill Request Payment
      POST
    • Find Bill Services
      GET
    • Find Bill Number By Service Id and Account Number
      GET
    • Find Bill Request By Originator Converstion Id
      GET
    • Bill Number
      POST
  • Account Validation
    • Overview
    • Account Number Validation Request
    • Find KYC Status by SystemTraceAuditNumber
    • Account Validation
    • Find Account Validation Status by SystemTraceAuditNumber
  • Payment Links
    • Overview
    • Create Payment Link
    • Find Payment Links By Id
    • Update Payment Link
  • Customer Accounts
    • Balance Check
    • Find Charges By TransactionTypeId
  • Airtime Purchase
    • Overview
    • Airtime Purchase
    • Find Airtime Purchases By OriginatorConversationId
  1. Mobile Money Requests

Mobile Transfers- Safaricom (M-Pesa)

Developing
https://auth.zamupay.com
https://auth.zamupay.com
https://auth.zamupay.com
https://auth.zamupay.com
POST
/v1/payment-order/new-order
Zamupay supports outbound payments (B2C) via Mobile Transfers to M-Pesa wallets.
This integration is for Safaricom M-Pesa.
Confirm the MCCMNC codes from the Zamupay Data Types Documentation:
https://docs.zamupay.com/data-types-1946182m0
and scroll to the MCCMNC codes section.
Use the Find Transaction Routes API:
https://docs.zamupay.com/find-transaction-routes-25375898e0
to get the route ID and channel type.
Note: A valid token is required for authentication as it expires every hour. Refer to Token Request to generate a new token.

Sample Mobile Transfer Request - M-Pesa#

{
	"originatorConversationId": "BBS217380556926",
	"paymentNotes": "Derick Koskei",
	"paymentOrderLines": [
		{
			"remitter": {
				"name": "Nicholas Kimeli Koskei",
				"address": "74 Honeywell Blvd Mirrabooka Perth",
				"phoneNumber": "+41478565808",
				"idType": "National ID",
				"idNumber": "189537279",
				"dateOfBirth": "1997/08/14",
				"country": "AU",
				"nationality": "AU",
				"ccy": 36,
				"financialInstitution": "TFS",
				"sourceOfFunds": "Salary",
				"principalActivity": "Family"
			},
			"recipient": {
				"name": "Juliet Kimeli",
				"phoneNumber": "+254777772240",  // Safaricom based Phone number
				"financialInstitution": null,
				"primaryAccountNumber": "+254799992240", // Safaricom based Phone number
				"address": "Kenya",
				"idNumber": "22068155",
				"mccmnc": "63902", //  Safaricom Kenya
				"ccy": 404,
				"country": "KE",
				"purpose": "Family",
				"institutionIdentifier": null
			},
			"transaction": {
				"routeId": "4a45b519-0d3b-1111-8286-062ab3a3eac8",
				"ChannelType": 1,
				"amount": 1100,
				"reference": "ABC123TT",
				"systemTraceAuditNumber": "DDS217380BB6"
			}
		}
	]
}

Sample Response#

{
  "message": {
    "appDomainName": "LIVE",
    "systemConversationId": "16780000-a97d-3024-8e07-08d93713929d",
    "originatorConversationId": "origiqjwwqwqnnmqeqersationId",
    "remarks": "order submission accepted",
    "timestamp": "2021-06-24T13:25:49.5292326Z"
  }
}

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or

Responses

🟢200Success
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://auth.zamupay.com/v1/payment-order/new-order' \
--header 'Authorization: Bearer <token>'
Response Response Example
{}
Modified at 2026-04-20 11:31:43
Previous
Overview
Next
Mobile Transfers - Airtel Money
Built with