All Collections
How To's
Sudo API and Dashboard
How to Create a Virtual Card using Sudo API
How to Create a Virtual Card using Sudo API

In this how-to guide, we'll take you through the step-by-step process of creating a virtual card using Sudo API.

Written by Hilda
Updated over a week ago

You must have just integrated the Sudo API and you're ready to create your first virtual card' Here is a step-by-step instruction for a successful procedure:


Creating a Funding Source

A funding source refers to the source from which funds are debited when a transaction occurs on a card. This can be the card’s wallet account or the client's settlement account. There are two basic types of funding sources:

  1. Default Funding Source: Funds are taken from customer wallets.

  2. Account Funding Source: Funds are taken from the default settlement account for that currency.

To create a funding source, click on Settings from your Dashboard Menu, then navigate to Funding Source, after the page loads, click on Add Funding Source

Funding Source page on Sudo Dashboard

A modal will show up, select the type of Funding Source you want to create. Then click Add Funding Source

Add Funding Source Modal, Sudo Dashboard

You are set to issue a card, before calling the /card endpoint, you need to create a customer i.e. the card holder. See how.

To create a card, send a POST request to (for sandbox environment), with the payload as the request body:

"debitAccountId": "Your settlement Account ID",
"customerId": "ID of the Customer you want create card for",
"fundingSourceId": "ID of the Funding Source",
"brand": "Verve",
"type": "virtual",
"currency": "NGN",
"issuerCountry": "NGA",
"status": "active",
"spendingControls": {
"allowedCategories": [],
"blockedCategories": [],
"channels": {
"atm": true,
"pos": true,
"web": true,
"mobile": true

We hope this article was helpful. If you have any further questions or need assistance, feel free to contact us via email at [email protected] or through Intercom or social media @sudoafrica.

Did this answer your question?