In this article, you will be going to know about:


What is Response Code/Status?


The response code/status is the authorization code/status that will be received for every transaction once it has been performed. 


The response code/status/message can be found in both the "return" response and the "callback" response. As well as on the transaction screen on your dashboard as well.


Callback Response

 "payment_result": {
"response_status": "A",
 "response_code": "G31822",
"response_message": "Authorised",
},

Return Response

acquirerMessage=
&acquirerRRN=
&cartId=cart_11111
&respCode=G31822
&respMessage=Authorised
&respStatus=A


Response on the Dashboard


Things you should know

  1. The value (A) of the "response_status" field in the callback is the same as the value (A) of the "respStatus" field in the "return".
  2. The value (G31822) of the "response_code" field in the callback is the same as the value (G31822) of the "respCode" field in the "return". 



The merchant can depend on (response_status/respStatus) as (A) for the authorized transaction.


If the response status (response_status/respStatus) is error/decline (E or D), then the (response_code/respCode) can be used to help determine why it was declined.



What are the general response statuses?


Response Status

Description
AAuthorized
HHold (Authorised but on hold for further anti-fraud review)
PPending (for refunds)
VVoided
EError
DDeclined
XExpired

What are the different response codes/statuses, and how to handle each of them?


The decline codes (Response code) are for the merchants internal use, it shouldn't be shown to the customers. 
The customer should have a general message like "Sorry, we are unable to process your transaction at this time" to protect the merchant.




Code

Status

 Response message

Reason/s

Possible Actions

Guides

Issuer Bank Txn Ref.

A

Authorized

This is a successful transaction

-

-

1

E

Authentication Failed

This error happened cause the PayTabs system failed to authenticate/identify the sent request information from the merchant side. 

Make sure that you are passing the valid authentication information, such as profile ID and integration keys, as clarified in the related Guide.

Authentication failed. Check profile ID and authentication header : PayTabs Support Portal

2

E

Invalid request

Passing invalid request payload format or including invalid data
    

Make sure that the request payload is parseable and that the request parameters match the data types clarified in the related Guide.

PT2 API Endpoints | Request Parameters : PayTabs Support Portal

3

E

Invalid profile ID

Missing or invalid passed data inside the profile_id parameter

Make sure to pass your profile_id in the correct format clarified in the related Guide.

Request/Response Parameters | Profile ID (profile_id) : PayTabs Support Portal

4

E

Duplicate request

PayTabs system found that the sent request information had been submitted with the same details (cart_id, amount, currency, profile_id) within less than 2 minutes.

Make sure that your payments have a unique cart_id and that you do NOT send the same request in a time interval of less than 2 minutes.

(E): 4 - Duplicate request : PayTabs Support Portal

5

E

Request limit exceeded

The requests initiated in step 7 of the integration, which we call "Follow-up" requests, can not exceed 30 requests per minute.

Make sure to chunk your follow-up requests not to exceed 30 requests per minute.

-

101

E

Cart ID not valid

The passed cart_id is not accepted by the system due to some rules/constraints or validation checks.

Make sure to use a valid cart_id format as clarified in the related Guide.

Request/Response Parameters | Cart ID (cart_id) : PayTabs Support Portal

102

E

Description not valid

The passed cart_description is not accepted by the system due to some rules/constraints or validation checks.

Make sure to use a valid cart_description format as clarified in the related Guide.

Request/Response Parameters | Cart Description (cart_description) : PayTabs Support Portal

103

E

Name not valid

The passed customer_details.name is not accepted by the system due to some rules/constraints or validation checks, such as names that contain numbers.

Make sure to use a valid and correct format for the first and last names of customers, as clarified in the related Guide.

Request/Response Parameters | Customer Details (customer_details) : PayTabs Support Portal

104

E

Address not valid

The passed customer_details.street1 is not accepted by the system due to some rules/constraints or validation checks, such as those containing symbols.

Make sure to use a valid customer_details.street1  format, as clarified in the related Guide.

Request/Response Parameters | Customer Details (customer_details) : PayTabs Support Portal

105

E

Country not valid

The passed customer_details.country code is not identified by the system due to some rules/constraints or validation checks.

Make sure to use a valid customer_details.country  ISO code format, as clarified in the related Guide.

Request/Response Parameters | Customer Details (customer_details) : PayTabs Support Portal

106

E

Email not valid

The passed customer_details.email is not accepted by the system due to some rules/constraints or validation checks. 

Make sure to use a valid customer_details.email format, as clarified in the related Guide.

Request/Response Parameters | Customer Details (customer_details) : PayTabs Support Portal

107

E

Phone number not valid

The passed customer_details.phone is not accepted by the system due to some rules/constraints or validation checks. 

Make sure to use a valid customer_details.phone format, as clarified in the related Guide.

Request/Response Parameters | Customer Details (customer_details) : PayTabs Support Portal

108

E

IP address not valid

The passed customer_details.email is not accepted by the system due to some rules/constraints or validation checks. 

Make sure to use a valid customer_details.ip format, as clarified in the related Guide.

Request/Response Parameters | Customer Details (customer_details) : PayTabs Support Portal

109

E

Invalid transaction mode

You are performing a transaction with a transaction_type that is not configured on your profile, such as Auth transactions, while your profile is configured to Sale only.

Check with your account manager or our support channel about the transaction types allowed on your profile.


(E):109 invalid transaction mode : PayTabs Support Portal 

110

E

Invalid transaction type

Passing a typo or a wrong transaction type within the payment request payload.

Make sure to pass a valid configured transaction type value as clarified in the related Guide.

(E): 110 - Invalid transaction type : PayTabs Support Portal 

111

E

Invalid transaction class

Passing a typo or a wrong transaction class within the payment request payload.

Make sure to pass a valid configured transaction class value as clarified in the related Guide.

(E): 111 - Invalid transaction class : PayTabs Support Portal 

112

E

Method/Class/Currency combination not supported

Passing a combination of transaction class and transaction type along with a payment method and currency code not configured in your profile.

Make sure that the requested transaction class is configured under the same transaction class record, including the currency and the payment method you want in your profile. We call this combination a "Terminal," which configures which bank you will connect with, which transaction class you will type, and which currency you will use.

To know the configured currencies you have on your profile, you need to check your profile menu.

(E): Method/Class/Currency combination not supported : PayTabs Support Portal

113

E

Invalid transaction reference

Passing invalid or missing transaction references in the requests initiated in step 7 of the integration, which we call "Follow-up" requests.

Make sure to pass the parent/original transaction reference right and to pass the parameter spelled right.

Request/Response Parameters | Transaction Reference (tran_ref) : PayTabs Support Portal

114

E

Amount differs from original

In some APMs that initiate the payment first, then connect to PayTabs, such as the separate integration (not under HPP) of ApplePay and STCPay, if the amount passed to PayTabs from your side is not the same passed to the APM from your side, this error will be thrown.

Make sure that both amounts passed to the APM and PayTabs are the same.

-

115

E

Original transaction not authorised

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests for a NOT "A" transaction.

Performing any follow-up request MUST be on an authorized (A) transaction, so make sure that the original transaction is not any other transaction status but (A).

General Transaction Statuses

116

E

Original transaction already voided

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests for an already voided transaction.

Performing any follow-up request MUST NOT be made on a successfully voided transaction, so make sure that the original transaction has not been voided before.

General Transaction Statuses

117

E

Original transaction mismatch

The transaction reference provided by the third-party provider, such as banks and processors, does not match the original transaction reference you were redirected with.

Report this to your account manager or our support team via the official channels.

-

118

E

Amount greater than available balance

Trying to void or release a transaction with an amount that is greater than the rest of the original amount is still on hold indeed.

Make sure that the new amount is not greater than the rest of the amount is still on hold (the actual original amount deducting any authenticated voids or release transactions' amounts relates


119

E

Original transaction can not be voided

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests, which we can NOT void due to some rules/constraints, most probably from the bank side. 

Check with your account manager or our support channel about the reason shared by the third party.

-

120

E

Previous transaction is on hold

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests for a transaction that is already on hold/pending some actions to be completed.

Any follow-up request MUST NOT be made on a non-completed transaction, so make sure that the original transaction's status is "A".

General Transaction Statuses

121

E

Transaction mode differs from original

Passing a transaction type in the requests initiated in step 7 of the integration, which we call "Follow-up" requests that differ from the original/parent transaction.

Any follow-up request MUST be compatible with the original/parent transaction, including the transaction type and class.

What is transaction types? : PayTabs Support Portal

200

E

Invalid card number

The customer's card number is invalid,alid and the card processor can’t find the related account. This could also occur if a  were used on a live profile or vice versa.

Ensure that both you and your customer use valid/correct live cards for transactions under your live profile or employ one of our test cards for conducting payments under a test profile.

(E): 200 Invalid card number : PayTabs Support Portal 

201

E

Invalid card expiry date

Passing invalid or mismatched card expiry date.

Guide your customer to try again providing valid expiry date for the used card.

-

202

E

Invalid card security code (CVV)

Passing invalid or mismatched card security code (CVV).

Guide your customer to try again providing valid card security code (CVV) for the used card.

-

203

E

Invalid account

The customer's account used in the APM (Alternative Payment Method such as STCPay or ValU) is invalid.
 This could occur if the merchant's account, which is configured to his profile on PayTabs, or the acquirer bank, is invalid as well.

Check with your account manager or our support channel about the reason shared by the third party.

 

If it's related to your customer, you will have to ask them to use valid account to pay.

-

204

E

Previous transaction in use

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests for a transaction that is already in use with other "Follow-up" request.

You cannot use the same original/parent transaction for multiple "Follow-up" requests simultaneously.


 
Try again in few moments.

-

205

E

Invalid payment method

Trying to perform a payment with a payment method that is not yet configured on your profile.

Make sure that the requested payment method is configured under the same transaction class record, including the currency you want in your profile. We call This combination a "Terminal," which configures which bank you will connect with, which transaction class you will type, and which currency you will use. via the requested payment method.

To know the configured payment methods you have on your profile, you need to check your profile menu.

-

206

D

Currency mismatch

Passing a currency code in the requests initiated in step 7 of the integration, which we call "Follow-up" requests that mismatched the original/parent transaction's currency code.

Any follow-up request MUST be compatible with the original/parent transaction in the currency code, including the transaction type and class.

(D): 206 - Currency mismatch : PayTabs Support Portal

207

E

Invalid terminal

A general issue in identifying the configured terminal on your profile.

Raise this with your account manager or our support channel.

-

208

E

Invalid return url

The passed return URL is not accepted by the system due to some rules/constraints or validation checks. 

Make sure to use a valid return URL format, as clarified in the related Guide.

Request/Response Parameters | The Return URL (return) : PayTabs Support Portal

210

E

Invalid callback url

The passed callback URL is not accepted by the system due to some rules/constraints or validation checks. 

Make sure to use a valid callback URL format, as clarified in the related Guide.

Request/Response Parameters | The Callback URL (callback) : PayTabs Support Portal

300

D

Not authorised

An error occurred during the transaction without the reason specified.

Guide your customer to retry the transaction and be careful to enter all the information correctly. If the issue persists, raise this with your account manager or our support channel.

-

301

D

Card expiry date required

Missing card expiry date.

Guide your customer to try again providing valid expiry date for the used card.

-

302

D

Card expired/Incorrect expiry date

Passing invalid or old card expiry date (card already expired).

Guide your customer to try again providing valid expiry date for the used card.

-

303

D

Card is for ATM use only


 

The issuer bank has declined the transaction because the card is not authorized for online use.

Ask your customer to check with his card issuer bank, while use another card in the meantime.

-

304

D

Card security code (CVV) required

Missing card security code (CVV).

Guide your customer to try again providing valid security code (CVV) for the used card.

-

305

D

Card security code (CVV) mismatch

Passing invalid or mismatched card security code (CVV).

Guide your customer to try again providing valid card security code (CVV) for the used card.

-

306

D

Address verification (AVS) mismatch

The passed address (customer_details.street1) is not accepted by the system due to some rules/constraints or validation checks. 

Make sure that the billing details entered by the cardholders at the point of purchase MUST match the details of their issued cards.

What Is the AVS? : PayTabs Support Portal

307

D

Card security code (CVV) and address (AVS) mismatch

The passed address (customer_details.street1) and card CVV are not accepted by the system due to some rules/constraints or validation checks. 

Make sure that the billing details entered by the cardholders at the point of purchase MUST match the details of their issued cards.

What Is the AVS? : PayTabs Support Portal

308

D

Card is not enabled for e-commerce

The issuer bank has declined the transaction because the card is not authorized for online use.

Ask your customer to check with his card issuer bank, while use another card in the meantime.

-

309

D

3DSecure authentication not available for this card

Either the issuer bank does NOT support 3DSecure authentication mode at all, or the customer's card does NOT (have active/enrolled in) 3DSecure authentication mode.

Guide your customer to retry again using another card. However, if the same card was accepted before, raise this with your account manager or our support channel.

(D): 309 - 3DSecure authentication not available for this card : PayTabs Support Portal

310

D

3DSecure authentication rejected

The customer either has entered the wrong OTP (One Time Password) or triggered the cancel option on the 3DSecure page.

Guide your customer to try again providing valid OTP for the used card.

(D): 310 - 3DSecure authentication rejected : PayTabs Support Portal

311

D

Card cancelled

The card’s legitimate owner has canceled this card, so the card issuer has denied the transaction.    

Ask your customer to check with his card issuer bank, while use another card in the meantime.

-

312

D

No/invalid account

The customer's account used in the APM (Alternative Payment Method such as STCPay or ValU) is invalid.
 This could occur if the merchant's account, which is configured to his profile on PayTabs, or the acquirer bank, is invalid as well.

Check with your account manager or our support channel about the reason shared by the third party.

 

If it's related to your customer, you will have to ask them to use valid account to pay.

-

313

D

Transaction not permitted by issuer

The issuer bank prevented the transaction without a specific reason.    

Ask your customer to check with his card issuer bank while using another card in the meantime.

-

314

D

Not authorised (Not Honor)

The issuer bank stopped the transaction and informing to “not honor” the card which means not to accept payment.    

Ask your customer to check with his card issuer bank while using another card in the meantime.

-

315

D

Not authorised

This a broad referral error code indicating the card issuer has blocked the transaction.

Ask your customer to check with his card issuer bank while using another card in the meantime.

-

316

D

Insufficient funds

The card issuer is blocking the transaction because the account has already exceeded the credit limit, or the pending transaction would put the card over.

Ask your customer to use another card that has funds in the meantime.

-

317

D

Blocked by acquirer

The acquirer bank prevented the transaction without a specific reason.    

Check with your bank if you are PSP or check with account manager or our support channel if you are aggregation, while asking your customer to use another card in the meantime.

-

318

X

Authorisation expired

The expiration period for transactions marked as "Pending" has elapsed.

You will need to ask your customer to initiate the transaction all over again.

-

319

D

Unable to void

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests, which we can NOT void due to some rules/constraints. 

Check with your account manager or our support channel about the reason.

-

320

D

Unable to refund

Passing a transaction reference in the requests initiated in step 7 of the integration, which we call "Follow-up" requests, which we can NOT refund due to some rules/constraints. 

Check with your account manager or our support channel about the reason.

-

321

C

Cancelled

The transaction has been canceled manually by the customer.

The customer hit/triggered the cancel button on the payment page.
 This is a manual action, and no other action could lead to a "Canceled" transaction.

-

322

D

Not supported by acquirer

Trying to perform a payment with a transaction type or class that is not supported by the acquirer bank.

Check with your account manager or our support channel about the reason.

-

323

D

Card limits exceeded

The credit card user has exceeded the credit limit (or this transaction would put them over).

Guide your customer to use another credit card. If they have no other cards, they can pay down the card before trying it again.

-

324

D

Terminal limits exceeded

The configured terminal on your account has exceeded the credit limit (or this transaction would put them over). 

Check with your account manager or our support channel about the available limit and try not exceeding it.

-

325

D

Merchant limits exceeded

You exceeded the credit limit configured to your PayTabs' merchant account (or this transaction would put them over).

Check with your account manager or our support channel about the available limit and try not exceeding it.

(E): 325 - Merchant limits exceeded : PayTabs Support Portal

326

D

Account limits exceeded

You exceeded the credit limit configured to your account (or this transaction would put them over).

Check with your account manager or our support channel about the available limit and try not exceeding it.

-

327

D

OTP timeout

The customer failed to enter the OTP on the 3DSecure page within the allotted time.

Guide your customer to attempt once more and enter the OTP within the designated time frame.

-

345

D

3DSecure authentication not completed

The customer did not complete the 3DS authentication process after being redirected to their bank's 3DSecure page, likely due to a "connection error" or "issuer page downtime."

Instruct the customer to ensure a stable network connection and wait until they are fully redirected back to the system before closing the tab. Alternatively, suggest trying again later if the issue is due to downtime at the issuing bank.


(D): 345 - 3DSecure authentication not completed : PayTabs Support Portal 

400

E

Internal system error

Something went wrong with the transaction, usually due to a temporary systemic error.

Guide your customer to attempt payment again in few minutes.

 

If the issue is still persisting, please raise this with your account manager or our support channel.

-

401

E

No response

An error occurred during the transaction without the reason specified.

Guide your customer to attempt payment again in few minutes.

 

If the issue is still persisting, please raise this with your account manager or our support channel.

-

402

E

Error connecting to service provider

There’s a temporary communication error between PayTabs and the acquirer bank/processor.    

Guide your customer to attempt payment again in few minutes.

 

If the issue is still persisting, please raise this with your account manager or our support channel.

-

500

D

Declined

The bank can’t identify a specific problem, but the transaction still didn’t go through.    

Guide your customer to attempt payment again in few minutes.

 

If the issue is still persisting, please raise this with your account manager or our support channel.

-

501

D

Fraud Report - Issuer

The customer’s bank stopped the transaction because the card or bank account has been flagged as fraudulent.

Guide your customer to call the bank immediately to clear up any potential issues, while using another card in the meantime.

-

502

D

Lost Card

The legitimate owner has reported the card as lost, so the card issuer denied the transaction.    

Guide your customer to call the bank immediately to clear up any potential issues, while using another card in the meantime.

-

503

D

Stolen Card

The legitimate owner has reported the card as stolen, so the card issuer denied the transaction.    

Guide your customer to call the bank immediately to clear up any potential issues, while using another card in the meantime.

-

504

D

AntiFraud

The system stopped the transaction because the card or bank account has been flagged as fraudulent.

Check with your account manager or our support channel about the reason.

-

600

P

Pending

This transaction has not been finalized and is pending further action. Such situations occur with payment methods like cash payments, which necessitate the customer paying in cash at an authorized store, or with payment methods involving manual refunds processed by the finance team.

Make sure that the customer has completed their transaction using cash payment methods. Manual refunds should be processed within one week. If this period is exceeded, please consult your account manager or our support channel.

-

601

H

On Hold

The transaction has been authorized; however, it has been flagged by our anti-fraud system and is currently on hold pending further manual review or action.

Check with your account manager or our support channel to understand why the transaction is being held. Typically, the option to accept or reject the transaction will be available to you directly from the transaction view.

-