Card Issuance

What Is Card Issuance?

Card issuance is the process of creating a new virtual Visa card via Bitnob’s API. You can create cards on-demand for:

Individual users (wallets, platforms, loyalty programs)

Internal teams (corporate spend, operational budgets)

Temporary use cases (marketing campaigns, influencer spend)

Programmatic flows (auto-issue card when user receives a payout or tops up)

Bitnob works with licensed issuing banks and Visa card program managers to make the card available instantly. You interact with Bitnob — we handle the infrastructure behind the scenes.


1

When Should You Issue a Card?

scenario
strategy
End-user wants to shop online
Issue a general-purpose card linked to their Bitnob wallet
Subscription use case
Issue a persistent card, allow recurring transactions
Business spend
Issue per-employee or per-department with spend limits
One-time purchase
Create disposable cards and auto-terminate after use
Auto payout → spend flow
Issue card at payout time, preload it, and send it to user
Non-technical users
Create cards from dashboard (coming soon)

2

Supported Card Type

property
value
Card Scheme
Visa
Card Type
Virtual (no plastic)
Currency
USD
Spend Scope
Online-only (CNP: card-not-present)
Issuance Time
Instant
3DS Support
Not currently enabled (coming soon)

3

Pre-requisites

requirement
description
API Key
Use your Bitnob production or sandbox API key
Funding Source
You must have a wallet or balance from which cards can be funded
KYC
You are responsible for verifying your end users before creating cards on their behalf

Bitnob enforces platform-level KYC. Additional cardholder KYC may be required based on volume, spend limits, or regulatory scope.


4

API Endpoint

For full request and response details, see the Create Card API Reference.

API Endpoint
Request Body
JSON Request Body
Parameters
field
type
required
description
card_type
String
Yes
The type of card to issue. Accepted values: virtual, physical, or lite.
name
String
Yes
The cardholder's full name as it will appear on the card.
currency
String
Yes
The currency denomination for the card (e.g., USD). All transactions will be settled in this currency.
amount
Integer
Yes
Initial funding amount in microunits (e.g., 5000000 = $50.00 USD, where 1 USD = 100000 microunits).
webhook_url
String
No
Callback URL to receive webhook events for this card.
created_by
String (UUID)
No
The ID of the user or admin creating the card.
contactless_payment
Boolean
No
Enable contactless (NFC/tap) payments on the card.
customer
Object
Yes
Customer details including customer_type, first_name, last_name, date_of_birth, id_type, id_number, email, phone_number, dial_code, and address fields (line1, city, state, postal_code, country).
card_limits
Object
No
Spending limits for the card. Includes single_transaction, daily, weekly, and monthly limit fields.
Example Response
JSON Response

5

Webhook: virtualcard.created.complete

After a card is successfully created, Bitnob will send a webhook to your callback URL. For full webhook details, see the Card Issuing Webhooks page.

Webhook Payload

Always verify webhook signature and use the webhook as the source of truth for downstream actions (e.g., showing card in UI).


6

Best Practices

tip
why
Always label your cards
Makes dashboards and ops audits easier
Store card metadata securely
You will not receive PAN and CVV again
Assign cards to userReference IDs
Enables transaction mapping and user visibility
Handle webhook verification
Prevents spoofed or replayed events
Build a freeze button in your UI
Users want control if something goes wrong

7

FAQ

Q:Can I issue multiple cards per user?
A:

Yes. A user can have up to three (3) active cards at any given time.

Q:How long does card creation take?
A:

Cards are created instantly via our regulated partners.

Q:Are the cards reusable?
A:

Yes, until you freeze, terminate, or the card expires.

Q:What happens if I call create again with the same userReference?
A:

You will create a second card. To avoid this, use idempotency or track active cards in your system.


Share on
Share on FacebookShare on XShare on LinkedIn
Did you find this page useful?