Most probably this error happened because you have sent too many requests (20) within one minute. Most likely this error happens only if you are using one of the "Follow Up Transactions" Endpoints. 


In this article you will be going to know about:


How to investigate the reason that caused this error?


You can check the response that you received from the PayTabs. The error response will be with code (5) and has a message as shown below


"code" => 5,
"message" => "Too many requests, try again later.",

Reason #1: Reviving this error during initiating the payment


This means and as mentioned before, it's most probably that you are using the "Query Transaction" endpoint, to check on the payment status right after the payment process comes to end. For that, you can Supply your initial create payment request with the "callback" parameter which is a one-time IPN, that will send you a fully detailed payment response once the payment process comes to end whether is authorized or not. In this case, you will receive ever this error. To read more about the "callback" response, kindly check the "Callback" section under our "What are the Five (5) ways of receiving transaction response?" solution article


Reason #2: Sending more than 20 requests within 1 minute


you have sent too many requests (20) within one minute. Most likely this error happens only if you are using one of the "Follow Up Transactions" Endpoints. We can advise you to chunk your requests into 20 requests per each and execute them in sequence via your queue, You can set your queue or your corn job with this.