Summary

Occasionally transactions may not succeed and when this happens, it can often be confusing or frustrating for the merchant. This can be made more frustrating if the reason for the failure is not clear. In an effort to provide a seamless user experience, we have tried to be as transparent as possible. There are lots of reasons a transaction may not go through but some of the most common are below:

  1. Bank Declines: The most common reason for transaction failures is a decline from the cardholder's bank, which can be due to insufficient funds, reported loss of the card, or suspicion of fraud.
  2. Technical Issues: Errors can also stem from technical issues such as malfunctions in the terminal, poor network connection, damaged card, or even user error such as removing a card too quickly.
  3. Incorrect Information: Mistakes like entering the wrong card number, expiration date, or CVV can lead to failures as well.
  4. Expired Cards: An attempt to use an expired card will always result in a decline, necessitating the use of a valid card.
  5. Fraud Prevention: Banks have sophisticated fraud detection systems that can flag unusual transaction patterns or locations, leading to declines as a preventative measure.
  6. Card Restrictions: Some cards have restrictions on the types of transactions they can be used for, such as online purchases or transactions in foreign countries.
  7. Limits Exceeded: Banks set limits on the amount and frequency of transactions to protect against fraud and overspending, which can lead to declines if exceeded.

Error Codes

The following error codes are visible on the Payments page in the Payment Portal for transactions done after 04/11/2024. These can be found by going to the transaction in question and clicking on it. In the panel on the right, you should see an area with the Status and the error code description.

image (25).png

<aside> đź’ˇ Note: These errors can also be displayed within your POS software. This is a new change that was recently released but please reach out to your local Product team if they are not being displayed as this can provide very helpful information to the merchant or clerk.

</aside>

Error Code Error Message Description Action
API_ERROR API Error. Please try again (insert card if possible). This means that there was an unknown issue with the API that resulted in being unable to read the card. If reattempt doesn’t work, please submit a PayFac ticket.
APP_ERROR Application error. Please try again (insert card if possible). This means that there was an unknown issue with the terminal application that resulted in being unable to read the card. If reattempt doesn’t work, please submit a PayFac ticket.
EMV_ERROR Something went wrong while processing the transaction. Please try again (insert card if possible). This occurs when the chip card cannot be read. This may result from the cardholder removing the card prematurely or if the card was damaged/scratched. If reattempt doesn’t work, please submit a PayFac ticket.
OFFLINE_DECLINE Declined. An offline decline occurs when a transaction is declined without real-time authorization from the cardholder's bank. This typically happens when the terminal is unable to hear back from the card issuer quick enough. This is less common and usually only happens in situations with poor internet connectivity. If reattempt doesn’t work, please have the cardholder try a new card.
ONLINE_DECLINE The processor declined the card. This is a general decline from the cardholder's bank. It doesn’t specify the reason for the decline. The customer should contact their bank for more information. If reattempt doesn’t work, please have the cardholder try a new card.
POS_CANCEL Canceled by clerk. This message appears when the clerk cancels the transaction from the POS software. Reattempt the transaction
REVERSAL Payment declined. Reversals can occur in several scenarios but it essentially means that authorization for the transaction has been revoked by the cardholder or the cardholder’s bank. For all intents and purposes, this behaves like a decline. If reattempt doesn’t work, please have the cardholder try a new card.
USER_CANCEL Canceled by shopper. This message appears when the cardholder cancels the transaction from the terminal application. Reattempt the transaction
USER_TIMEOUT Timed out waiting for shopper. Occurs when the transaction is sent to the terminal but no card is used. If a card was attempted, the terminal was unable to detect it. Reattempt the transaction
WEB_TIMEOUT Connection issue. Please check your network and try again. The terminal was unable to establish a connection and process the payment. This is likely due to limited internet connection or a temporary interruption in service. If reattempt doesn’t work, please have the merchant check their connection and try again.

In each of these cases no funds were captured and we are not able to capture them after the fact.