1. Store card for future use
The first step is to store the card data for future use. Use the checkout session as described in the quick-start to store the card details as a new payment method in the vault. This can be done either at the time of creating a transaction by setting thestore property to true,
or when creating a new payment method
directly from the checkout session.
Set store only when you first save the card. Storing the same card again creates
a new payment method instead of reusing the existing one.
The returned payment method includes details about the card that was used, as well
as the id of the payment method that can be used in the next step.
2. Collect the CVV
At checkout, Secure Fields can be used to collect the CVV for a previously stored card. When initializing Secure Fields, pass thepaymentMethod object with both the id and scheme of the previously stored card. This enables proper validation for the security code based on the card scheme (for example, 3 or 4 digits) and provides the appropriate security code label (CVV, CVC, CID) in the field data.
The
paymentMethodId prop is deprecated but still supported for backward compatibility. We recommend using the new paymentMethod prop to benefit from scheme-specific CVV validation.3. Create a transaction
When Secure Fields is submitted, it collects the security code for the stored payment method. You can then create a transaction with the checkout session much like a regular Secure Fields transaction.3-D Secure with a stored card
Native 3-D Secure in Secure Fields also works with a stored card. Secure Fields runs 3-D Secure against the checkout session, which uses the stored card.- Create a checkout session with the transaction context, as described in Secure Fields and 3DS.
- Initialize Secure Fields with the
paymentMethodof the stored card, as described in collect the CVV. - Add the 3-D Secure component, as described in initialization.
- Call
submit(). Secure Fields runs 3-D Secure and fires the start and finish events. - Create a transaction with the checkout session.