Ensure Stripe Issuing is enabled on your Connect platform account (requires Stripe approval); create or select a connected account that will hold the cardholder and card resources.
Create a Cardholder via POST /v1/issuing/cardholders specifying type=individual, name, email, and billing address — this represents the seller or recipient who will receive the virtual card.
Create a virtual card via POST /v1/issuing/cards with cardholder (the cardholder ID), currency, type=virtual, and spending_controls (optional: set single_use to true and restrict to a single authorization if issuing a one-time disbursement card).
Retrieve the sensitive card details (card number, CVC, expiry) via GET /v1/issuing/cards/{id} with the expand[]=number parameter — display or transmit these to the cardholder securely over an encrypted channel; do not log raw card numbers.
Fund the Issuing balance by transferring funds from your platform Stripe balance to the connected account's Issuing balance via POST /v1/transfers with destination set to the connected account; the Issuing balance is drawn down as authorizations are approved.
Listen for the issuing_authorization.created webhook to monitor card usage; for spending-controlled single-use cards, validate that the authorization amount matches your intended disbursement and approve or decline accordingly via POST /v1/issuing/authorizations/{id}/approve or /decline.
Known gotchas
Stripe Issuing virtual cards disperse funds only when the cardholder spends them at a merchant — they do not function as an instant bank transfer; if the seller does not spend the card within its validity period, funds remain on the card and must be reclaimed by canceling the card and reconciling the unused balance.
Retrieving raw card number and CVC via API requires PCI-compliant handling — the expand[]=number call must only be made server-side in a PCI-scoped environment; never pass raw card data through a browser or unscoped microservice.
Issuing balance is separate from your platform's Stripe Payments balance — you must explicitly top up the Issuing balance before cards can be authorized; authorizations against an underfunded Issuing balance will be declined.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp