This guide describes developer implementation for virtual cards. For general information and use cases, see <a href="doc:choose-a-card-strategy#virtual-cards" target="_blank">Virtual cards</a> in the _Choose Your Card Strategy_ guide.

For information about digital cards, see <a href="doc:choose-a-card-strategy#digital-cards" target="_blank">Digital cards</a> in the _Choose a Card Strategy_ guide.

To create a virtual card account you must first set up a virtual card product. See [Galileo setup](🔗) for the parameters. This card product does not have embossing information included with it.


There is a difference between virtual _cards_—cards that do not have a physical counterpart—and virtual _accounts_, which are accounts that do not have cards, such as savings or overdraft accounts.

As part of a virtual-card product setup, you must submit at least one virtual card template to Galileo. Follow the instructions for digital card design in the <a href="doc:design-a-card" target="_blank">Design a Card</a> guide.

## Creating a virtual card account

Consult this table for the endpoints to use when creating a virtual card account. In all cases, the `prodId` must be for a virtual card account.


Because the card is active upon creation, Galileo sends the `BACT: card_activated` event webhook.

Use CaseEndpoint
Onboard a new customer and issue a virtual card<a href="ref:post_createaccount" target="_blank">Create Account</a><br><br>(<a href="doc:create-account-procedure" target="_blank">Creating an Account</a> guide)
Onboard a new customer and issue a virtual card. You must be PCI compliant to use this endpoint.<a href="ref:post_createvirtualcard" target="_blank">Create Virtual Card Account</a><br><br>(<a href="doc:create-account-procedure" target="_blank">Creating an Account</a> guide)
Add a virtual card account to an existing customer record<a href="ref:post_addaccount" target="_blank">Add Account</a><br><br>(<a href="doc:add-account-procedure" target="_blank">Adding an Account</a> guide)

## Presenting the virtual card

After the card account has been created, you can retrieve the card image to display in your app or on your web site. Follow the instructions for <a href="doc:retrieving-card-information#digital-card-images" target="_blank">Digital card images</a> in the _Retrieving Card Information_ guide.

## Upgrading to a physical card

If you are using a Virtual First strategy—where you issue a virtual card first, then upgrade to a physical card for cardholders who meet certain criteria—follow the instructions in <a href="doc:switching-products#use-case-2-product-switch-with-reissue-and-same-pan-and-expiry" target="_blank">Use case 2: Product switch with reissue and same PAN and expiry</a> in the _Switching Products_ guide.

## Galileo setup

These internal parameters must be set at Galileo, according to your use case.

NNEXPProductPrevents a new expiry from being generated for the physical card. Set to `Y` for virtual cards to be upgraded to physical by product switch (Virtual First) or for digital images of physical cards (Digital First).
TSECVProgram or productMaximum seconds of access-token validity (default: 300) when retrieving the virtual card image.
TUSECProgram or productMaximum times an access token can be used (default: 3) when retrieving the virtual card image.