IMT Transfers

circle-info

Note: You require whitelisting to use this API. It's linked to your merchant account and does not require OTP confirmation.

Initiate IMT transfer request

POST /trans/applyForImtTransfer

< This is to be used specifically for sending remittances to M-PESA wallets>

Fields
Type
Description
Required

orgTxId

String

Unique transaction ID generated by the partner’s system for tracking purposes.

Mandatory

payerAccountId

String

Identifier of the account to be debited for the transaction.

Mandatory

ImtSenderName

String

Full legal name of the ultimate sender (person initiating the remittance).

i.e., "Paul Kamau Kabuu". Ensure this format is followed - otherwise the transaction fails.

Mandatory

imtSenderPhoneNumber

String

Phone number of the ultimate sender, including country code.

Mandatory

imtSenderServiceProvider

String

Mobile network or service provider associated with the sender’s phone number.

Mandatory

imtSenderNationality

String

Nationality of the sender, represented in ISO 3166 Alpha-3 country code format (e.g., KEN for Kenya).

Mandatory

imtSenderIdType

String

Type of identification document used by the sender. Accepted values:

Passport

National ID

Driver’s License

Diplomatic Passport

Defaults to NULL if not provided.

Optional

imtSenderIdNumber

String

Identification document number matching the senderIdType. Defaults to NULL if not provided.

Optional

imtSenderBirthdate

String

Date of birth of the sender in yyyyMMdd format. Defaults to NULL if not provided.

Optional

imtFundsOriginCountryCode

String

Country from which the funds are being remitted, in ISO 3166 Alpha-3 format.

Mandatory

payeeAccountId

String

Recipient’s M-PESA wallet number where the funds will be credited.

Mandatory

payeeAccountName

String

Full legal name of the recipient as registered on M-PESA

Mandatory

purpose

String

Reason or purpose for the remittance (e.g., family support, business payment).

Mandatory

imtForeignCurrency

String

Details of the transaction: original currency, currency code, e.g., USD

Mandatory

imtConversionRate

String

Details of the transaction: original conversion rate

Mandatory

imtOriginalAmount

String

Details of the transaction: original amount,

Mandatory

amount

String

Transaction amount to be debited from the payer account and sent to the beneficiary.

Mandatory

currency

String

Currency code of the transaction. Only KES is supported.

Mandatory

remark

String

Additional transaction note or reference. Must be at least 2 characters long.

Mandatory

Response

Query IMT transfer

POST /trans/getImtTransferResult

<This is the API used by remittance players to send money to safaricom wallets.>

Field
Data Type
Description
Required

orgTxId

string

Unique transaction ID generated by the partner’s system for tracking purposes.

Optional

txId

string

Unique transaction ID generated by the choice's system for tracking purposes.

Optional

Response

New Notification: IMT notification (0027)

Last updated