Guides & Tutorials
Jenga PGW
Checkout Reference

Checkout Reference

Jenga Payment Gateway is a solution that offers e-commerce merchants and their customers a secure mode of payment through various payment channels.

Jenga Payment Gateway functions by aggregating different digital payment channels available in the market to provide a single interface to users. It is hosted in the cloud, and merchants integrate it with their websites by including provided resource files.

Supported payment channels

  • Cards (Visa, Mastercard, AMEX, Union Pay, Diners, JCB)
  • Mobile Money (MPESA and Equitel)
  • Pay with a bank account (Equity Bank Account)
  • PayPal (coming soon)

Generating and using tokens

Please refer to the getting started guide on information about how to generate and use tokens for authentication

Integrating Jenga Payment Gateway

Payment parameters

ParameterMeaningMandatorySample
tokenThe payment token generated in the previous stepYESxccuUjuysdsnvtloPWqiT
merchantCodeThe merchant code provided at registration. Use the merchant code provided during token generation.YES9837446275
currencyThe currency for the TransactionYES
amountThe value of the transaction.YES
orderReferenceThe merchant order reference. Min 8 characters. It has to be alphanumericYES4yTr67j
productTypeProduct categoryYES
productDescriptionA summary of the product. Max 200 charactersYES
extraDataThis data will be echoed back during the callback URLYES
paymentTimeLimitDuration payment is validNO15mins
customerFirstNameThe customer's First NameYES
customerLastNameThe customer's Last NameYES
customerPostalCodeZipCustomer’s postal codeYES
customerAddressCustomer’s addressYES
customerEmailCustomer email addressYES
customerPhoneCustomer phone numberYES
callbackUrlMerchant callback URLYES
countryCodeCountry codeYESKE
secondaryReferencea secondary referenceNOADM1234
signatureSecurity signature (computed as: merchantCode + orderReference + currency + orderAmount + callbackUrl)NOmerchantCode+orderReference+currency+orderAmount+callbackUrl

Integration

The form field names used are as described above in the payment parameters. Implement the hidden form exactly as the sample code below demonstrates.

EndpointBase PathDependencyFunctionalityMethod
/processPaymentNot ApplicableToken GenerationIntegrate the payment widgetPOST
<form
  id="submitcheckout"
  action="https://v3-uat.jengapgw.io/processPayment"
  method="POST"
>
  <input type="hidden" id="token" name="token" />
  <input type="hidden" id="merchantCode" name="merchantCode" />
  <input type="hidden" id="currency" name="currency" />
  <input type="hidden" id="orderAmount" name="orderAmount" />
  <input type="hidden" id="orderReference" name="orderReference" />
  <input type="hidden" id="productType" name="productType" />
  <input type="hidden" id="productDescription" name="productDescription" />
  <input type="hidden" id=" paymentTimeLimit " name=" paymentTimeLimit " />
  <input type="hidden" id="customerFirstName" name="customerFirstName" />
  <input type="hidden" id="customerLastName" name="customerLastName" />
  <input
    type="hidden"
    id="customerPostalCodeZip"
    name=" customerPostalCodeZip "
  />
  <input type="hidden" id="customerAddress" name=" customerAddress " />
  <input type="hidden" id="customerEmail" name="customerEmail" />
  <input type="hidden" id="customerPhone" name="customerPhone" />
  <input type="hidden" id="extraData" name="extraData" />
  <input type="hidden" id="callbackUrl" name="callbackUrl" />
  <input type="hidden" id="countryCode" name="countryCode" />
  <input type="hidden" id="secondaryReference" name="secondaryReference" />
  <input
    type="hidden"
    id="signature"
    name="signature"
    value="merchantCode+orderReference+currency+orderAmount+callbackUrl"
  />
</form>

Payment Response

Once the payment is complete, the user is redirected to the callback_url specified by you. A set of parameters is passed in response (using GET).

POST field nameData typeDescription
transactionIdstring
statusstringTransaction status: \n- paid - transaction has been successfully performed.
datestringTransaction date in yyyy-MM-dd'T'HH:mm:ss.SSSz format.
descstringChannel used to make payment; \n- CARD \n- EQUITEL \n- MPESA \n- AIRTEL
amountstringTransaction amount.
orderReferencestringMerchant order reference – it is the same value you sent in the request.
hashstringSecurity hash.
extraDatastringAny metadata that is associated with the request.