Visa Flexible Credentials [beta]

Visa Flexible Credentials (VFC) is a cutting-edge solution that allows issuers to provide consumers with greater control over how they pay. It enables a single card to access multiple funding sources, such as debit, credit, prepaid, and installment plans. The funding sources offered depend on region. These funding sources (including when they are accesed with cards) are known as credentials.

Implementing VFC supports real-time decisioning, and opens the door to hyper-personalized financial experiences. Pismo provides a VFC API to implement this feature.

VFC Managed deployment

Pismo offers the VFC Managed deployment model to clients. With VFC Managed, Visa handles the VFC's infrastructure and management. This contrasts with VFC Self-Serve, where the issuer manages the infrastructure and functionality. VFC Managed allows issuers to easily integrate VFC capabilities into their existing systems and offers features like automated credential issuance and management, as well as integration with Visa's payment infrastructure.

Why use Pismo's VFC APIs

  • Pismo handles and manages Visa's required cryptography to integrate with Visa's VFC APIs.
  • Pismo securely handles PCI (Payment Card Industry) sensitive data on the issuer's behalf.

VFC card setup

Setting up a card and credentials in VFC means linking a single physical or digital card to one or more alternate funding and enabling dynamic control over how payments are routed at the time of transaction.

Instead of having one card for each funding type (like a debit card, a credit card, or prepaid card), you enroll a card into the VFC program so that it can access alternative funding sources. Users can designate a primary funding source (default) and one or more secondary credentials as a fallback. Then, depending on the cardholder's preferences, you can create transaction rules to enable which card source to use at checkout.

VFC set up involves:

  1. Enrolling two credentials (primary and secondary) in VFC. You need to enroll each credential individually.
  2. Configuring a primary to secondary relationship between the two credentials.
  3. Setting up VFC rules YYou set rules for when to use your primary card and when to swap to use your secondary card. Additionally, you can limit VFC to specific transaction types, merchants, and purchase categories.

Users can designate one of their secondary credentials that VFC uses when the preferred chosen credential is unavailable or unusable for a given transaction. The credential is typically a traditional card (like a standard debit or credit card) that you've enrolled in the system and authorized to serve as a backup.

VFC transaction flow

When you attempt a transaction using a VFC card, the system first determines if the card is enrolled in the VFC program. If not, normal processing continues. If it is, then the appropriate VFC rules are applied. These rules determine whether the primary or secondary credential funding source is used. If that source fails—normal processing applies - the transaction is declined to the acquirer and merchant as-is.

VFC use cases

Use case #1

Scenario:

A cardholder has access to VFC and enrolls both a Debit card and a Credit card. The cardholder wants to set a VFC rule so that while their Debit card is their primary credential, a transaction is re-routed to the Credit card if the transaction amount is above AUD 100.

Implementation

The client calls the Create rules endpoint passing the following parameters and values:


scope.controlType = TCT_GLOBAL // Transaction control type (TCT) global

scope.cardHolderBillAmount.minAmount = 100 // Minimum transaction amount allowed

Use case #2

Scenario

The cardholder (with the same two cards/credentials as Use case #1) sets a budget for dining out and doesn't want to spend more than EUR 60.00 on credit on any restaurant in the next week (1st - 7th February 2029). In other words, the first 60 goes on credit and the rest from debit.

Implementation

The client calls the Create rules endpoint passing the following parameters and values:

source.controlType = MCT_DINING  // Merchant Category Type (MCT) dining

scope.cardHolderBillAmount.maxAmount = 60

scope.timeRange.startTime = 2029-02-01T00:00:01 // February 1

scope.timeRange.endTime = 2029-02-07T23:59:59   // February 7


Did this page help you?