General Transfer

Scope

This applies to scenarios where end users are making a transfer to:

  1. M-PESA Mobile Money

  2. AIRTEL Mobile Money

  3. Choice Bank Account

  4. Pesalink Bank Account

Pesalink Transfer has following limitations:

  1. Dometic banks only

  2. KES currency only

  3. Maximum KES 999,999 per transaction

  4. Some counter banks restrict Pesalink service to business hours

Recommendations for Alternative Use Cases

  1. Large/Urgent Transfers → Prioritize RTGS for immediate, high-value settlements.

  2. ​Cross-Border Payments → Utilize SWIFT or mobile money corridors (e.g., M-PESA Global).

  3. ​After-Hours Transactions → Leverage M-PESA for 24/7 liquidity.

  4. ​Bulk Corporate Payments → Integrate with bank APIs or dedicated bulk payment platforms.

Steps

1

Initiate Transfer Request

Call endpoint /trans/v2/applyForTransfer to initiate a transfer request

Status: 1-SUBMITTED

2

Confirm OTP

Call endpoint /common/sendOtp to request for OTP, filling the value of txId to businessId parameter. Call endpoint /common/confirmOperation to confirm the OTP code received.

Status: 2-PROCESSING

The endpoint /common/sendOtp can also be used to resend OTP.

3

Transaction Processing

Status: 2-PROCESSING

4

Get Onboarding Result

  • Get it from 0002 - Transaction Result Notification

  • Query transaction status by calling the endpoint /query/getTransResult

Status

Last updated