Stripe Web Elements
Create your own checkout flows with prebuilt UI components.
Stripe Elements is a set of prebuilt UI components for building your web checkout flow. It’s available as a feature of Stripe.js, our foundational JavaScript library for building payment flows. Stripe.js tokenizes sensitive payment details within an Element without ever having them touch your server.
Global payment methods: Access to over 100 global payment methods, including wallets like Apple Pay.
Link: Help your customers check out faster by letting them select a saved payment method at checkout instead of entering payment information.
Saved payment methods: Save, reuse, and manage cards and bank accounts with built-in features.
Compliance: Stripe provides a globally compliant interface and handles requirements for displaying mandates and consent notices to buyers.
Up-to-date forms: Localized forms with built-in error handling. Stripe keeps each payment method provider’s requirements up to date.
Address collection: Collect full or partial billing addresses with any payment method.
Appearance customization: Customize the look and feel of Elements to match the design of your site.
Other features: Additional features like CVC recollection and control over which card brands you accept.
Get started
If you don’t see your Element below, find more in the Stripe.js API Reference.
Compatible APIs
Stripe offers two core payments APIs compatible with Elements. We recommend the Checkout Sessions API for most integrations.
Use the Checkout Sessions API to build your checkout flow. Checkout Sessions covers similar use cases as Payment Intents, including basic payments using
price_or full checkout with line items, tax, discounts, shipping, subscriptions, or Adaptive Pricing (only available with Checkout Sessions).data The Payment Intents API is a lower-level API that models only the payment step. You pass in a final amount and build all checkout logic yourself, including tax calculation, discounts, shipping, subscriptions, and currency conversion. Use Payment Intents only if you want to deeply own your checkout state and build these features yourself.
Build a custom integration from scratch with the Payment Intents API.