--- title: "Stripe" description: "在 Nuxt 应用中使用 Stripe。" canonical_url: "https://nuxt-scripts.zhcndoc.com/scripts/stripe" last_updated: "2026-05-22T14:11:49.263Z" --- [Stripe](https://stripe.com) 是一个流行的支付网关,允许你在线接受付款。 Nuxt Scripts 提供两个 Stripe 功能: - [`useScriptStripe()`](/scripts/stripe) 组合函数,用于加载脚本 `https://js.stripe.com/basil/stripe.js`。 - `ScriptStripePricingTable` 组件,允许你使用 `https://js.stripe.com/v3/pricing-table.js` 在你的网站上嵌入 [Stripe 价格表](https://docs.stripe.com/payments/checkout/pricing-table)。 ## 类型 ## 类型 要在你的 Stripe 中使用完整的 TypeScript 支持,你需要安装 `@stripe/stripe-js` 依赖。 ```bash pnpm add -D @stripe/stripe-js ``` ## 全局加载 Stripe 建议在你的应用中全局加载其脚本,以增强防欺诈检测。 ```ts [始终启用] export default defineNuxtConfig({ scripts: { registry: { stripe: { trigger: 'onNuxtReady' }, } } }) ``` ```ts [仅生产环境] export default defineNuxtConfig({ $production: { scripts: { registry: { stripe: { trigger: 'onNuxtReady' }, } } } }) ``` ## ScriptStripePricingTable `ScriptStripePricingTable` 组件允许你以优化的方式在网站上嵌入一个 [Stripe 价格表](https://docs.stripe.com/payments/checkout/pricing-table)。 为了提升性能,它会在价格表元素可见时加载,利用了 [元素事件触发器](/docs/guides/script-triggers#element-event-triggers)。 你需要先创建你自己的 [价格表](https://dashboard.stripe.com/pricing-tables) 才能继续使用。 ### 演示 ```vue [输入] ``` ### 组件 API 完整的属性、事件和插槽请参见 [Facade 组件接口](/docs/guides/facade-components#facade-components-api)。 ### 属性 `ScriptStripePricingTable` 组件接受以下属性: - `trigger`:触发加载 Stripe 的事件。默认为 `mouseover`。更多信息请参见 [元素事件触发器](/docs/guides/script-triggers#element-event-triggers)。 - `pricing-table-id`:你在 Stripe 控制台创建的价格表 ID。 - `publishable-key`:你的 Stripe 可发布密钥。 - `client-reference-id`:客户的唯一标识符。 - `customer-email`:客户的电子邮件。 - `customer-session-client-secret`:客户会话的客户端密钥。 ## useScriptStripe `useScriptStripe` 组合函数让你可以精细控制 Stripe SDK。它提供了一种加载 Stripe SDK 并以编程方式与之交互的方法。 ```ts export function useScriptStripe(_options?: StripeInput) {} ``` 请参考 [注册表脚本](/docs/guides/registry-scripts) 指南了解更多高级用法。 ## 示例 ```ts export const StripeOptions = object({ advancedFraudSignals: optional(boolean()), }) ``` ### StripeApi ```ts export interface StripeApi { Stripe: stripe.StripeStatic } ``` ## 示例 加载 Stripe SDK 并使用它创建支付元素。 ```vue ```