Virtual Cards (USD & NGN)
Learn how to issue virtual cards.
Overview
Creating virtual cards with Mono Issuing
Learn how to create a virtual bank card via APIs in 3 simple steps.
Step 1: Get Account Holder ID β‘
Step 2: Create a Virtual Card β‘
Step 3: Get Card Details β‘
Step 1: Get Account Holder ID
The Account holder ID is required to issue a virtual card. If an Account Holder doesnβt exist at the moment, please visit the documentation page above to get started. As a business or developer, you can also get a list of all created Account Holders with the Get Account Holders API.
API Reference β‘
curl --location --request GET 'https://api.withmono.com/issuing/v1/accountholders' \
--header 'mono-sec-key: live_sk_EtJWxTkkQEQn0vPrg2wc' \
--data-raw ''
{
"status": "successful",
"message": "Account holders fetched",
"data": [
{
"address": {
"country": "nigeria",
"lga": "ikeja",
"city": "ikeja",
"state": "lagos",
"postal_code": "100001",
"address_line1": "banana island",
"address_line2": "banana island"
},
"phone": "111109030841956",
"entity": "INDIVIDUAL",
"identity": {
"type": "NIN",
"number": "1111:10111222112",
"url": "https://mono-business-assets.s3.eu-west-2.amazonaws.com/identity-FunVlKB_OKMHuQFLCT5ek-test_1.png"
},
"bvn": "00000000000",
"email": "[email protected]",
"business": "6172811205af5c47a1f31e49",
"app": "60ffd3fee03417c574fa1f55",
"live": false,
"created_at": "2021-12-08T22:21:40.428Z",
"updated_at": "2021-12-08T22:21:40.428Z",
"id": "61b12ff41f933f527efc6c90",
"first_name": "ifeoluwa",
"last_name": "olanipekun",
"selfie_url": "https://mono-business-assets.s3.eu-west-2.amazonaws.com/identity-FunVlKB_OKMHuQFLCT5ek-test_1.png"
}
],
"meta": {
"total": 5,
"pages": 1,
"previous": null,
"next": null
}
}
Step 2: Create a Virtual Card
Here, we will create a virtual card and assign it to an account holder. This request contains the account holder ID
, the currency
(which can be either usd or ngn) and the amount
field for which the card will be funded immediately after the card has been created. Please note that the amount passed should be in the lowest denomination (e.g For USD 20, you would be passing 2000 cents instead).
API Reference β‘
curl --location --request POST 'https://api.withmono.com/issuing/v1/cards/virtual' \
--data-raw '{
"account_holder": "61a7363bc2d313658ce82d38",
"currency": "usd", // OR "ngn"
"amount": 10000 // USD 100
}'
{
"status": "successful",
"message": "Card creation is being processed",
"data": {
"id": "61bb3a0d5f53902db40eb478"
}
}
NOTES
- Mono returns a card object upon creation, and sends the
issuing.virtual_card_created
webhook event.
Step 3: Get Card Details
With a virtual card already created, we can get detailed information about this card via the created card ID.
API Reference β‘
curl --location --request GET 'https://api.withmono.com/issuing/v1/cards/61ad48adf9032a4fdd140d7f
{
"status": "successful",
"message": "Card fetched successfully",
"data": {
"id": "630ba6ca8f77d1341fd412345",
"disposable": false,
"status": "active",
"type": "virtual",
"currency": "USD",
"brand": "VISA",
"name_on_card": "Daniel Alves",
"balance": 3100,
"created_at": "2022-08-28T17:32:58.756Z",
"billing_address": {
"country": "US",
"street": "256 Chapman Road STE 105-4",
"postal_code": "19702",
"city": "Newark",
"state": ""
},
"card_number": "949eba2844880e33770307271ba960fe85f1df45398e98a6ccd0daf12345",
"card_pan": "484224******1234",
"cvv": "c11138bffee7e99e6c5c2c49f885bcbf1f25de5c2b633ade312345",
"expiry_month": "7099ac2cdfeab891080a3ab9f3163da9e30715f12345",
"expiry_year": "d6ec1967f2b16b9ecb918b69606ef93bf49be7f712345",
"last_four": "d9512f70a9d7a3d3780a145340a8aa11f6f28693c512345",
"account_holder": "61e05687f66f67be54321"
}
}
CARD DECRYPTION
Kindly refer to our guide here to decrypt card information.
Funding Virtual Cards
To fund a Live Virtual Card, you will only need to:
Fund Virtual Card
Proceed to make an API call to the Fund Virtual Card API to fund the desired card with the amount
field parsed into the body request.
API Reference β‘
curl --location --request POST 'https://api.withmono.com/issuing/v1/cards/61ad4c25a7fb0a544e4c5cc2/fund' \
--data-raw '{
"amount":"50000"
}'
{
"status": "successful",
"message": "Virtual Card Funded Successfully"
}
NOTE
Virtual card issuance fee will be taken from the USD wallet
Mock Card Transaction
In a sandbox environment, you can perform a mock amount on a Virtual card created in Sandbox via the ID.
API Reference β‘
curl --location --request POST 'https://api.withmono.com/issuing/v1/cards/61b354e233b1ba7122226907/mocktransaction' \
--data-raw '{
"amount": "20000"
}'
{
"status": "success",
"message": "Card Mock Transaction Sent Successfully"
}
Updated 4 months ago