1.1 Initiate POS Transactions

M-Pesa URL


Equitel URL


The Request is an initiator for an STK push yet to be paid transaction i.e. it Triggers the wallet user's SIM ToolKit for authorization of payment on their handset.

This is only available for MPESA and Equitel. For other channels the users will have to go to their SIM Toolkit and use the Paybill provided e.g 510800 and then use a sub-account as the account.

The parameters needed for this are as follows:

Parameter Name Data Type(Data Length) Description Channel(MPESA)
phone numeric string (15) The Phone Number of the registered mobile wallet User Y
vid alphanumeric(12) The iPay Merchant vendor id Y
amount numeric (15) The amount to be paid by the client. Y
account alphanumeric(12) Sub-account provided by iPay. Y

The hash is generated from a datastring which is a concatenation of the parameters: phone,vid,amount and account. It is a HMAC with the sha256 hashing algorithm. Sample PHP script of the same is show below:

//your SECRET KEY 
$key "SECretKey";
$datastring $phone.$vid.$amount.$account;

$generated_hash hash_hmac('sha256',$datastring $key);


The following is a sample response on Triggering this route.

  "text":"A Payment request has been sent to the MPESA number 2547XXXXXXXX"