Most probably this error happened because the cardholder (The merchant's customer) has not returned from the 3DS authentication process after redirection to his bank 3DSecure page.

In this case, you may be will be reported by the customer that he had tried to make a payment and after redirecting to the 3DSecure Page he faced an issue like “connection error” or “issuer page downtime”. And if you instantly tried to lookup for his transaction on Paytabs Dashboard Marchant may not find it.

Such transactions will only appear on the dashboard after the inquiry has been done. It will not be accessible through PayTabs dashboard before.


In this article you will be going to know about: 

How to investigate the reason that caused this error?


You can check the "Response Code" in the transaction screen from the Transactions button in the merchant profile.



Reason #1: The cardholder had left the issuer 3DSecure page without completing the process


This means that the customer has not returned from the 3DS authentication process. So the transaction will not be logged into the PayTabs dashboard.

It will be accessible through your dashboard ONLY when PayTabs trigger its periodic inquiry. This scheduled inquiry aims to scan for MPGS transactions that have not been completed within the system to log them into the PayTabs dashboard.

What happens in this process that if the transaction is showing in MPGS as being in the 'Pending Authentication' stage for more than one hour, which means that the customer has not provided any 3DS OTP yet, only then a declined transaction with the 345 code error will be registered/logged into your PayTabs dashboard. It's worth mentioning once the transaction is created this will trigger any configured IPNs, but cannot trigger any browser return as the customer's browser is no longer active.


This behavior is not the normal process for any transactions, it's only customized for this case.

Reason #2: The Issuer 3DSecure page has a downtime


This means that PayTabs has redirected the customer to the issuer's 3DSecure Page to provide the OTP when he faced a sort of issue like “downtime” or any internal/technical issue on the issuer side.

In this case, neither PayTabs nor you have any upper hand on this, you will just need to guide your customer to contact his issuer bank to report this issue.