Vault cards for future transactions

Clover Remote Pay SDKs, Payment Connector SDK, and Ecommerce API provide functions to capture an encrypted card token and store or vault it for later use. This allows merchants to process recurring payments or complete in-person transactions more quickly for returning customers. Card tokens are one-way encrypted and can be stored on systems that are not in the Payment Card Industry Data Security Standard (PCI DSS) scope.

Prerequisites

Regional limitations, driven by law or regulation, and a merchant's individual settings combine to determine whether card vaulting is allowed for a particular merchant. For example, merchants in Argentina, the UK, and Ireland cannot use the card vaulting features. Further, merchants must be configured to accept and use vaulted cards; this can happen during initial merchant setup or after the fact.

Vault with Ecommerce API

Card data sent with the iframe or to the v1/tokens endpoint returns a token that can be used for subsequent transactions. See Using the Clover-hosted iframe for information.

Vault with Remote Pay

The CloverConnector#vaultCard method displays a screen on the Clover device prompting the customer to provide their card data. By default, the customer can swipe, dip, or tap their card. You can adjust the card entry methods allowed during the capture by passing the required values to vaultCard().

In the following example, manual card entry is allowed in addition to the defaults.

public void onVaultButtonTap() {
  getCloverConnector().vaultCard(cardEntryMethods.ALL)
}

Vault with Payment Connector

The PaymentConnector#vaultCard method displays a screen on the Clover device prompting the customer to provide their card data. By default, the customer can swipe, dip, or tap their card. You can adjust the card entry methods allowed during the capture by passing the required values to vaultCard().

In the following example, manual card entry is allowed in addition to the defaults.

public void onVaultButtonTap() {
  paymentConnector().vaultCard(cardEntryMethods.ALL)
}