(This article was first published on Razorpay Blog.)
When you’re initiating a payment online, there are many factors that go into making the payment possible and a single glitch in any of these entities can lead to an online transaction failing.
This, of course, can be quite frustrating, considering that there is an immense amount of trust that goes into putting your bank details online to initiate a transaction. Often, consumers and businesses assume that the payment gateway is at fault, and this can lead to them selecting other payment gateways to conduct their transactions.
But instead of choosing lesser-known gateways that may not offer the same level of security as some of the top ones, like Razorpay, you must understand why the transaction is failing in the first place.
The data pertaining to a single transaction goes through a series of hoops before it reaches its final destination. These hoops vary from gateway to gateway as each one has its own security measures in place.
However, if one is to look at a typical flow of data, one can consider the following as a basic example: Initiator > payment gateway > issuing bank > acquiring bank.
Of course, this is an extremely simplified version of the data flow just designed to explain things to you, the reader.
At each step, there are certain security measures that you may or may not be privy to. One such security measure is the usage of an OTP, which comes into the picture to authenticate the payment and ensure that the person initiating the payment is indeed the person who owns the card Once that is cleared, the payment is initiated and debited from your account.
When you are applying coupons or card related discounts, then the data flow can have a few additional steps to it that take into account the variations and occur accordingly.
Now that you know the basic data flow, let’s take a look at why these online payments tend to fail!
There are many reasons why an online payment can fail, leaving the consumer staring at an error message while being consumed with angst.
All banks have their own downtimes in place. Some of these are scheduled ones while others are unscheduled.
For instance, when you are trying to initiate an RTGS payment after banking hours, your transaction might fail because these payments only occur within specific banking hours. This is not technically a downtime, but more on the lines of a ‘banking holiday’
On the other hand, if you’re trying to initiate a UPI payment, you are less likely to see an error message as these payments occur at all times of the day and night. However, UPI also has scheduled downtime for certain periods, which is usually stated in advance by the bank.
Sometimes, banks may also have an unscheduled downtime that has occurred due to a server error. When this occurs, the reason for the transaction being declined is very simple – the payment gateway simply cannot reach your bank for authentication and is, therefore, declining the transaction.
Often, the reason for a declined transaction can be a simple one – you entered incorrect data, due to which the transaction could not be authorized. This occurs most commonly when we’re in a hurry and aren’t really paying a lot of attention to the information we’re punching in.
The following are examples of the transaction being declined when you enter the wrong data:
- Entering the wrong OTP or password can lead to an error message saying that your transaction could not be authorized. You can click the button that says ‘resend OTP’ and try again
- It might also happen that OTP does not get delivered to your messages inbox and the transaction time expires. In this case as well you can click on the ‘resend OTP’ button
- If your card does not have the required balance, or if you have entered an incorrect CVV number or expiry date, then you’ll see a message saying ‘not captured’
Finally, another reason why an online transaction can be declined is because your transaction has flagged a few security concerns.
The parameters for being flagged vary from bank to bank and some may have highly aggressive measures in place when it comes to security, while others may be a little laxer in comparison.
Something as simple as a bank feeling that a transaction does not match your typical spending patterns can lead to the transaction being put on hold or declined altogether.
There are many reasons why the transaction can be declined. Some of these are:
- Risk: If there is a security threat from the side of the issuing bank, this can lead to the transaction being declined. An example of a case when this happens is when a card is only marked for domestic use and is being used for an international website. In such cases, the transaction is declined
- Payment gateway rejection: At times, the payment gateway that you are using may reject your transaction. This often happens because certain merchants may have an upper limit on transactions. If the transaction exceeds that amount, it gets declined. In such cases, the consumer has to make multiple transactions until the desired amount is reached
- BIN rejections: The BIN stands for Bank Identification Number and is generally the first 6 digits of the card. These digits generally signify the network and the bank that the card in question comes from. Some BINs are blacklisted due to the threat of fraud. If your BIN belongs to the Blacklist, then the transaction gets rejected
There can also be a range of other issues that may occur, for instance, poor internet connection, the two-factor authentication not occurring correctly, or the connection timing out due to a slow response from the initiator’s end.
In such cases, the customer must start from the payments page again by clicking the retry button to initiate the payment process again. Once the process is completed, you will receive a text message saying that your payment was successful.
Your bank will also text you to inform you about the amount that has been debited, and the amount left in your balance!
Overall, try as we might, failures in online payments are not entirely avoidable. But understanding the reasons can help you make payments in a much easier manner.
How Razorpay handles refunds
Our payment gateway keeps polling acquiring banks periodically, to see if a payment that was called out as “failed” before has been updated to successful. If it has, we inform the business where the transaction was done and give them an option to collect the payment then. One of 2 things happen here:
- The online business accepts the change in payments status, agrees to collect the payment and provides the service/good that was promised earlier to the customer.
- The online business decides not to collect the payment as it is no longer in position to service the customer at the agreed terms (could be time of delivery, cost of purchase, inventory issues, etc). In this case, they have to refund the payment to the customer who gets the money in their account in a period of 5-10 working days.
At Razorpay, we have developed these monitoring systems so that the refunds are handled without impacting the end customers in such circumstances. In instances where payment/refund can still not tracked, we attempt to resolve issues further with the banks via manual intervention.
In case of payments failure due to a breakdown in communication between a payment gateway and the online website, a good payment gateway should have a fallback mechanism for reconciling payments for both parties and updating their correct status in near real-time.
When a transaction is marked as failed, we give these online businesses an option to check via our Webhooks API if the transaction has genuinely failed or if its a false alarm. If found that the transaction is successful, the online business has the option to carry out the transaction as normal.