Collecting Card Details

    Learn how to charge, save, and authenticate credit and debit cards on Stripe.

    Collect card payments fast

    The easiest way to get started on Stripe is to use Checkout, a Stripe-hosted payment page that works seamlessly across devices, designed to increase your conversion.

    Checkout handles collecting payment details and creating payments for you. And because it supports additional authentication like 3D Secure, Checkout is equally suitable for users in the U.S. and Canada and those affected by the Strong Customer Authentication (SCA) regulation in Europe.

    Build a custom payments page

    You can also use Stripe’s libraries to collect payment details and create payments.

    Card payments in the U.S. and Canada

    A classic Stripe integration consists of charging credit cards without the need for handling additional authentication. If you’re an American or Canadian business that only charges customers in the U.S. and Canada, use Stripe’s Tokens and Charges APIs to collect, store, and charge cards.

    After securely collecting and tokenizing your customer’s credit card, you have two options:

    Unlike tokenization, which occurs in the browser, charge attempts are made from your server, normally using one of our client libraries. If you haven’t already, install the library for your favorite language now.

    Card payments in Europe, around the globe, and in person

    Stripe also has an integration style created to help you handle dynamic payments (e.g., additional authentication like 3D Secure). These new APIs are primarily for users affected by SCA. Stripe Checkout is built on these APIs, and they also support in-person payments.

    Use Stripe’s new Payment Methods, Setup Intents, and Payment Intents APIs to create card payments if your business is based outside of the U.S. or Canada, and you have European users. You can create one-time card payments or save a card for later reuse.

    We publish documentation guides and recommendations as they become available, always aiming to minimize friction in your integration.

    Was this page helpful? Yes No


    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.


    We're always happy to help with code or other questions you might have. Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    On this page