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
MobileCredi Card
livenumeric(1)LIVE or DEMO mode (1 or 0). “1” By Default (live)YY
fname numeric(12)Card Holder's first nameNY
lnamealphanumeric(12)Card Holder's last nameNY
cardnonumeric string(16)The 16 digit card number NY
cvvnumeric string(5)The 3 or 4 digit Card Verification NumberNY
Monthnumeric string(2)Expiry Month e.g. 01, 12, 09NY
Yearnumeric string(2)Expiry Year e.g. 22, 19NY
cust_addressalphanumeric(25)Customer's Card Billing AddressNY
cust_postCodealphanumeric(10)Customer's Card Billing Postal Code NY
cust_cityalphanumeric(15)Customer's City where Card was issuedNY
cust_stateProvalphanumeric(15)Customer's State / Province where Card was issuedNY
cust_countryalphanumeric(12)Customer's State / Province where Card was issuedNY
oidalphanumeric (34) Order ID YY
invalphanumeric (15)Invoice Number (Set to Order ID value above if NULL)YY
amountnumeric (15) Total amount (DO NOT PASS any commas as a thousands separator). e.g. ttl=1234.00 and NOT ttl=1,234.00YY
tel alphanumeric (15)Customer Telephone number. if no phone number is used.PAD a default numberYY
eml alphanumeric (30) Customer Email AddressYY
vid alphanumeric (12)Vendor ID assigned by IPay. SET IN LOWER CASE YY
curralphanumeric (3) Currency Type (USD or KES) * KES By Default YY
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.OO
p1 alphanumeric (15) allows sending & receiving your custom parametersYY
p2alphanumeric (15) allows sending & receiving your custom parametersYY
p3alphanumeric (15) allows sending & receiving your customYY
p4alphanumeric (15) allows sending & receiving your custom parameters YY
cbkalphanumeric (100)This parameter holds the value of the URL on your server to which iPay will send back payment processing data to. YY
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)YY
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)
hash alphanumeric (64)The computed IPay Hash CodeYY

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

; : ~ ` ! % ^ * > <

The variables you need to pick via the call back URL and returned through a GET call are:

status, id and ivm, and special browser-dependent variables qwh, afd, poi, uyt, ifd, agt. These variables are very important especially when you need to re-validate the transaction.

The extra 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.