Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.payvessel.com/llms.txt

Use this file to discover all available pages before exploring further.

PayVessel USD virtual cards let your customers pay online at international merchants. You integrate through the external API using your business API key and secret; PayVessel handles issuer enrollment, card lifecycle, and wallet debits for funding. Use the API reference pages for each endpoint — they include a Try it playground (same pattern as Virtual Accounts), with api-key and api-secret headers and sandbox/production server selection.

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

Base URL

All virtual card endpoints live under:
/pms/api/external/request/virtual-cards/
EnvironmentBase URL
Productionhttps://api.payvessel.com
Sandboxhttps://sandbox.payvessel.com
Example: POST https://api.payvessel.com/pms/api/external/request/virtual-cards/
Authentication matches other PayVessel external APIs. See Authentication for api-key and api-secret headers.

What you can do (external API)

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, issuer balance
Fund cardDebit business USD wallet; credit card balance at issuer
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 at the issuer
Fee quotesCalculate charges before create, fund, or withdraw
Customer cards only. Business (merchant) cards are created from the PayVessel merchant dashboard, not the external API.

Integration flow

1

Quote creation cost

Use Card Fee Quote to show issuance and funding charges before debiting the wallet.
2

Create the card

Call Create a Card with customer KYC. Optionally include prefund_amount (minimum $3 USD when provided).
3

Wait for activation

New cards return status: PENDING. Poll Get a Card until ACTIVE and card_number is present (usually seconds; allow up to a few minutes).
4

Fund or let customer spend

Use Fund a Card for top-ups. Card spends are handled by the issuer; use Get Card Transactions for history.
5

Withdraw or terminate

Use Withdraw from a Card to return USD to your wallet, or Terminate Card to close the card.

Customer KYC (external API)

The external API requires full Nigerian KYC on every create request. customer_id is not accepted — existing customers are matched by email.
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
See Create a Card and KYC overview.

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).
The issuer holds the spendable card balance. PayVessel syncs balance on the card object from the issuer after fund, withdraw, and issuer events. Do not assume your local ledger equals issuer balance without calling Get card.
Merchant charges (AUTHORIZATION, SETTLEMENT, etc.) reduce card balance only. They do not debit your business wallet. Query transactions for spend history.

Card statuses

StatusMeaning
PENDINGIssuer is creating the card; no PAN yet
ACTIVECard can be funded and used
FROZENSpend blocked; fund/withdraw may still be restricted
TERMINATEDClosed; balance settled to wallet
FAILEDIssuer rejected creation

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
429External API rate limit
Responses use { "status": true|false, "message": "...", "data": ... }. Validation errors may include a errors object.

Best practices

Poll activation

After create, poll Get card until ACTIVE before showing PAN-dependent UI.

Quote before debit

Always show fee quotes before charging your user.

Idempotent UX

Store PayVessel card_id and transaction id for support — issuer references are not exposed in API responses.

Server-side only

Never call the external API from mobile or browser; keep secrets on your backend.

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.

Create a Card

Guide

Create a Card

API reference

Get a Card

API reference