Skip to main content
PayVessel virtual card API lets you issue USD virtual cards (Visa and Mastercard) so your customers can pay online at international merchants. You integrate through the PayVessel API using your business API key and secret; PayVessel handles card enrollment, card lifecycle, and wallet debits for funding.

Virtual cards

PayVessel issues virtual Mastercard and Visa cards in USD that work on all platforms.
Validity3 years
Limit per transaction$10,000
Card balance limit$100,000
Successive declinesCard is terminated after 3 consecutive declines
Unfunded cardsCard is terminated if not funded within 3 weeks of creation

Where can cards be used?

PayVessel virtual USD cards are accepted at merchant sites that accept USD cards: commonly US merchants such as Meta (Facebook), PayPal, Google, Snap Inc., Canva, and many more. Some merchants may decline the card. Restrictions are identified by MCC (Merchant Category Code). The following MCCs are not supported:
MCCDescription
4829Money Transfers
5962Travel Related Arrangement Services
5966Outbound Telemarketing Merchants
6051Non-Financial Institutions / Cryptocurrency
6211Security Brokers / Dealers
7273Dating and Escort Services
7297Massage Parlors
7800Government-owned Lotteries
7801Government-licensed Online Casinos (Online Gambling)
7802Government-licensed Horse/Dog Racing
7995Betting and Online Gambling

Restricted countries

Cards cannot be used in countries subject to geographic sanctions, including: Algeria, Afghanistan, Belarus, Burundi, Central African Republic, Comoros, Congo (Democratic Republic of the), Congo (Republic of the), Cuba, Gambia, Iran, Iraq, Korea (North), Kyrgyzstan, Lebanon, Liberia, Libya, Maldives, Myanmar, Nicaragua, Palestine, Russian Federation, Serbia, Somalia, South Sudan, Sudan, Suriname, Svalbard and Jan Mayen, Syrian Arab Republic, Tajikistan, Togo, Tokelau, Turkmenistan, Ukraine, Uzbekistan, Venezuela, Wallis and Futuna, Yemen, and Zimbabwe. If you encounter acceptance issues, contact support@payvessel.com.

Create a Card

Issue with KYC and prefund

Get all Cards

List cards and status

Fund a Card

Load USD from business wallet

Card Fee Quote

Calculate fees before create or fund

What you can do

CapabilityDescription
Create customer cardEnroll or upgrade customer KYC, issue a USD virtual card, prefund from your business USD wallet
List / get cardTrack PENDINGACTIVE, masked PAN, card balance
Fund cardDebit business USD wallet; credit the card balance
WithdrawMove USD from card back to business wallet (minimum $3)
Freeze / unfreezeTemporarily block or restore card spend
TerminateClose card; remaining balance returns to business wallet (minus fees)
TransactionsCard spend, funding, and withdrawal history
Simulate transactionSandbox-only test spend/credit simulation
Fee quotesCalculate charges before create, fund, or withdraw

Customer KYC

The PayVessel API requires full Nigerian KYC on every create request.
FieldRequiredNotes
first_name, last_nameYesCustomer legal name
email, phoneYesNigerian phone format
bvn, ninYes11 digits
dobYesYYYY-MM-DD
imageYesBase64 identity image
state, lga, street, postal_codeYesAddress
brand, currencyYesUSD only
prefund_amountNoOptional; minimum $3 USD when provided

Money movement

Fund and create-time prefund debit your PayVessel business USD wallet (managed wallet). Withdraw and terminate credit it back (withdrawal fee may apply).
PayVessel holds and syncs the spendable balance on the card object after fund, withdraw, and card activity. Do not assume your local ledger matches the API balance without calling Get card.
Merchant charges (AUTHORIZATION, SETTLEMENT, etc.) reduce card balance. PayVessel will charge applicable fees to your business USD wallet.

Card statuses

StatusMeaning
PENDINGPayVessel is provisioning the card; no PAN yet
ACTIVECard can be funded and used
FROZENSpend blocked; fund/withdraw may still be restricted
TERMINATEDClosed; balance settled to wallet
FAILEDCard creation failed

Fees

Use Card Fee Quote to calculate fees for a given operation (issuance, funding, withdrawal, spend, etc.) before debiting your wallet. Funding fee tiers:
  • Below tier threshold: flat fee in USD
  • At or above tier: percentage of fund amount

Error handling

HTTPTypical cause
401Missing or invalid api-key / api-secret
400Validation (KYC, minimum amounts, insufficient wallet balance)
404Unknown card_id for your business
429API rate limit
Responses use { "status": true|false, "message": "...", "data": ... }. Validation errors may include a errors object.

Security best practices

Do not store card credentials

Never persist card_number, cvv, or expiry in your database, cache, session storage, or mobile secure storage. Store only the PayVessel card_id and non-sensitive metadata (status, masked_pan from list).

Fetch when needed

When your customer must view or use the card, call Get a Card from your backend at that moment. Return credentials to your client over HTTPS only for the active session: do not keep them after the user leaves the screen.

Server-side only

Never call the PayVessel API from a mobile app or browser with api-key / api-secret. All create, fund, and credential retrieval flows must run on your server.

Never log sensitive data

Do not write PAN, CVV, or expiry to application logs, crash reports, analytics, webhooks you forward, or support tickets. Redact these fields in any debug output.

Guides and API reference

Conceptual guides (how it works, use cases) live under Guides → Issuing. Technical schemas, Try it, and cURL samples live under API reference → Issuing.

Webhooks

Events and transaction types

Create a Card

Guide

Create a Card

API reference

Get a Card

API reference