Generate a short-lived client token used to initialize the hosted payment page or tokenization widget. This token must be obtained before rendering the payment form.
JSON
{
"error_no": "S00",
"error_code": "00",
"clientToken": "0bc8b3***********160ad",
"validity": "2026-04-29 05:17:40"
}
Field Type Description error_nostring S00 indicates the token was created successfullyerror_codestring Gateway error code. 00 = no error clientTokenstring Short-lived client token used to initialize the payment page or tokenization widget validitystring Token expiry timestamp in YYYY-MM-DD HH:MM:SS format. The token cannot be used after this time
JSON
{
"error_no": "D07",
"mesg": "PROCESSING ERROR",
"msg": "PROCESSING ERROR",
"desc": "NOT A VALID APP KEY"
}
Field Type Description error_nostring D07 indicates an invalid App Keymesgstring Error message msgstring Error message descstring Detailed description of the error cause
error_noMeaning Typical cause S00Success Client token generated D07Processing error App Key is invalid or unrecognised
Tokenize a card using the client token obtained from the Create Page Token endpoint. Returns a reusable card token that can be used for future transactions without re-entering card details.
Card was successfully validated and tokenized.
JSON
{
"error_no": "S00",
"error_code": "S00",
"cardToken": "D554**********0FB670",
"card_brand": "Visa",
"card_type": "D",
"response": null
}
Field Type Description error_nostring S00 indicates the card was tokenized successfullyerror_codestring S00 mirrors error_no on successcardTokenstring Partially masked reusable card token for future transactions card_brandstring Card network (e.g. Visa, Mastercard) card_typestring Card type — D = Debit, C = Credit responsestring | null Additional response message; null on success
Card was presented but declined by the issuer during tokenization validation. The outer error_no indicates the overall status; the switch_response object contains the detailed decline reason.
JSON
{
"error_no": "S00",
"error_code": "E98",
"response": "Error code :54",
"switch_response": {
"error_no": "E98",
"error_code": "54",
"success_url": false,
"txnid": null,
"batch_no": 136,
"switch_error_code": "V0548",
"mesg": "Card expired",
"desc": "Error code :54",
"msg": "Card expired",
"isFlexSendOrNot": "V0548"
}
}
Field Type Description error_nostring S00 — the request was processed, but the card was declinederror_codestring E98 when the card was declined by the issuerresponsestring Short description of the decline reason switch_responseobject Full switch-level decline details (see below)
Field Type Description error_nostring E98 indicates a declined transactionerror_codestring Issuer decline code (e.g. 54 = card expired) success_urlboolean Always false for declined operations txnidstring | null Transaction identifier; null when not assigned batch_nointeger Settlement batch identifier switch_error_codestring Switch-level error code mesgstring Error message descstring Detailed error description msgstring Error message isFlexSendOrNotstring Flex routing indicator; mirrors switch_error_code
Important: A card decline response still returns HTTP 200 with outer error_no: "S00". Always check error_code — if it is E98, the card was declined. Read switch_response for the full decline reason.
JSON
{
"error_no": "91",
"mesg": "ERROR: CARD TOKEN",
"msg": "ERROR: CARD TOKEN",
"desc": "INVALID EPI PROVIDED"
}
Field Type Description error_nostring 91 indicates a configuration or input errormesgstring Error category msgstring Error message descstring Detailed description of the error cause
error_noerror_codeMeaning Typical cause S00S00Success Card tokenized successfully S00E98Card declined Card expired, invalid, or rejected by issuer 91— Processing error EPI provided is invalid or does not exist
Process a sale using a card token obtained from the Create Card Token endpoint.
JSON
{
"error_no": "S00",
"success_url": true,
"error_code": "00",
"amount": "20.00",
"tax": "1.02",
"customfee": "1",
"msg": "APPROVED",
"desc": "APPROVAL TAS678",
"additional_info": null,
"clerk_id": null,
"clerk_name": null,
"clerk_label": null,
"additionalKeyOne": null,
"additionalKeyTwo": null,
"additionalValueOne": null,
"additionalValueTwo": null,
"approval_code": "TAS678",
"rrn": "611905501102",
"txnid": "10337052",
"created_date": "29/04/2026",
"created_time": "01:14:45",
"tran_no": 1,
"stan": 724387,
"batch_no": 136,
"is_partial_approve": 0,
"partial_amount": "000000002000",
"pan": "XXXX1111",
"card_type": null,
"phone_number": "",
"email_id": "",
"zip": null,
"card_holder_name": "",
"expiry_date": "/",
"address": "",
"epi": "2319923425",
"channel": "ECOMM",
"orderdescription": "king size bed 10x12",
"invoicenumber": "inv0001",
"token": "AD21*************E0C594",
"card_brand": "Visa",
"netamt": 22.02
}
Field Type Description error_nostring S00 indicates a successful transactionsuccess_urlboolean true when the transaction is approvederror_codestring Gateway error code. 00 = no error amountstring Charged amount in decimal format taxstring Tax amount applied customfeestring Custom fee applied to the transaction msgstring Result (e.g. APPROVED) descstring Detailed description including the approval code additional_infostring | null Reserved for additional metadata clerk_idstring | null Clerk identifier, if provided clerk_namestring | null Clerk name, if provided clerk_labelstring | null Clerk label, if provided additionalKeyOnestring | null Custom key field 1 additionalKeyTwostring | null Custom key field 2 additionalValueOnestring | null Custom value field 1 additionalValueTwostring | null Custom value field 2 approval_codestring Issuer-returned authorization code rrnstring Retrieval reference number for reconciliation txnidstring Unique transaction identifier created_datestring Transaction date in DD/MM/YYYY format created_timestring Transaction time in HH:MM:SS format tran_nointeger Sequential transaction number within the batch staninteger System trace audit number batch_nointeger Settlement batch identifier is_partial_approveinteger 1 if partially approved; 0 for full approvalpartial_amountstring Approved amount in zero-padded 12-digit format panstring Masked card number — last 4 digits shown (e.g. XXXX1111) card_typestring | null Card type, if returned by the issuer phone_numberstring Cardholder phone number, if provided email_idstring Cardholder email address, if provided zipstring | null Billing ZIP code, if provided card_holder_namestring Name on card, if provided expiry_datestring Card expiry. Returns "/" when not stored with the token addressstring Billing address, if provided epistring Merchant terminal / EPI identifier channelstring Transaction channel (e.g. ECOMM) orderdescriptionstring Item or order description invoicenumberstring Merchant-supplied invoice reference tokenstring Partially masked card token used for this transaction card_brandstring Card network (e.g. Visa, Mastercard) netamtnumber Net amount charged including all fees
JSON
{
"error_no": "E98",
"error_code": "V1",
"success_url": false,
"txnid": "10337055",
"batch_no": 136,
"switch_error_code": "V0605",
"mesg": "Invalid card token",
"desc": "Error code :V1",
"msg": "Invalid card token",
"isFlexSendOrNot": "V0605"
}
Field Type Description error_nostring E98 indicates a declined transactionerror_codestring Decline code (e.g. V1 = invalid card token) success_urlboolean Always false for declined transactions txnidstring Transaction identifier (assigned even on decline) batch_nointeger Settlement batch identifier switch_error_codestring Switch-level error code returned by the network mesgstring Error message msgstring Error message descstring Detailed error description isFlexSendOrNotstring Flex routing indicator; mirrors switch_error_code
JSON
{
"error_no": "D06",
"mesg": "PROCESSING ERROR",
"msg": "PROCESSING ERROR",
"desc": "NOT A VALID APP ID"
}
Field Type Description error_nostring D06 indicates an invalid App IDmesgstring Error message msgstring Error message descstring Detailed description of the error cause
error_noMeaning Typical cause S00Approved Transaction successful E98Declined Card token is invalid or expired D06Processing error App ID is invalid or unrecognised