API Reference

Request for Transfer

POST /trans/v2/applyForTransfer

<Use this endpoint to request for small transfers (Mpesa Mobile Money Transfer / Airtel Mobile Money Transfer / Pesalink Transfer / Choice Internal Transfer)>

Parameters

Parameters
Type
Description
Is Required

payerAccountId

string

The ID of the account that is to make the transfer

TRUE

payeeBankCode

string

The bank code of the receiving bank

Use /staticData/getBankCodes endpoint to get the list of bank codes

TRUE

payeeAccountId

string

The number of the receiving account

TRUE

payeeAccountName

string

The name of the receiving account

This is mandatory when counterparty is a bank. When counterpaty is M-PESA/AIRTEL, it's optional.

FALSE

currency

string

Transfer currency (Supports KES, USD, GBP, EUR, TZS, UGX, RWF)

TRUE

paymentPurpose

string

Purpose of bank transfer (Use Pesalink Codes)

FALSE

amount

decimal

Transfer amount

TRUE

remark

string

The message to beneficiary. Not more than 100 characters. For transfers to Airtel Money, remark should not have any special characters and should be alphanumeric and max length is 64 characters.

FALSE

payeeMobileForNotification

string

Specify beneficiary's mobile number here and the bank will send SMS notification to inform him/her about the inbound.

FALSE

Response

{
  "txId": ""
}

Query Transaction List

POST /query/getTransList

Query the transaction records of an account.

This interface returns the transaction records page by page. Your program can assign the page number and the page size (how many records contains in a page) according to your need. If you want to get the transaction records in a call, just enlarge the page size. For example, pageNo=1 and pageSize = 50.

Parameters
Type
Description
Required?

userId

string

User ID in your system, a unique string to indentify a certain end user.

FALSE

accountId

string

Account ID

TRUE

txType

array of string

Transaction type filter. Please refer to the transaction type definitionarrow-up-right. If you want to get all type of the transaction record, just input blank array, i.e. [].

TRUE

txStatus

array of string

Transaction status filter. Please refer to the transaction type definition. Example: [2, 8] - Get all processing and succeed transaction records.

TRUE

startTime

long

UTC timestamp in millisecond of the start time of the queried period.

TRUE

endTime

long

UTC timestamp in millisecond of the end time of the queried period.

TRUE

pageNo

int

Assign the page number.

TRUE

pageSize

int

Assign how many records to be returned per page.

TRUE

orderByDesc

int

Parameter to indicate how to sort the returns records. 1 - Sorting the records by transaction date in reversing order. 0 - Sorting the records by transaction date in positive order.

TRUE

Response

Query Transaction Details

POST /query/getTransResult

<Use this endpoint to query the details of a transaction>

Parameters

Parameters
Type
Description
Is Required

txId

string

The ID of the transaction

TRUE

Response

Last updated