Integrating With Hesabe Payment Gateway Api End-point


Next Page: HesabeRequestHandler
Previous Page: Access Keys

INTEGRATION TYPES


Direct Integration

In this integration method, the merchant provides an option to select the Payment Method (Knet or MPGS) in the app itself. Based on the customer’s selection, the request param paymentType should be sent accordingly as described in the section Posting Payment Data.


Indirect Integration

In this integration method, the merchant does not provide an option to select the Payment Method (Knet or MPGS) in the app. Customers would be able to select their choice of Payment Method from the Hesabe Payment Gateway Landing page. The request param paymentType should be sent accordingly as described in the section Posting Payment Data.

Based on the selection of Payment Method here, the Customer will be redirected to the respective Payment page and Payment Type will be recorded by Hesabe.

The Hesabe Payment Gateway Page would look similar to as shown below: Hesabe Landing Page

POSTING PAYMENT DATA

Payment data containing the following fields in encrypted form need to be submitted to ‘Checkout’ Endpoint (https://sandbox.hesabe.com/checkout on Test and https://api.hesabe.com/checkout on Production) for initiating the payment request.


REQUEST PARAMETERS

Field Type Description
amount Numeric Amount must be greater than zero
currency String Currency ISO code
responseUrl Alphanumeric (200) Characters allowed: Alphabet (A-Z), (a-z), Numbers, / (slash),_ (underscore) Webpay will be redirected back to this url after payment completes
failureUrl Alphanumeric (200) Characters allowed: Alphabet (A-Z), (a-z), Numbers, / (slash),_ (underscore) Webpay will be redirected back to this url after payment completes
merchantCode Numeric Merchant Code is a unique identifier generated by Hesabe for each activated merchant.
paymentType Numeric 0: Indirect
1: Knet
2: Visa /MasterCard
7: Amex
9: Apple Pay
version Alphanumeric [10] Version of the API (example 2.0)
orderReferenceNumber Alphanumeric [100] Custom user parameter which will be included in the response when it returns
variable1 Alphanumeric [100] Custom user parameter which will be included in the response when it returns
variable2 Alphanumeric [100] Custom user parameter which will be included in the response when it returns
variable3 Alphanumeric [100] Custom user parameter which will be included in the response when it returns
variable4 Alphanumeric [100] Custom user parameter which will be included in the response when it returns
variable5 Alphanumeric [100] Custom user parameter which will be included in the response when it returns
name Alphanumeric [100] (*) Customer's name
mobile_number Numeric [8] (*) Customer's mobile number. Do not add country code with the mobile number.
email Alphanumeric [100] (*) Customer's email address
saveCard Boolean (#) Used to save card information for Tokenization using Cybersource. Need to ensure that name, email and mobile_number are sent when this is used.
cardId Alphanumeric [50] (#) Customer's card id. This data is fetched using Customer's card API. This should not be used along with saveCard
authorize Boolean (~) Used to authorize a transaction. Authorization hold (also card authorization, preauthorization, or preauth) is a service offered by credit card providers whereby the provider puts a hold of the amount approved by the cardholder, reducing the balance of available funds until the merchant clears the transaction (also called settlement).
webhookUrl String Your page url for receiving transaction updates. For more details you can check this link. https://developer.hesabe.com/docs/2.0/webhook-integration

{info} * These parameters are only used for KFast. If you want to enable KFast, Please contact your Account Manager or drop an email to support@hesabe.com.


{info} # These parameters are only used for Tokenization using Cybersource & MPGS. If you want to enable Cybersource/MPGS, Please contact your Account Manager or drop an email to support@hesabe.com.


{info} ~ These parameters are only used for Authorization using MPGS. If you want to enable it, Please contact your Account Manager or drop an email to support@hesabe.com.

Params - variable1, variable2, variable3, variable4, and variable5 can be used to pass arbitrary values (string only) in the form of key value pairs in the format "key__value". For example, to pass Customer Name in variable1, you can pass "Customer Name__John Doe" as value of variable1. These values would then be visible in the transaction details window of Merchant Panel and also be displayed in the email notifications.


The data is posted/passed to the HesabeRequestHandler that will concatenate and encrypt the data before invoking the Hesabe Checkout API endpoint.






Next Page: HesabeRequestHandler
Previous Page: Access Keys