1.1 HOW and WHAT To POST/GET to the iPay gateway

(for each field, there are some characters not accepted by iPay. See Bottom of page)

Y = Yes N = No O = Optional
Parameter Name Data Type(Data Length) Description Channel
MobileKenswitchCredit Card
livenumeric(1)LIVE or DEMO mode (1 or 0). “1” By Default (live)YYY
mpesa numeric(1)Display Mpesa Mobile Money Channel (on or off). “on” by Default (i.e. mpesa=1)OOO
airtel numeric(1)Display Airtel Mobile Money Channel (on or off). “on” by Default (i.e. airtel=1)OOO
equitynumeric(1)Display the Equity EazzyPay Channel (on or off). “on” by Default (i.e. equity=1)OOO
mobilebankingnumeric(1)Display the Mobile Banking Channel (on or off). “off” by Default (i.e. mobilebanking=0)OOO
debitcardnumeric(1)Display the Debit Card Channel (on or off). “off” by Default (i.e. debitcard=0)OOO
creditcardnumeric(1)Display the Credit Card Channel (on or off). “off” by Default (i.e. creditcard=1)OOO
mkoporahisinumeric(1)Display Mkopo Rahisi Channel (on or off). “off” by Default(i.e. mkoporahisi=0)OOO
saidanumeric(1)Display Saida Channel (on or off). “off” by Default (i.e. saida=0)OOO
autopay NEWnumeric(1)Push Data (on or off). “off” by Default (i.e. autopay=0) Set this parameter to 1 if you want iPay to silently trigger the callback. The CONFIRM button on the checkout page will not be present for mobile money and mobile banking NOTE Valid Callback Parameter must be provided. when this parameter is set iPay will send data to your server using GET request and the IPN should be run to verify this data.OOO
oidalphanumeric (34) Order ID YYY
invalphanumeric (15)Invoice Number (Set to Order ID value above if NULL)YYY
ttlnumeric (15) Total amount (DO NOT PASS any commas as a thousands separator). e.g. ttl=1234.00 and NOT ttl=1,234.00YYY
tel alphanumeric (15)Customer Telephone numberYYY
eml alphanumeric (30) Customer Email AddressYYY
vid alphanumeric (12)Vendor ID assigned by iPay. SET IN LOWER CASE YYY
curralphanumeric (3) Currency Type (USD or KES) * KES By Default NNY
p1 alphanumeric (15)Optional field. allows sending & receiving your custom parametersOOO
p2alphanumeric (15) Optional field. allows sending & receiving your custom parametersOOO
p3alphanumeric (15) Optional field. allows sending & receiving your customOOO
p4alphanumeric (15) Optional field. allows sending & receiving your custom parameters OOO
cbkalphanumeric (100)This parameter holds the value of the URL on your server to which iPay will send back payment processing data to. Please note that the call back URL parameter is ONLY required if the cURL parameter (crl) is set to zero (0), meaning that you want a browser redirect back to your website.
  • crl=0 for http/https call back
  • crl=1 for a data stream of comma separated values
  • crl=2 for a json data stream.
YYY
lbkalphanumeric (100)In the event that the client cannot check out successfully, iPay will return the customer to our gateway. This parameter holds the value of the URL on your server to which the customer will be able to voluntarily use to link back to your website. If there is no value provided, then by default, (if this link is clicked) the customer will be redirected back to the previous page on your website. OOO
cstnumeric (1)The customer email notification flag of value 1 or 0. (Set to “1” By Default to allow customer to receive txn notifications from iPay for online txns)YYY
crl numeric (1)Name of the cURL flag input field (1 character).
  • crl=0 for http/https call back
  • crl=1 for a data stream of comma separated values
  • crl=2 for a json data stream.
(Set to “0” By Default)
OOO
hsh alphanumeric (64)The computed iPay Hash CodeYYY

The following characters are NOT ALLOWED as part of your incoming parameters:

; : ~ ` ! % ^ * > < &

The variables p1, p2, p3 and p4 are used by you if you want to pass certain variables into the iPay system and receive them back intact on your end for your own personal reasons. They are not processed in any way. The mc variable is used to notify you of the actual mobile money transferred by the user.