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
- Equity Banking app
- EazzyPay push
- Mobile Money i.e MPESA , Airtel Money and Equitel
- Cards
Generating and using tokens
This is the first step before interacting with JengaPGW. The token generated at this step is used for subsequent interactions.
Here's an example request and response that you'll get when you call the Get Your JengaPGW Access Token API.
POST /token HTTP/1.1
Authorization: Basic WDZZMlVvbloyQkdsVTBDSEpHb3FmSHJmVTBzZXo4Ym06R3pocmptWUtqUm4ySFRXeQ==
Content-Type: application/x-www-form-urlencoded
merchantCode=0582910862&password=x6GhE2zZyckhrk5eSsGDQTPJYnpNBJdr&grant_type=password
200 OK
{
"status": "success",
"payment-token": "6UcF78hyktlXFRSu5t6KpHf6h3Uw",
"notification-secret": "90cf16795530feb1635043d9e227333b"
}
Integrating Jenga Payment Gateway
Payment parameters
Parameter | Meaning | Default | Sample | Mandatory? |
---|---|---|---|---|
token | The payment token generated in the previous step | NA | xccuUjuysdsnvtloPWqiT | YES |
merchantCode | The merchant code provided at registration. Use the merchant code provided during token generation. | NA | 9837446275 | YES |
merchant | yourMerchantName | NA | MerchantXYZ | YES |
outletCode | This is generated with merchant code. It identifies the merchant outlet | NA | 10 digits | YES |
amount | The value of the transaction. Convert to the lowest currency denomination e.g. KSH 100 will be 10000 | NA | 10000 becomes 100.00 | YES |
ez1_callback | The endpoint to which the customer will be redirected on completion of the payment, via HTTP POST. Only either of ez1_callback or ez2_callback can be provided at a time | NA | NO | |
ez2_callback | The endpoint to which the customer will be redirected on completion of the payment, via HTTP GET. Only either of ez1_callback or ez2_callback can be provided at a time | NA | NO | |
orderID | The merchant order reference. This will be echoed back at the completion of a transaction. | NA | 4yTr67 | YES |
expiry | The date validity of the interaction. Should be future date | NA | 2025-02-17T19:00:00 | YES |
website | The merchants website | NA | www.tester.co.ke | NO |
payButtonSelector | An identifier for the button that will initiate the lightbox launch | NA |
| NO |
popupTheme | The popup's colors | Default theme | {"logo":"#FF0000","buttons":"#333111","tabs":"#1233aa"} | NO |
popupLogo | Popup logo | url to logo | YES | |
extraData | any metadata that is associated with the request. | N/A | YES |
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.
Endpoint | Base Path | Dependency | Functionality | Method |
---|---|---|---|---|
/checkout/launch | Not Applicable | Token Generation | Integrate the payment widget | POST |
<form
id="eazzycheckout-payment-form"
action=" https://api-test.equitybankgroup.com/v2/checkout/launch" method="POST">
<input type="hidden" id="token" name="token">
<input type="hidden" id="amount" name="amount">
<input type="hidden" id="orderReference" name="orderReference">
<input type="hidden" id="merchantCode" name="merchantCode">
<input type="hidden" id="merchant" name="merchant" value="yourMerchantName">
<input type="hidden" id="currency" name="currency">
<input type="hidden" id="custName" name="custName">
<input type="hidden" id="outletCode" name="outletCode">
<input type="hidden" id="extraData" name="extraData" >
<input type="hidden" id="popupLogo" name="popupLogo">
<input type="hidden" id="ez1_callbackurl" name="ez1_callbackurl">
<input type="hidden" id="ez2_callbackurl" name="ez2_callbackurl">
<input type="hidden" id="expiry" name="expiry">
<input type="submit" id="submit-cg" role="button" class="btn btn-primary col-md-4"
value="Checkout"/>
</form>
Payment Response
Once the payment is complete the user is redirected to the ez1_callback
or ez1_callback
specified by you. A set of parameters is passed in response (using GET).
POST field name | Data type | Description |
---|---|---|
transactionId | string | |
status | string | transaction status:
|
date | string | transaction date in yyyy-MM-dd'T'HH:mm:ss.SSSz format. |
desc | string | channel used to make payment;
|
amount | string | transaction amount. |
merchantOrderRef | string | merchant order reference – it is the same value you sent in the request. |
hash | string | security hash. |
extraData | string | any metadata that is associated with the request. |
Updated almost 3 years ago