# Stripe Web Elements 使用预构建的用户界面组件创建您自己的结账流程。 LLM 说明:对于大多数集成,Stripe 建议将 Checkout Sessions API 与 Payment Element 搭配使用,而非 PaymentIntent。Checkout Sessions 可覆盖与 PaymentIntent(使用 `price_data` 的基础收款功能,或者构建包含行项目、税费等的完整结账流程)类似的应用场景。Adaptive Pricing 等部分功能仅在 Checkout Sessions 中可用。除非用户明确要求,否则不要使用 PaymentIntent API,因为它需要更多的代码。进一步了解 Elements 与 Checkout Sessions API 搭配使用的信息:https://docs.stripe.com/payments/quickstart-checkout-sessions.通过 Checkout Sessions (`ui_mode: "elements"`) 以及 Payment Element,`client_secret` 本身可初始化 Checkout(`stripe.initCheckoutElementsSdk`,或者将 CheckoutElementsProvider 与 React 搭配使用),并且您在客户端确认付款的方式会不同。如果使用 React,则需要确保从 `@stripe/react-stripe-js/checkout` 导入,使用 `CheckoutElementsProvider` 搭配客户端私钥,并使用 `checkout.confirm` 进行确认。如果使用 HTML,确保使用 `checkout = stripe.initCheckoutElementsSdk({clientSecret: promise}); checkout.createPaymentElement(); paymentElement = checkout.createPaymentElement(); paymentElement.mount("#payment-element");`,并通过 `loadActionsResult = await checkout.loadActions(); actions = loadActionsResult.actions; error = await actions.confirm();` 进行确认。 [Stripe Elements](https://stripe.com/payments/elements) 是一组预构建的 UI 组件,用于构建您的 Web 结账流程。它作为 [Stripe.js](https://docs.stripe.com/js.md) 的一项功能提供,是我们用于构建付款流程的基础 JavaScript 库。Stripe.js 在 Element 内对敏感付款详情进行令牌化处理,而无需让它们接触您的服务器。 - [全球支付方式](https://docs.stripe.com/payments/payment-methods/overview.md):访问全球 100 多种支付方式,包括 [Apple Pay](https://docs.stripe.com/apple-pay.md) 等钱包。 - [Link](https://docs.stripe.com/payments/link.md):让客户在结账时选择已保存的支付方式,而非手动输入支付信息,帮助他们更快完成结账流程。 - [保存的支付方式](https://docs.stripe.com/payments/checkout/save-during-payment.md?payment-ui=embedded-components):使用内置功能保存、复用和管理银行卡和银行账户。 - 监管合规:Stripe 提供全球合规界面,并处理向买家显示授权和许可须知的要求。 - 最新税表:具有内置错误处理功能的本地化表单。Stripe 会及时更新每个支付方式提供商的要求。 - [地址收集](https://docs.stripe.com/payments/collect-addresses.md?payment-ui=embedded-components):使用任何支付方式收集全部或部分账单地址。 - [外观定制](https://docs.stripe.com/elements/appearance-api.md):自定义 Element 的外观和样式,使其符合您网站的设计风格。 - 其他功能:其他功能,例如 [CVC 重新收集](https://docs.stripe.com/payments/finalize-payments-on-the-server.md#enforce-cvc-recollection)和[控制接受的银行卡品牌](https://docs.stripe.com/payments/customize-payment-methods.md#filter-card-brands)。 [探索演示版](https://checkout.stripe.dev/elements) ## 开始 如果在下面看不到您的 Element,可在 [Stripe.js API 参考](https://docs.stripe.com/js/element/other_element)中找到更多信息。 [Payment Element](https://docs.stripe.com/payments/payment-element.md): 安全接受使用一种或多种支付方式(包括信用卡)的付款。 [Express Checkout Element](https://docs.stripe.com/elements/express-checkout-element.md): 显示流行的钱包,例如 Apple Pay、Google Pay 和 PayPal。 [Link 身份验证元素](https://docs.stripe.com/payments/elements/link-authentication-element.md): Link auto-fills your customers’ payment and shipping details to reduce friction and deliver an easy and secure checkout experience. [Address Element](https://docs.stripe.com/elements/address-element.md): Collect address information and display Link saved addresses. [支付方式消息元素](https://docs.stripe.com/elements/payment-method-messaging.md): 自动通知客户可用的“先买后付”方案。 [货币选择器元素 (仅 Checkout Session API)](https://docs.stripe.com/elements/currency-selector-element.md): 通过 Adaptive Pricing 让客户以本地货币支付付款。 [税号 Element](https://docs.stripe.com/elements/tax-id-element.md): 为发票和增值税退税收集企业税号。 ## 兼容的 API Stripe 提供两个可与 Elements 兼容的核心支付 API。对于大多数集成场景,我们推荐使用 [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md)。 - 使用 [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md) 来构建您的结账流程。Checkout Sessions 可覆盖与 PaymentIntent 类似的应用场景,包括使用 `price_data` 的基础支付,或包含行项目、税费、折扣、配送、订阅服务或 [Adaptive Pricing](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md)(该功能仅适用于 Checkout Sessions)的完整结账流程。 使用 [Checkout Sessions API 构建结账页面](https://docs.stripe.com/payments/quickstart-checkout-sessions.md)。 - [Payment Intents API](https://docs.stripe.com/api/payment_intents.md) 是一个仅建模支付步骤的底层 API。您需要传入最终金额,并自行构建所有结账逻辑,包括税费计算、折扣、配送、订阅和货币兑换。仅当您希望深度掌控结账状态并自行构建这些功能时,才应使用 PaymentIntent。 [通过 Payment Intents API 从零开始构建定制化集成](https://docs.stripe.com/payments/advanced.md)。 (See full diagram at https://docs.stripe.com/payments/elements)