Future of Software Development

The landscape of software development is constantly evolving, with emerging technologies reshaping the way applications are built and deployed. Among the most notable trends gaining traction is serverless architecture, offering developers a paradigm shift in how they approach application development. In this article, we delve into the world of serverless architecture, exploring its key concepts, benefits, and implications for the future of software development.

Understanding Serverless Architecture

Serverless architecture, often referred to as Function as a Service (FaaS), is a cloud computing model where developers can build and run applications without the need to manage underlying infrastructure. In a serverless environment, developers focus on writing code in the form of functions, which are executed in response to events triggered by external stimuli such as HTTP requests, database changes, or file uploads. This event-driven approach allows for greater scalability, flexibility, and efficiency in application development.

Running and Optimizing Sidekiq Workloads With Dragonfly

Scaling Sidekiq is challenging when paired with Redis. The hurdle arises from the complexity of Redis' horizontal scaling model:

  • Redis is mostly single-threaded, unable to fully utilize modern multi-core servers.
  • On the other hand, it is discouraged to use Redis Cluster for Sidekiq, as detailed here.

This dilemma often leads to throughput bottlenecks when using Sidekiq with Redis. We have optimized Dragonfly, a modern multi-threaded drop-in replacement for Redis that can be used as a backend data store for Sidekiq, to address these scaling challenges. Without further ado, let's dig into how we did this.

How To Embed Documents for Semantic Search

In this post, you will take a closer look at embedding documents to be used for a semantic search. By means of examples, you will learn how embedding influences the search result and how you can improve the results. Enjoy!

Introduction

In a previous post, a chat with documents using LangChain4j and LocalAI was discussed. One of the conclusions was that the document format has a large influence on the results. In this post, you will take a closer look at the influence of source data and the way it is embedded in order to get a better search result.

Managing Data Drift With Apache Kafka® Connect and a Schema Registry

Data flows across many technologies, teams, and people in today's businesses. Businesses are always growing and changing, so the way we collect and share data changes all the time too. We need to know not only who owns certain data but also what to do if that data changes. This problem is often referred to as "data drift".

Consider the scenario where a piece of data is modified at its source — what implications does this have for other systems reliant on it? How do we communicate necessary changes to stakeholders? Conversely, how do we prevent changes that could disrupt the system?

Extensive React Boilerplate to Kickstart a New Frontend Project

How much time do we typically spend on project setup? We're talking about configuring installed libraries and writing boilerplate code to structure and implement best practices for achieving optimal website performance. At Brocoders, we often start new projects from scratch. That's why, over three years ago, we created a NestJS boilerplate for the backend so that we wouldn't have to spend time developing core functionality that the end user doesn't see but is crucial for developers. Over this time, the boilerplate has received 1.9k stars on GitHub and has gained significant popularity beyond our company. Now, we've decided to take it a step further and created the Extensive React Boilerplate for the frontend. Its purpose is to keep our best practices in project development together, avoiding familiar pitfalls and reducing development time.

Modules and Libraries Included in the Boilerplate

To have server-side rendering out of the box, automatic page caching, preloading, and other speed optimizations, we use the Next.js framework. It extends React by adding static site generation and is a powerful tool for creating productive and SEO-friendly web applications. To ensure code reliability, performance, and readability in the boilerplate, TypeScript is utilized.

JS Toolbox 2024: Frameworks and Static Site Generators

JavaScript is bigger than ever, and the ecosystem is nothing short of overwhelming. In this JS toolbox 2024 series, we’ve selected and analyzed the most noteworthy JS tools, so that you don’t have to.

In part 1 of this series, we reviewed runtimes and package managers, the foundational building blocks of your software project. So in part 2, we're analyzing the tools that form the walls and roof that give your software project its structure: frameworks and static site generators.

Fine-Tuning Large Language Models on Custom Data

Large Language Models (LLMs) are advanced artificial intelligence systems designed to understand and generate natural language text. They are trained on extensive datasets of text from the internet including books, websites, and articles, allowing them to learn language patterns, grammar, and a wide range of information. As a result, LLMs generate coherent and contextually relevant text based on the input they receive.

LLMs are constantly evolving and learning new tricks, pushing the boundaries of what's possible with generative AI — and with great (AI) power comes great responsibility; the same goes with LLMs. Sometimes LLMs generate outputs that aren’t expected, fake, and not tuned properly. In this article, we will gain a better understanding of how to make LLMs return the proper results with an approach known as fine-tuning. 

Leveraging Azure Cloud and Docker for ASP.NET Core Projects: A Comprehensive Guide for Businesses

Businesses are constantly seeking robust, scalable, and efficient solutions to develop, deploy, and manage their applications. Microsoft's Azure Cloud services, along with Docker support for ASP.NET Core, present a compelling proposition for those aiming to enhance their project development lifecycle. This guide explores the integration of Azure Cloud and Docker for ASP.NET Core projects and elucidates why businesses should consider this powerful combination for their ventures.

Introduction to ASP.NET Core, Azure Cloud, and Docker

ASP.NET Core is an open-source, cross-platform framework developed by Microsoft for building modern, cloud-based, internet-connected applications. It's renowned for its high performance, versatility, and modular architecture, making it suitable for developing web applications, IoT apps, and mobile backends.

K8s Network Policy Automation in Falco Talon

Setting up robust network security in Kubernetes is a challenge that demands both precision and adaptability. NetworkPolicy offers the potential for highly specific network configurations, enabling or blocking traffic based on a comprehensive set of criteria. However, the dynamic nature of network topologies and the complexities of managing policy implementations present ongoing challenges. The need for constant policy updates, especially in response to changing threat landscapes, introduces risks such as the potential for misconfiguration and the unintended dropping of packets.

The Challenge of IP-Based Network Policies

Building network policies around IP addresses is notoriously challenging. For instance, threat feeds, which list known malicious IP addresses, are constantly changing. An IP address associated with a malicious entity one week might be reassigned and deemed safe the next. This fluidity necessitates an agile approach to network policy management, integrating solutions like NetworkSets to dynamically update policies based on the latest intelligence. However, the sheer volume of threat intelligence feeds – from Tor IP lists to crypto mining blocklists – complicates this integration, making it a daunting task to maintain accurate network controls.

Scaling Java Microservices to Extreme Performance Using NCache

Microservices have emerged as a transformative architectural approach in the realm of software development, offering a paradigm shift from monolithic structures to a more modular and scalable system. At its core, microservices involve breaking down complex applications into smaller, independently deployable services that communicate seamlessly, fostering agility, flexibility, and ease of maintenance. This decentralized approach allows developers to focus on specific functionalities, enabling rapid development, continuous integration, and efficient scaling to meet the demands of modern, dynamic business environments. As organizations increasingly embrace the benefits of microservices, this article explores the key principles, advantages, and challenges associated with this architectural style, shedding light on its pivotal role in shaping the future of software design and deployment.

A fundamental characteristic of microservices applications is the ability to design, develop, and deploy each microservice independently, utilizing diverse technology stacks. Each microservice functions as a self-contained, autonomous application with its own dedicated persistent storage, whether it be a relational database, a NoSQL DB, or even a legacy file storage system. This autonomy enables individual microservices to scale independently, facilitating seamless real-time infrastructure adjustments and enhancing overall manageability.

Securing Applications Throughout the Software Development Lifecycle

In the last few years, many organizations from various industries, including retail, media, healthcare, automotive, finance, aviation, real estate, etc., have been affected by security incidents or data breaches. Q2 2023 saw 2.6 times more data breaches than Q1 2023. 110.8M accounts were leaked, with 855 accounts being leaked every minute. According to IBM, data breaches, on average, cost $4,45 million (2023), a 15% increase over three years. Surprisingly, half of the breached organizations are still unwilling to increase security spending despite soaring breach costs. The vulnerabilities in applications and environmental configuration are among the major factors resulting in the success of cyberattacks. 

To strengthen security, what needs to be changed in existing software development and maintenance processes? Let’s examine the additional measures and process adjustments your company should make for the well-tuned and secure Software Development Lifecycle (SDLC). 

How Accessibility Standards Can Empower Better Chart Visual Design

Data visualizations are graphics that leverage our visual system and innate capabilities to gather, accumulate, and process information in our environment, as shown in the animation in Figure 1.0.

Figure 1.0. An animation demonstrating our preattentive processing capability. Based on a lecture by Dr. Stephen Franconeri. (Large preview)

As a result, we’re able to quickly spot trends, patterns, and outliers in all the images we see. Can you spot the visual patterns in Figure 1.1?

In this example, there are patterns defined by the size of the shapes, the use of fills and borders, and the use of different types of shapes. These characteristics, or visual encodings, are the building blocks of visualizations. Good visualizations provide a glanceable view of a large data set we otherwise wouldn’t be able to comprehend.

Accessibility Challenges With Data Visualizations

Visualizations typically serve a wide array of use cases and can be quite complex. A lot of care goes into choosing the right encodings to represent each metric. Designers and engineers will use colors to draw attention to more important metrics or information and highlight outliers. Oftentimes, as these design decisions are made, considerations for people with vision disabilities are missed.

Vision disabilities affect hundreds of millions of people worldwide. For example, about 300 million people have color-deficient vision, and it’s a condition that affects 1 in 12 men.1

1 Colour Blind Awareness (2023)

Most people with these conditions don’t use assistive technology when viewing the data. Because of this, the visual design of the chart needs to meet them where they are.

Figure 1.2 is an example of a donut chart. At first glance, it might seem like the categorical color palette matches the theme of digital wellbeing. It’s calm, it’s cool, and it may even invoke a feeling of wellbeing.

Figure 1.3 highlights how this same chart will appear to someone with a protanopia condition. You’ll notice that it is slightly less readable because the Other and YouTube categories appearing at the top of the donut are indistinguishable from one another.

For someone with achromatopsia, the chart will appear as it does in Figure 1.4

In this case, I’d argue that the chart isn’t really telling us anything. It’s nearly impossible to read, and swapping it out for a data table would be arguably more useful. At this point, you might be wondering how to fix this. Where should you start?

Start With Web Standards

Web standards can help us improve our design. In this case, Web Content Accessibility Guidelines (WCAG) will provide the most comprehensive set of requirements to start with. Guidelines call for two considerations. First, all colors must achieve the proper contrast ratio with their neighboring elements. Second, visualizations need to use something other than color to convey meaning. This can be accomplished by including a second encoding or adding text, images, icons, or patterns. While this article focuses on achieving WCAG 2.1 standards, the same concepts can be used to achieve WCAG 2.2 standards.

Web Standards Challenges

Meeting the web standards is trickier than it might first seem. Let’s dive into a few examples showing how difficult it is to ensure data will be understood at a glance while meeting the standards.

Challenge 1: Color Contrast

According to the WCAG 2.1 (level AA) standards, graphics such as chart elements (lines, bars, areas, nodes, edges, links, and so on) should all achieve a minimum 3:1 contrast ratio with their neighboring elements. Neighboring elements may include other chart elements, interaction states, and the chart’s background. Incidentally, if you’re not sure your colors are achieving the correct minimum ratio, you can check your palette here. Additionally, all text elements should achieve a minimum 4.5:1 contrast ratio with their background. Figure 1.5 depicts a sample categorical color palette that follows the recommended standards.

This is quite a bold palette. When applying a compliant palette to a chart, it might look like the example in Figure 1.6.

While this example meets the color contrast requirements, there’s a tradeoff. The chart’s focal point is now lost. The red segments at the bottom of each stacked bar represent the most important metrics illustrated in this chart. They represent errors or a count of items that need your attention. Since the chart features bold colors, all of which are equally competing for our attention, it’s now more difficult to see the items that matter most.

Challenge 2: Dual Encodings, Or Conveying Meaning Without Color

To minimize reliance on color to convey meaning, WCAG 2.1 (level A) standards also call for the use of something other than color to convey meaning. This may be a pattern, texture, icon, text overlay, or an entirely different visual encoding.

It’s easy to throw a pattern on top of a categorical fill color and call it a day, as illustrated in Figure 1.7. But is the chart still readable? Is it glanceable? In this case, the segments appear to run into one another. In his book, The Visual Display of Quantitative Information, Edward Tufte describes the importance of minimizing chartjunk or unnecessary visual design elements that limit one’s ability to read the chart. This begs the question, do the WCAG standards encourage us to add unnecessary chartjunk to the visualization?

Following the standards verbatim can lead us down the path of creating a really noisy visualization.

Let The Standards Empower vs Constrain Design

Over the past several years, my working group at Google has learned that it’s easier to meet the WCAG visual design requirements when they’re considered at the beginning of the design process instead of trying to update existing charts to meet the standard. The latter approach leads to charts with unnecessary chart junk, just like the one previously depicted in Figure 1.7, and minimized usability. Considering accessibility first will enable you to create a visualization that’s not only accessible but useful. We’re calling this our accessibility-first approach to chart design. Now, let’s see some examples.

Solving For Color Contrast

Let’s revisit the color contrast requirement via the example in Figure 1.8. In this case, the most important metric is represented by the red segments appearing at the bottom of each bar in the series. The red color represents a count of items in a failing state. Since both colors in this palette compete for our attention, it’s difficult to focus on the metric that matters most. The chart is no longer glanceable.

Focus On Essential Elements Only

By stretching the standards a bit, we can balance a11y and glanceability a lot better. Only the visual elements essential for interpreting the visualization need to achieve the color contrast requirement. In the case of Figure 1.8, we can use borders that achieve the required contrast ratio while using lighter fills to the point of focus. In Figure 1.9, you’ll notice your attention now shifts down to the metrics that matter most.

Figure 1.9. ✅ DO: Consider using a combination of outlines and fills to meet contrast requirements while maintaining a focal point. (Large preview)

Dark Themes For The Win

Most designers I know love a good dark theme like the one used in Figure 2.0. It looks nice, and dark themes often result in visually stunning charts.

More importantly, a dark theme offers an accessibility advantage. When building on top of a dark background, we can use a wider array of color shades that will still achieve the minimum required contrast ratio.

According to an audit conducted by Google’s Data Accessibility Working Group, the 61 shades of the Google Material palette from 2018 achieved the minimum 3:1 contrast ratio when placed on a dark background. This is depicted in Figure 2.1. Only 40 shades of Google Material colors achieved the same contrast ratio when placed on a white background. The 50% increase in available shades when moving from a light background to a dark background makes a huge difference. Having access to more shades enables us to draw focus to items that matter most.

With this in mind, let’s revisit the earlier donut chart example in Figure 2.2. For now, let’s keep the white background, as it’s a core part of Google’s brand.

Figure 2.2. ✅ DO: Use a combination of fills and borders that achieve the minimum contrast ratios to improve the readability of your chart. (Large preview)

While this is a great first step, there’s still more work to do. Let’s take a closer look.

Solving For Dual Encodings And Minimizing Chartjunk

As shown in Figure 2.3, color is our only way of connecting segments in the donut to the corresponding categories in the legend. Despite our best efforts to follow color contrast standards, the chart can still be difficult to read for people with certain vision disabilities. We need a dual encoding, or something other than color, to convey meaning.

How might we do this without adding noise or reducing the chart’s readability or glanceability? Let’s start with the text.

Integrating Text And Icons

Adding text to a visualization is a great way to solve the dual encoding problem. Let’s use our donut chart as an example. If we move the legend labels into the graph, as illustrated in Figure 2.4, we can visually connect them to their corresponding segments. As a result, there is no longer a need for a legend, and the labels become the second encoding.

Let’s look at a few other ways to provide a dual encoding while maximizing readability. This will prevent us from running in the direction of applying unnecessary chart junk like the example previously highlighted in Figure 1.7.

Depending on the situation, shape of the data, or the available screen real estate, we may not have the luxury of overlaying text on top of a visualization. In cases like in Figure 2.5, it’s still okay to use iconography. For example, if we’re dealing with a very limited number of categories, the added iconography can still act as a dual encoding.

Some charts can have upwards of hundreds of categories, which makes it difficult to add iconography or text. In these cases, we must revisit the purpose of the chart and decide if we need to differentiate categories. Perhaps color, along with a dual encoding, can be used to highlight other aspects of the data. The example in Figure 2.6 shows a line chart with hundreds of categories.

We did a few things with color to convey meaning here:

  1. Bright colors are used to depict outliers within the data set.
  2. A neutral gray color is applied to all nominal categories.

In this scenario, we can once again use a very limited set of shapes for differentiating specific categories.

The Benefits Of Small Multiples And Sparklines

There are still times when it’s important to differentiate between all categories depicted in a visualization. For example, the tangled mess of a chart is depicted in Figure 2.7.

In this case, a more accessible solution would include breaking the charts into their own mini charts or sparklines, as depicted in Figure 2.8. This solution is arguably better for everyone because it makes it easier to see the individual trend for each category. It’s more accessible because we’ve completely removed the reliance on color and appended text to each of the mincharts, which is better for the screen reader experience.

Reserve Fills For Items That Need Your Attention

Earlier, we examined using a combination of fills and outlines to achieve color contrast requirements. Red and green are commonly used to convey status. For someone who is red/green colorblind, this can be very problematic. As an alternative, the status icons in Figure 2.9 reserve fills for the items that need your attention. We co-designed this solution with some help from customers who are colorblind. It’s arguably more scannable for people who are fully sighted, too.

Embracing Relevant Metaphors

In 2022, we launched a redesigned Fitbit mobile app for the masses. One of my favorite visualizations from this launch is a chart showing your heart rate throughout the day. As depicted in Figure 3.0, this chart shows when your heart rate crosses into different zones. Dotted lines were used to depict each of these zone thresholds. We used the spacing between the dots as our dual encoding, which invokes a feeling of a “visual” heartbeat. Threshold lines with closely spaced dots imply a higher heart rate.

Continuing the theme of using fun, relevant metaphors, we even based our threshold spacing on the Fibonacci Sequence. This enabled us to represent each threshold with a noticeably different visual treatment. For this example, we knew we were on the right track as these accessibility considerations tested well with people who have color-deficient vision.

Accessible Interaction States

Color contrast and encodings also need to be considered when showing interactions like mouse hover, selection, and keyboard focus, like the examples in Figure 3.1. The same rules apply here. In this example, the hover, focus, and clicked state of each bar is delineated by elements that appear above and below the bar. As a result, these elements only need to achieve a 3:1 contrast ratio with the white background and not the bars themselves. Not only did this pattern test well in multiple usability studies, but it was also designed so that the states could overlap. For example, the hover state and selected state can appear simultaneously and still meet accessibility requirements.

Finding Your Inspiration

For some more challenging projects, we’ve taken inspiration from unexpected areas.

For example, we looked to nature (Figure 3.2) to help us consider methods for visualizing the effects of cloud moisture on an LTE network, as sketched in Figure 3.3.

We’ve taken inspiration from halftone printing processes (Figure 3.4) to think about how we might reimagine a heatmap with a dual encoding, as depicted in Figure 3.5.

We’ve also taken inspiration from architecture and how people move through buildings (Figure 3.6) to consider methods for showing the scope and flow of data into a donut chart as depicted in Figure 3.7.

Figure 3.7. Applying inspiration from architecture and a building’s flow. (Large preview)

In this case, the animated inner ring highlights the scope of the donut chart when it’s empty and indicates that it will fill up to 100%. Animation is a great technique, but it presents other accessibility challenges and should either time out or have a stop control.

In some cases, we were even inspired to explore new versions of existing visualization types, like the one depicted in Figure 3.8. This case study highlights a step-by-step guide to how we landed on this example.

Getting People On Board With Accessibility

One key lesson is that it’s important to get colleagues on board with accessibility as soon as possible. Your compliant designs may not look quite as pretty as your non-compliant designs and may be open to criticism.

So, how can you get your colleagues on board? For starters, evangelism is key. Provide examples like the ones included here, which can help your colleagues build empathy for people with vision disabilities. Find moments to share the work with your company’s leadership team, spreading awareness. Team meetings, design critiques, AMA sessions, organization forums, and all-hands are a good start. Oftentimes, colleagues may not fully understand how accessibility requirements apply to charting or how their visualizations are used by people with disabilities.

While share-outs are a great start, communication is one way. We found that it’s easier to build momentum when you invite others to participate in the design process. Invite them into brainstorming meetings, design reviews, codesign sessions, and the problem space to help them appreciate how difficult these challenges are. Enlist their help, too.

By engaging with colleagues, we were able to pinpoint our champions within the group or those people who were so passionate about the topic they were willing to spend extra time building demos, prototypes, design specs, and research repositories. For example, at Google, we were able to publish our Top Tips for Data Accessibility on the Material Design blog.

Aside from good citizenship and building a grassroots start, there are ways to get the business on board. Pointing to regulations like Section 508 in America and the European Accessibility Act are other good ways to encourage your business to dive deeper into your product’s accessibility. It’s also an effective mechanism for getting funding and ensuring accessibility is on your product’s roadmap. Once you’ve made the business case and you’ve identified the accessibility champions on your team, it’s time to start designing.

Conclusion

Accessibility is more than compliance. Accessibility considerations can and will benefit everyone, so it’s important not to shove them into a special menu or mode or forget about them until the end of the design process. When you consider accessibility from the start, the WCAG standards also suddenly seem a lot less constraining than when you try to retrofit existing charts for accessibility.

The examples here were built over the course of 3 years, and they’re based on valuable lessons learned along the way. My hope is that you can use the tested designs in this article to get a head start. And by taking an accessibility-first approach, you’ll end up with overall better data visualizations — ones that fully take into account how all people gather, accumulate, and process information.

Resources

To get started thinking about data accessibility, check out some of these resources:

Getting started

ACM

Contrast checking tool

WCAG requirements

Material design best practices and specs

We’re incredibly proud of our colleagues who contributed to the research and examples featured in this article. This includes Andrew Carter, Ben Wong, Chris Calo, Gerard Rocha, Ian Hill, Jenifer Kozenski Devins, Jennifer Reilly, Kai Chang, Lisa Kaggen, Mags Sosa, Nicholas Cottrell, Rebecca Plotnick, Roshini Kumar, Sierra Seeborn, and Tyler Williamson. Without everyone’s contributions, we wouldn’t have been able to advance our knowledge of accessible chart visual design.

Best Closet Solutions for Home Storage

Raise your hand if you’ve ever lost something in the black hole also known as your closet. Yep, we thought so. We all dream of a perfectly organized wardrobe where everything has its place, but in reality, often looks more like a jumbled mess of clothes and miscellaneous items. To help you get closer to […]

Exploring the Power of the Functional Programming Paradigm

In contrast to imperative and object-oriented programming centered around state changes and side effects, the functional programming paradigm provides a fundamentally distinct approach for building software by composing standalone pure mathematical functions over immutable data. With conceptual roots in Lambda calculus and emphasis on decorativeness over mutation, functional programming has gained steadily increasing mainstream acceptance in recent years, driven by the need for massive concurrency enabled by multicore computing systems and high-performance declarative architectures.

This article deeply explores foundational motivations behind the rising interest in functional thinking, examines key principles and attractions leading global enterprises like Facebook, Netflix, and Airbnb to incorporate functional languages into critical pipelines, benefits like inherent concurrency unlocked through immutability, support for mathematical abstractions like higher-order functions and currying, recursion over iterative loops, pattern matching, pragmatic adoption tradeoffs like retraining costs and control flow shifts, and why functional programming remains poised for much wider penetration as complexity strains existing paradigms.

How to Accept SEPA Payments in WordPress (2 Easy Ways)

Do you want to accept SEPA payments in WordPress?

By accepting SEPA payments on your website, you can reach customers within the SEPA region, which contains 36 European countries. This can help you get more sales as the region generates more than 20 billion transactions every year.

In this article, we will show you how to easily accept SEPA payments in WordPress.

Accept SEPA Payments in WordPress

Why Use SEPA Payments in WordPress?

The Single European Payments Area (SEPA) is a European Union initiative that aims to make it easy and convenient to make payments within and across the 36 member countries.

It creates a single Europe-wide market for Euro payments and uses the same set of rules and standards for domestic or cross-border money transfers.

This means that you can use your bank account to make Euro payments to anyone in the SEPA area, regardless of their bank or country.

By using SEPA payments on your WordPress website, you can directly accept payments from your customer’s bank account, making the process smooth and simple.

This payment method streamlines the transaction process and also charges lower fees than traditional cross-border payments.

Plus, if you have an online store or membership site, then integrating SEPA payments allows you to tap into a vast customer base across Europe, expanding your potential market reach.

Having said that, let’s see how to easily accept SEPA payments in WordPress, step by step. We will cover different methods, and you can use the quick links below to jump to the one you want to use:

Method 1: Accept SEPA Payments in WordPress Using WP Simple Pay (Recommended)

This method is recommended if you have a membership site or accept donations since you can receive money through a simple payment form. It is also a good option if you have a small online store.

For this method, we will be using WP Simple Pay. It is the best WordPress Stripe plugin on the market that allows you to accept online payments without needing to set up a shopping cart.

It comes with a payment form builder, premade templates, secure payment processing, and lets you accept SEPA payments.

First, you need to install and activate the WP Simple Pay plugin. For detailed instructions, see our step-by-step guide on how to install a WordPress plugin.

Note: WP Simple Pay has a free plan. However, you will need the pro version of the plugin to unlock the SEPA payments template.

Upon activation, a setup wizard will be launched on your screen. Here, simply click the ‘Let’s Get Started’ button.

The WP Simple Pay Setup Wizard Will Start Automatically

You will now be taken to the next step, where you must provide your license key and click the ‘Activate and Continue’ button.

You can find this information in your account on the WP Simple Pay website.

You’ll Be Asked to Enter Your WP Simple Pay License Key

Once you do that, you will have to connect the plugin to your Stripe account. Stripe is one of the best payment gateways that lets you accept online payments easily.

To do this, click the ‘Connect with Stripe’ button.

Connecting WP Simple Pay to Stripe

After that, you must log in to your Stripe account to connect it with WP Simple Pay.

If you don’t have an account yet, then you must create one to accept SEPA payments in WordPress. For more information, see our tutorial on how to accept payments with Stripe in WordPress.

Once you connect your account with the plugin, the setup wizard will ask you to configure your emails.

You can toggle different switches to receive email notifications for payment receipts, upcoming invoices, and payment notifications. Next, type the email address where you want to receive these notifications.

Finally, click the ‘Save and Continue’ button.

Note: If you have trouble sending or receiving email notifications, then you can go through our guide on how to properly configure your email settings.

Configure Your WP Simple Pay Emails

You can now exit the setup wizard to create a payment form for SEPA payments.

For this, you must visit the WP Simple Pay » Add New page from the WordPress admin sidebar.

This will take you to the ‘Select a template’ screen, where you will see numerous premade templates that you can use on your website.

From here, locate the SEPA Direct Debit Form template and click the ‘Use Template’ button under it.

Choose SEPA direct debit form template

You will now be directed to the ‘Add New Payment Form’ page, where you can start by adding a title and description for your form.

After that, you must select your form payment type as ‘On-site payment form’.

Add title and description for the SEPA payment form

Next, you have to switch to the ‘Payment’ tab from the left column. From here, select preferred tax collection rates from under the ‘Tax Collection’ option.

Once you do that, add the price for the product/service that you are creating the form for under the ‘Amount’ option.

Add payment amount in the form

Now scroll down to the ‘Payment Methods’ section, where you will notice that the ‘SEPA Direct Debit’ method has already been selected.

However, if you also want to add other payment gateways like Klarna, Alipay, Affirm, or iDeal, then you can check the boxes next to these options.

Add SEPA as a payment method

Next, switch to the ‘Form Fields’ tab from the sidebar on the left. Once you are there, you can add different form fields to your payment form and configure their settings by expanding the tab.

For example, you can add a coupon field to your payment form if you regularly offer discounts and coupons on your website.

You can also rearrange the order of the form fields by dragging and dropping them.

Add form fields to the SEPA payment form

Once you do that, switch to the ‘Confirmation Page’ tab from the left column.

Here, you can type a message that will be displayed to the users once they successfully make a payment on your website.

Add a message for the payment confirmation page

If you also want to send an email to users upon successfully making a purchase, then switch to the ‘Email Notifications’ tab.

Here, type the custom email that will be sent to users upon making a purchase using the SEPA payment form.

Add an email notification message for purchase confirmation

Next, switch to the ‘Payment Page’ tab and check the ‘Enable a dedicated payment page’ option.

WP Simple Pay will now allow you to create a custom page for your SEPA payment form without making a new page on your website.

Some new settings will now appear on the page where you can add a permalink, color scheme, image, and footer text for your form.

Customize SEPA payments form

Once you are done customizing, click the ‘Publish’ button on the right to store your settings.

Now, go ahead and visit your WordPress site to view the payment form page.

SEPA payment form preview

Alternatively, if you want to add the SEPA payment form to an existing page, then you must click the ‘Publish’ button once you add the form fields and configure confirmation messages.

After that, open a page of your liking in the WordPress block editor and click the add block ‘+’ button.

Next, you need to find and add the WP Simple Pay block to the page and select the SEPA payment form from the dropdown menu within the block.

Add the WP Simple Pay block to the page or post

Finally, click the ‘Update’ or ‘Publish’ button to store your settings.

Now, you can visit your WordPress site to view the SEPA payment form in action.

SEPA payment form preview

Method 2: Accept SEPA Payments in WooCommerce Using FunnelKit Stripe Payment Gateway Plugin (Free)

If you have a WooCommerce store and are looking for a free way to accept SEPA payments, then this method is for you.

First, you need to install and activate Stripe Payment Gateway for WooCommerce. For detailed instructions, see our beginner’s guide on how to install a WordPress plugin.

It is a free plugin by FunnelKit that lets you easily add different payment gateways.

Upon activation, visit the WooCommerce » Settings page from the WordPress dashboard and switch to the ‘Payments’ tab.

Here, click the ‘Stripe Gateway’ option to open further settings.

Click the Stripe gateway option

On the new page, check the ‘Enable Stripe Gateway’ box. After that, you can also add a title and description for the payment gateway.

Next, click the ‘Save Changes’ button to store your settings and then click the ‘Stripe API Settings’ link at the top.

Check the Enable Stripe gateway option

This will take you to a new page where you must click on the ‘Connect to Stripe’ button to connect the payment gateway with your online store.

You will then be taken to a new screen where you must enter your Stripe username and password. If you don’t have an account, then you can create one from here.

For more details on how to do this, see our tutorial on how to accept payments with Stripe in WordPress.

Click the Connect With Stripe button

Once you connect your WooCommerce store with your account, click on the ‘SEPA’ link at the top. Here, check the ‘Enable Stripe SEPA Direct Debit’ option.

After that, you can also add a title, description, company name, and selling locations where this payment method can be displayed.

Enable SEPA Payments for your WooCommerce store

Finally, click the ‘Save Changes’ button to store your settings.

You have now successfully activated the SEPA payment method on your WooCommerce store. You can now see it on the checkout page of your store.

Pay with SEPA

Bonus: Add PayPal in WordPress and WooCommerce

Apart from Stripe and SEPA, you can also use PayPal to accept payments all across Europe.

PayPal is one of the pioneers in the payment industry and offers a variety of services suitable for personal, business, and eCommerce. It also has a large user base in Europe, with over 400 million active accounts.

Plus, the payment gateway has a robust security system and seamless cross-border transactions, making PayPal an ideal choice.

You can easily add PayPal to your site using WPForms. It is the best WordPress PayPal plugin on the market that offers a drag-and-drop builder, premade form templates, and complete spam protection.

The plugin also comes with a PayPal addon that you can use to easily accept payments, donations, and online orders from your WordPress website. For detailed instructions, see our tutorial on how to connect WordPress to PayPal Commerce.

WPForms

Other than that, you can also use WPForms to create contact forms, polls and surveys, registration forms, login forms, and so much more.

For more information, just see our complete WPForms review.

We hope this article helped you learn how to easily accept SEPA payments in WordPress. You may also want to see our article on how to accept credit card payments on your WordPress site and our top picks for the best PayPal alternatives for freelancers to collect payments in WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Accept SEPA Payments in WordPress (2 Easy Ways) first appeared on WPBeginner.