What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

   * Writes the current year to all elements that match the selector.
  function setCurrentYear() {
    const YEAR_ELEMENTS_SELECTOR = '[fs-hacks-element="year"]';

    const yearElements = document.querySelectorAll(YEAR_ELEMENTS_SELECTOR);
    const currentYear = new Date().getFullYear().toString();

    yearElements.forEach((yearElement) => {
      yearElement.textContent = currentYear;
  document.addEventListener('DOMContentLoaded', setCurrentYear);

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.


Why transactions fail?

Feb 3, 2019
5 min read
Grégoire Delpit

Failed transactions are a challenge for every online business. Figures change depending on geographies and industries, however, between 5% and 20% of transactions fail after customers click to pay! Meaning that 5% to 20% of sales are blocked by failed transactions! That’s a lot of money.

This article is made to help non-payment experts understand why transactions fail and to give a few tips to prevent it from happening. To structure this article, we will categorize failed transactions into 3 categories: transactions that failed for technical reasons; transactions rejected for risk assessment reasons and transactions that failed for financial reasons.

How do card payments work?

To accept cards on your website you’re working with a Payment Service Provider (PSP). Behind this PSP, several players are implicated in the payment process - an Acquirer (the entity which collects the money for you, (sometimes your PSP is also your Acquirer and sometimes not), a Card Network (Visa, MasterCard, CB, JCB, UnionPay…) and an Issuing Bank (the bank of your customers).

In a nutshell, the payment process works as follows: your PSP will ask the Issuing Bank (your customer’s bank) if it wants to accept or reject the transaction. The decision of the Issuing Bank will be based on financial & risk parameters. From a financial point of view, the Issuing Bank will accept the transaction if the customer has the ability to pay (money in the bank account, payment ceiling, etc…). From a Risk point of view, the Issuing Bank will accept the transaction if it considers that it’s not a fraudulent transaction. Indeed, for financial and legal reasons, banks need to maintain a low level of fraud and thus reject transactions when they have a doubt.

Keeping in mind that several providers are involved in a transaction, understanding how payments work and remembering that banks have to maintain low levels of fraud will help you understand the problem next time you are confronted with failed transactions. Try to understand if the failure is linked to a technical issue, a risk assessment challenge or simply an issue with the customer.

Failure for technical reasons

Failure for technical reasons is linked to a technical issue with one of the providers involved in the process (PSP, Acquirer, Card Network, 3DS providers, Issuing Bank).

To avoid those kinds of failures, the best option is to build a flexible payment infrastructure where you can use several PSPs to make sure your transactions always have a functional route. For example, you can be in a position to disengage the 3DS when this service faces a downtime.

Failure for risk assessments reasons

Rejects due to risk assessment reasons come from a lack of trust by the Acquirer or the Issuing Bank in the transaction. There are several parameters that can be taken into account to define the risk profile of a transaction: location of the transaction, country of the card vs. country of the merchant, time of the transaction, amount of the transaction, business sector of the merchant, etc.

When transactions present a high-risk profile (high amount, foreign transactions, the first transaction of this customer…), be sure to send a maximum of information to the Issuing Bank and to implement all the required security checks. Keep in mind that depending on the country, Issuing Banks are not using the same parameters to assess a transaction. Be sure to understand the relevant parameters of the customer’s Bank and comply with them properly (this depends on your PSP). For example, AVS (address of the customer) can be important in the US, yet has no real impact in France. In Europe, we rely a lot on 3D-Secure and 3D-Secure 2 (add authentication steps for online payments) but this system is not very popular in the US.

Long story short, to optimize the risk assessment you need to do two things:

  • Security checks

First, be sure to gather the relevant information and implement/send all the security checks possible for transactions when presenting a high-risk profile. Those information and security checks depend on the country of your customer. If you have any doubt on which security checks you should fulfill or information you should gather, ask your payment partner or drop us a mail (louis@processout.com)

  • Integrate local providers

Second, implement local providers to have the best technical and business connection possible between your payment provider and your customer’s Bank. Don’t be afraid - by using the relevant services this is very easy to do. Same for any question, just drop us an email!

Failure for financial reasons / due to the customers

Failure due to a “human” mistake (wrong card number, missing information field…) is pretty easy to prevent and repair.

Failure due to a financial issue (no money left in their bank account, payment ceiling issues…) is more complex to solve. Most of the time the solution is to implement the relevant payment strategy but this is more a business decision than a technical decision. Some companies decide, for example, to offer their customers financial solutions (like split payments, credit solutions…). Some companies also implement retry strategies where they do not block access to the product even if the transaction is rejected because they assume the customer is able to pay but the reject can be linked to payment ceiling issues. They will thus retry the transaction a few hours or days later.

What are Error Codes?

When rejecting a transaction, PSPs, Acquirers or Issuing Banks return an Error Code. Usually, those Error Codes are made to help you understand the reason for the failure. However, the quality of the information really depends on the Acquirers / Banks and sometimes you can trust those Error Code but sometimes not. Also, lots of returns just read “Do Not Honor” or “Transactions Rejected” and this does not give any information on the reason for the failure.

Hence, Error Codes are a clue but you can’t 100% rely on them. At ProcessOut, as we were confronted with this challenge every day, we have built an algorithm-based system that tries to detect the reason for the failure. Checking this then helps us make the right decision, like retrying the transaction.

Failed transactions: what can I do?

We hope this post was useful. Next time, when a transaction fails, try to understand why it failed! Was it for a technical reason, for a risk assessment reason or due to an issue with the customer? Depending on this, you will be in a position to retry the transaction properly and also to improve your payment infrastructure to minimize the probability of those failures next time.

At ProcessOut we’re helping online merchants monitor and optimize their payment performance. Decreasing failed transactions is one of our preferred topics. If you’re managing an online business and face this issue, don’t hesitate to send us an email or to use Telescope - our free audit & monitoring tool. Telescope is made to help online merchants understand how their payments perform and how they can be optimized (by decreasing failed transactions, optimizing fees…). Any question/comments, drop an email to Louis (louis@processout.com)

Recent articles

Arrow Left IconLeft iconRight icon buttonSwiper icon right