Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
    Overview
    What is Terminal
    Design an integration
    Example applications
    Quickstart
    Accept an in-person payment
    Set up your reader
    Set up your integration
    Connect to a reader
    Collect payments
    Regional considerations
    Supported card brands
    Terminal payments features
    Multiparty payments with Connect
    Collect tips
    Save cards for future use
      Save directly without charging
      Save after payment
    Refund transactions
    Provide receipts
    Cart display
    Incremental authorizations
    Extended authorizations
    Operate offline
    Deploy at scale
    Order hardware
    Manage locations
    Configure readers
    References
    API references
    Bluetooth readers
    Smart readers
    SDK migration guide
    Testing
    Deployment checklist
    Stripe Terminal reader product sheets
Multiparty payments
After the payment
Add payment methods
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
Terminal
·
HomePaymentsIn-person payments

Save cards for online payments

Use your Stripe Terminal integration to collect card details for online reuse.

Compliance

When building your checkout flow, you must obtain user consent to save card details and comply with all applicable laws, rules, and regulations in your region.

Stripe Terminal lets you save payment methods (excluding mobile wallets) for online reuse. Use an in-person card to initiate an online subscription using Billing, save payment details to a customer’s online account, or defer payment.

Save a card

You can collect reusable card details with Terminal:

  • Directly, without charging the card
  • After payment US only

Charge a saved card

You can use previously saved card details to charge customers later.

For one-time use, create a PaymentIntent and attach the saved payment method. You can’t reuse an attached payment method unless you collect payment details again by saving a card from a PaymentIntent.

If the customer isn’t in your checkout flow when you charge the customer, set off_session to true. This causes the PaymentIntent to throw an error if customer authentication is required.

Command Line
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d "payment_method_types[]"="card" \ -d "amount"=1099 \ -d "currency"="" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "payment_method"="{{PAYMENT_METHOD_ID}}"

When charging a saved card, you can’t use the processPayment method. Payments with generated cards are online payments and can’t be processed with Terminal SDK methods.

Track customer behavior with card fingerprints

Use the Stripe API to recognize repeat customers across online and retail channels by correlating transactions by the same card. Like card payment methods, each card_present payment method has a fingerprint attribute that uniquely identifies a particular card number. Cards from mobile wallets (for example, Apple Pay or Google Pay) don’t share a fingerprint with cards used online.

Starting with API version 2018-01-23, Connect platforms see a fingerprint on card_present and card PaymentMethods that’s uniform across all connected accounts. You can use this fingerprint to look up charges across your platform from a particular card.

Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Save a card
Charge a saved card
Track customer behavior with card fingerprints
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$