Paystack is a payment processing company based in Lagos, Nigeria. In 2023, Paystack launched Virtual Terminal, a payment channel that allows merchants to accept in-person payments without physical POS devices. This solution was developed to address key pain points faced by merchants: high costs of physical terminals, limited support for international cards, and inefficiencies in handling bank transfers. Virtual Terminal offered a low-cost, efficient alternative to physical POS devices, improving payment processing for businesses of all sizes.

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

TIMELINE

The project spanned 3–4 months from concept to launch, involving multiple iterations, user research phases, and usability testing cycles to refine the design.

section icon

ROLE

As the Product Designer, I worked closely with the design team lead, engineers, and the marketing team. My responsibilities included leading the design of the payment page, and dashboard flows. I also played an active role in usability testing, gathering merchant feedback, and iterating on designs to ensure the solution met merchant needs.

section icon

IMPACT

section icon

THE PROBLEM

In 2022, Paystack launched Terminal, a physical 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. The main problems were:

1. High Costs:

Small businesses struggled with the initial cost of physical terminals, and larger businesses found it expensive to scale across multiple payment points.

2. Limited Payment Options:

The devices did not support international cards, causing friction for merchants who served foreign customers.

3. Bank Transfer Delays:

Small businesses relying on bank transfers to collect payments (because they could not afford physical terminals) experienced significant delays in transaction notifications, leading to long customer wait times and confusion.

section icon

OBJECTIVE

To create an affordable, accessible solution for merchants to accept in-person payments, while improving transaction efficiency, enabling international payments, and reducing customer wait times.

section icon

GOALS

section icon

RESEARCH & BRAINSTORMING

Working closely with the product team and other stakeholders, we defined how the Virtual Terminal would function and identified the pain points to address. Through customer conversations and pilot testing, we identified three key components to build:

Designing the payment Page

1st iteration: I began with a mobile-first design to prioritise ease of use. The first design was a 2 step process, with users inputting their basic information in the first page and then choosing a payment option on the second page.

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

During user testing, Merchants expressed the need for quick access to payment options, and the importance of showing the different card types that were accepted, so I simplified the flow to reduce friction. The new iteration had just one page collecting the amount to pay and the payment options, changing the flow from 2 steps to 1, and reducing the amount of time needed to make payment.

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

Low fidelity design of the second iteration of the payment page with one page for capturing customer details

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

High fidelity design on the second iteration of the payment page with one page for capturing customer details

Designing the Poster

There were 4 main things we were employing the poster 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.

1st iteration: Early designs emphasised the QR code as the main payment channel. The idea was that since scanning the code opened up the payment page that had most of the payment channels, it was the most important thing to show.

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

During user testing, merchants indicated that they would prefer the bank account number to be the most prominent, as that was the channel that most users used to make payments. Based on this, we shifted the focus of the posters to the bank accounts. In a subsequent iteration, we also added labels to the bank details to reduce user confusion we noticed during testing.

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

Final version of the Virtual Terminal Poster with bank transfers emphasised.

Designing Dashboard flows

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 user testing of the 1st iteration, we updated the designs to do the following based on user feedback:

  • Allow up to five WhatsApp numbers per terminal, accommodating larger teams.
  • Remove poster customisation, providing pre-designed templates for ease of use.
  • Refine the copy for clearer instructions regarding account naming and terminal limits.

section icon

FINAL DASHBOARD OUTCOMES

Final UI designs of the 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 notifications section
section icon

IMPACT

  • Achieved Payment Volume Parity: Within six months, Virtual Terminal matched and exceeded the payment volume of physical POS devices, processing $2,000,000+ in monthly transactions. This demonstrated its effectiveness as a scalable alternative.
  • Expanded Payment Options: Merchants gained the ability to accept international payments seamlessly, opening new revenue streams.
  • Improved Merchant Experience: Real-time WhatsApp notifications empowered merchants to respond quickly to transactions, reducing customer wait times and improving service delivery.
  • Enhanced User Trust: Clear communication and intuitive design led to higher merchant adoption and satisfaction rates.
section icon

LESSONS

  • User Feedback is Critical: I learned that the success of the product depended heavily on the iterative feedback we received from merchants. Each cycle of testing uncovered valuable insights that helped refine the final product.
  • Clarity Leads to Trust: Clear, simple communication in both the UI copy and design choices was essential in building trust with merchants and ensuring the product’s usability.
  • Continuous Iteration: The project reinforced my belief in the importance of continuous iteration. Every small change, guided by real user feedback, contributed to a significantly better product.

CHECK OUT MY NEXT PROJECT

image of the next project - Panda

Panda

Designing “Canva for Paystack”

UX Research. Design.