用途:在本地开发和测试中模拟 Stripe API,让 Stripe SDK 调用命中模拟器并返回真实感响应,不处理真实付款。
主要能力:有状态模拟客户、产品、价格、结账会话、支付意图、扣款和支付方式,数据保存在内存中;状态变化时派发 Webhook;提供托管结账 UI,可在浏览器完成支付并跳转 success_url。
使用方式:可用 npx emulate --service stripe 启动,默认监听 http://localhost:4000;也可用 createEmulator({ service: 'stripe', port: 4000 }) 编程启动。Stripe Node.js SDK 不读取 base URL 环境变量,需在构造客户端时传入 host、port、protocol。Next.js 可用 @emulators/adapter-next 在应用内运行,并通过代理路由转发 /v1/* 调用。支持 seed 配置预置客户、产品、价格和 Webhook,实体可指定 id 以保持重启后稳定。
适用场景:本地支付流程开发、结账流程测试、Webhook 处理验证、无真实扣款的集成测试。
限制:仅模拟,不处理真实支付;默认绑定 127.0.0.1,容器或跨机访问需传 --host 0.0.0.0 或 hostname: '0.0.0.0',并配置 --base-url 或 baseUrl;Webhook 签名使用 HMAC SHA-256。具体收费、价格与平台支持暂未提供。