Overview of Primer's Vault
Securely store payment method information
Primer's Vault is a centralized PCI-DSS Level 1 service you can use to store the details of a customer payment method in a unified way.
Sensitive payment data is stored as a secure multi-use paymentMethodToken
that enables:
- recurring merchant-initiated payments
- a seamless one-click experience for your customers with Universal Checkout
Each paymentMethodToken
is paired with a customerId
which uniquely identifies identify a customer. You can use any unique identifier for this such as a UUID or an email address.
This customerId
is required for:
- generating a client session to allow Universal Checkout to present your customer's vaulted payment data for one-click checkout
- creating a payment request using
vaultOnSuccess
to save the customer's payment data once it has been successfully authorized - managing stored payment data with the Payment Methods API to allow customers to add and delete vaulted payment method data from your site or app
Intelligently optimized for auth rate approval
We're fanatical about improving payments success. Primer will intelligently store data returned from your underlying processors to ensure the highest likelihood of success for recurring payments. This includes SCA authentication data as well as other data returned from card schemes and acquirers.
Add payment methods to the vault
Not all payment methods can be added to Primer's centralized vault. Refer to our payment method guides to know more about the capabilities of each payment method.
Vaulting a payment method starts by capturing the payment method credentials using Drop-In Checkout or Headless Checkout.
You will then encounter two distinct behaviors:
- Vault the payment method directly after the user has completed the payment method flow
- Vault after a successful authorization
Vault directly
To vault a supported payment method directly, additional options have to be passed to the SDK. Check the payment method guides to properly configure the Drop-in Checkout and Headless Checkout to vault each compatible payment method.
Vault after a successful authorization
For card-based payment methods (Cards, Google Pay and Apple Pay), it is recommended to vault after a payment has been successfully authorized. This ensures the card is valid and is suitable for making payments.
Primer supports this flow out of the box using the paymentMethod.vaultOnSuccess
flag in the Client Session API or the Payments API. When this flag is set to true, and if the payment method supports it, the payment method credentials are automatically added to the vault once the payment is successfully authorized.
Make sure to also pass customerId
to specify the customer's vault this payment method should be added to.
Make payments with a vaulted payment method
Simplify the drop-in payment flow
Vaulted payment methods appear automatically on the drop-in checkout if customerId
has been provided in the client session and the customer has vaulted payment metohds stored with Primer. This enables your customers to seamlessly pay with one of their saved payment method.
We recommend to set paymentMethod.paymentType
to ECOMMERCE
in the client session or payment request. This ensures the right data is sent to the processor to maximize the authorization rate.
Recapture the CVV of saved cards
PCI standards prevent entities like Primer from storing the CVV of a card when saving the card credentials for future payments.
This means that subsequent card-on-file customer-initiated payments are always processed without the CVV.
Although Primer sends the relevant parameters to tell each processor when a card-on-file payment occurs, some processors or issuers have a lower authorization rate when the CVV is not provided.
To increase the chances of payment success, Primer enables you to ask the customer to re-enter the CVV of the selected saved card before processing the payment.
Enabling CVV recapture on Drop-in Checkout
Include the captureVaultedCardCvv
option within the PAYMENT_CARD
payment method options in the POST /client-session
request. When set to true
, this flag activates the CVV recapture functionality in the Drop-In implementation, providing an out-of-the-box solution for transactions with vaulted payment cards.
Example Request:
12345678910
POST /client-session{ "paymentMethod": { "options": { "PAYMENT_CARD": { "captureVaultedCardCvv": true } } }}
Create merchant-initiated payments
You can use the Payment Methods API and the Payments API together to create merchant-initiated payments with a saved payment method.
- 1
First, make a call to GET
/payment-instruments
to get the list of payment methods tied to acustomerId
. Each entry in the list contains atoken
representing the payment method token to use to create a payment. - 2
Then, create a payment by calling POST
/payments
. In addition to the required fields for creating a payment, pass the following data:
Field | Description |
---|---|
The vaulted payment method token | |
Type of payment. Used to improve conversion.
|
Manage vaulted payment methods
With the Payment Methods API
The Payment Methods API lets you interact with the vaulted payment methods for all your customers.
Use the Payments API to:
- retrieve the saved payment methods associated to a customer with GET
/payment-instruments
- delete a saved payent method with DELETE
/payment-instruments/{paymentMethodToken}
With Drop-in Checkout
When using Drop-in Checkout, customers have the ability to remove any of their previously vaulted ones.