IMT Transfers
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>
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.>
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