Virtual terminal is a payment channel launched by Paystack in 2023. It enables Merchants to collect In person Payments from customers, and is a low cost alternative for physical POS devices.

an image of the virtual terminal poster and the dashboard screen of the virtual terminal
section icon

THE PROBLEM

In 2022, Paystack launched Terminal, a POS device to enable merchants collect in-person payments from their customers. The launch of these devices uncovered some problems that led to a rethink of how to improve the in-person payment experience. Some of those problems were;

1. Physical terminals were expensive to purchase and maintain.

This was a problem for small businesses that couldn’t afford the terminals, and for large businesses that required lots of terminals due to multiple agents and payment points.

2. The physical terminals did not support international cards.

This caused merchants to struggle with collecting in person payments from foreign customers.

3. Small businesses who could not afford to get physical terminals usually accepted bank transfers from their customers, but this also had some problems which were:

  • Delays in receiving transaction notifications
  • Delays in confirming transactions - This usually played out when the business had a sales agent who attended to customers. In cases like this, the sales agent had to call the business owner or accountant to make sure that they had received a transfer from a customer.

These led to long wait times for customers before value could be provided.

section icon

GOALS

To solve these problems, Paystack decided to launch Virtual terminals, so as to;

There are 3 main components of a Virtual Terminal, each contributing to one of the goals mentioned above.

1. Dedicated Virtual Accounts

Each Virtual Terminal has a unique bank account number that receives bank transfers for that virtual terminal. These Virtual accounts typically receive transactions and send notifications in less than 10 seconds. This solves the problem of delays in receiving transaction notifications

2. A payment page that accepts international cards and apple pay

This would enable merchants to collect payments from their international customers.

3. WhatsApp notifications

Notifications are sent to WhatsApp numbers for each transaction carried out on the Virtual Terminal. The value of this is seen for businesses that have multiple sales agents or payment points. Sales agents no longer have to call the business owner or accountant to confirm transactions because they will be getting notifications on their WhatsApp numbers, and in less than 10 seconds.

a flowchart shoring how payment was handled before Vrtual Terminals

Payment flow before Virtual Terminal launch

a flow chart showing how Virtual Terminals has simplified payments

Payment flow after Virtual Terminal launch

section icon

ROLE

I worked as the product designer on this project. I worked with the design team lead to design the payment page, poster, and the dashboard flows, and to conduct usability tests.

section icon

TIMELINE

3 to 4 months

section icon

BRAINSTORMING

The requirements from design evolved as the product scaled, but there were 3 main outputs that were needed;

  1. The payment page for international cards and apple pay.
  2. A poster showing the bank account number as well as the QR code that would be scanned to open up the payment page. (This is to be displayed to customers at various points of sale)
  3. A flow on the dashboard to enable merchants create and monitor their virtual terminals.

Designing the payment Page

The first step was to create low fidelity designs of what the payment page would look like. While designing the Payment page, we thought Mobile first because there was a very high chance that customers would be using their phones to scan the QR code. We initially wanted it to be similar enough to the current Paystack payment pages, but we realised that making customers fill out a personal detail page before they could pay for something that was right in front of them was an unnecessary step. We wanted all the information to be on 1 page and for the page to emphasise that customers could pay using a variety of Card types, Apple pay, or via bank transfer.

a wireframe design showing the first iteration of the virtual terminal payment page

First iteration of the payment page with one page for capturing customer details

2nd iteration

After considering all of these, we worked on the second iteration of the Payment page, making Pay with Apple Pay one of the prominent buttons on the page, and displaying the different accepted cards under the Pay with Card button.

a wireframe design showing the second iteration of the virtual terminal payment page

Second iteration of the payment page with one page for capturing customer details

With the layout determined, we moved forward to create the high fidelity versions of the Payment page.

an image showing the high fidelity version of the Virtual terminal payment page

Second iteration of the payment page with one page for capturing customer details

Designing the Poster

At this point, we already knew we wanted customers to scan a QR code to get to the payment page, and so the next thing to think about was how this code would be displayed to them. We decided to design a flyer, and there were 4 main things we were employing the flyer to do:

  • Show the different payment channels that could be used.
  • Show the different Card types that were accepted.
  • Show the QR code that could be scanned to get to the payment page
  • Show the account number for bank transfers.

Putting all these into consideration, we designed the first version of the Virtual Terminal Poster.

First version of the virtual terminal poster showing payment methods, a QR code to scan, and the bank account for transfers

1st version of the Virtual Terminal Poster with the QR code emphasised as the main payment channel

2nd iteration

After a few weeks of piloting Virtual Terminals, we decided to prioritise bank transfers over the QR code, because Nigerians increasingly started favouring bank transfers over card payments. The first iteration (showed above) of the Virtual Terminal poster seemed to emphasise QR code payments over bank transfers, so we decided to redesign it.

second version of the virtual terminal poster with bank transfer prioritized over the QR code

2nd version of the Virtual Terminal Poster with bank transfers emphasised.

With this new version, the account number was the most prominent thing on the flyer, with the QR code shown as an alternative for when a customer could not make a bank transfer. We also got a suggestion from the marketing team to change the copy at the bottom right corner, to serve as marketing material for other merchants who saw this and also wanted to get it for their business.

Desigining Virtual Terminals on the dashboard

The pilot phase involved only a few merchants, and during this period, the terminals were manually created for the merchants by the Paystack team. When we established that there was a need for Virtual Terminals in the market, and that it was working effectively, we decided to scale the product to all merchants. Therefore, it was important to provide a way for merchants to create and manage their Virtual terminals on their Paystack dashboard.

1st iteration

The initial plan for the dashboard flow was to enable merchants to:

  • Create a Virtual Terminal and add a WhatsApp number to receive transaction notifications. (At this point, the idea was to have just one WhatsApp number receive notifications for a Virtual Terminal).
  • View a list of all the Virtual Terminals they had created
  • View the details of a particular Virtual Terminal such as the list of all the transactions that had taken place on the terminal, and how much had been collected.
  • Preview, customise and download the Poster we had prepared for them to show to their customers.

1st iteration of VT on the dashboard showing an empty state with no Virtual Terminals created

1st iteration of the empty state for the dashboard flow

1st iteration of th emodal to create a Virtual Terminal

1st iteration of modal to create a new Virtual Terminal. In this iteration, only one WhatsApp number could be added to a Virtual Terminal

1st iteration of the screen that shows the list of Virtual Terminals a merchant has created

1st iteration of the Virtual Terminal list

the transactions screen of the virtual terminal showing the different transactions that have been carried out on that terminal

1st iteration of the Virtual Terminal details page

the screen showing a Virtual Terminal poster, giving users the ability to customise the terminal to suit their brand colours or download the Virtual terminal in the default colour

1st iteration with option to customize the Virtual Terminal

After working on the first iteration, we received some feedback from our Pilot Merchants:

  1. Some Merchants complained that they had different sales agents on rotation and having just one WhatsApp number on a Virtual Terminal meant that an agent on a different shift had to still call the agent with the registered number to confirm transactions.
  2. To solve this, we introduced the idea of adding multiple WhatsApp numbers (up to 5) to receive transaction notifications for a particular Virtual Terminal.

  3. The customisation flow was closely linked to the idea of the QR code being the most prominent thing on the poster. When we decided to prioritise bank transfers over card payments, it made less sense to allow customisation and we decided to remove that flow

Based on the feedback we received, we worked on the 2nd iteration of the dashboard flow. In this new version, merchants are able to:

  1. Create a Virtual Terminal and add up to 5 WhatsApp numbers to receive transaction notifications
  2. View a list of all the Virtual Terminals they have created
  3. View the details of a particular Virtual Terminal such as the list of all the transactions that have taken place on the terminal, and how much had been collected.
  4. Preview and download the Poster we have prepared for them to show to their customers.
  5. See all the WhatsApp numbers that have been added to a Virtual Terminal, and edit or delete them.

section icon

USABILITY TESTING

After completing the design of the dashboard flow, we decided to test with some merchants to ensure that the flow was intuitive and usable. Some of the problems that we identified from our research were:

  1. It was not explicitly communicated to Merchants how many Virtual Terminals they could create, or how many WhatsApp numbers they could add.
  2. To solve this, we updated the copy in various parts of the dashboard flow ensuring that Merchants had all the information they needed to properly utilise the Virtual Terminals.

  3. The poster we provided for the Merchants was ink heavy, and if not printed well, could lead to low quality posters that were less vibrant than what we had initially intended
  4. We wanted to encourage merchants to use the posters we designed for them, so we decided to include a black and white poster option for download. It would require less ink and expertise to print, and it would help us maintain consistency in what our merchants were showing to customers.

  5. To create Virtual Terminal bank account names, we had decided to add business names as pre-fixes to the terminal names provided by merchants. However, we had not explicitly communicated this to merchants at any point and it was confusing when they saw the prefix on their account names.
  6. This was also a case of a change in copy. We updated the copy so that at the point of Virtual Terminal creation, a merchant was clearly informed about what his Virtual Terminal’s bank account name would be.

We implemented these solutions in the dashboard designs, and the design was finally ready for development.

section icon

FINAL OUTCOMES

Final UI designs of the dashboard flow and Virtual Terminal poster

Dashboard flow

  1. Empty State
  2. Virtual Terminal empty state, with a video introducing Virtual Terminals and a button to create a Virtual Terminal.

    image showing the final design of the empty state screen
  3. Modal flow for creating a Virtual Terminal
  4. We thought about hiding the helper text in info icons to achieve a cleaner UI, but this was important information that we did not want any merchant to miss so we had to trade-off.

    final version of the flow to create a new virtual terminal
  5. Virtual Terminal list
  6. Merchants can see a list of all the Virtual Terminals they have created.

    final version of the virtual terminal list view
  7. Virtual Terminal detail page
  8. Details of the Virtual Terminal and the 2 options for the Virtual Terminal Posters.

    final version of the virtual terminal detail page
  9. Virtual Terminal Poster page
  10. The name of the Virtual Terminal can be edited as shown on the left side. Clicking on any of the Poster options will download the Poster (as shown on the right).

    final version of the virtual terminal poster page
  11. Transactions page
  12. Transactions section showing a list of all transactions on the Virtual Terminal.

    final version of the transactions page
  13. Notifications page
  14. Notifications section to view, edit and delete WhatsApp numbers on a Virtual Terminal.

    inal version of the notificatiosn section

Virtual Terminal Poster

After working on the 2nd iteration of the poster, we received some feedback from merchants about customers being confused by the bank details on the page. Paystack had just collaborated with Titan bank to have Paystack-Titan bank, and this was not yet widely known to customers. To eliminate the confusion, we added labels to the bank details on posters.

final version of the Virtual terminal poster
section icon

IMPACT

section icon

LESSONS

Build with your users, and continuously iterate

Throughout this project, we iterated a lot. We were constantly getting feedback from pilot merchants and we kept using that feedback to develop and shape our designs and decisions. There will be more feedback as the product scales, and the plan is to keep working on that feedback until Virtual Terminal gets to the best possible version.

WANT TO SEE MORE?

image of the next project - Panda

Panda

Designing “Canva for Paystack”

UX Research. Design.

Content guide