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 TransactionYESKES, USD, etc.
amountThe value of the transaction.YES10.05
orderReferenceThe merchant order reference. Min 8 characters. It has to be alphanumericYES4yTr67jab5HjFr
productTypeProduct category i.e A service or a product.YESProduct/Service
productDescriptionA summary of the product or service. Max 200 charactersYESDeluxe Room Booking at Kempinski Hotel, room No. 35
extraDataThis data will be echoed back during the callback URLNO
paymentTimeLimitDuration payment is validYES15mins
customerFirstNameThe customer's First NameYESJames
customerLastNameThe customer's Last NameYESBond
customerPostalCodeZipCustomer’s postal codeYES00100
customerAddressCustomer’s addressYES123 Tom Mboya Street, Nairobi
customerEmailCustomer email addressYESjames.bond@organisation.co.ke
customerPhoneCustomer phone number i.e for Kenya is +254 7XXXXXXXXX & Uganda is +256 7XXXXXXXXXYES254797838201
callbackUrlMerchant callback URLNOhttps://checkout-launch.web.app/redirected (opens in a new tab)
countryCodeCountry code (Based on Alpha-2)YESKE
secondaryReferenceA secondary referenceNOADM1234
signatureSecurity signature (computed as: merchantCode + orderReference + currency + orderAmount + callbackUrl) Note: When Jenga Payment Gateway is on secure mode, signature is required.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.