
adrienverge/localstripelocalstripe 是一个本地运行的模拟 Stripe 服务器工具,旨在为开发和测试提供无需依赖真实 Stripe 服务的 API 模拟环境。该工具通过模拟 Stripe API 端点并维护状态数据(如客户、支付意向、订阅等),支持本地测试支付流程,避免使用真实支付信息或产生实际交易费用。
通过以下命令直接启动 localstripe 容器:
bashdocker run -d \ -p 8080:8080 \ -v ./localstripe-data:/data \ --name localstripe \ adrienverge/localstripe
-p 8080:8080:将容器 8080 端口映射到本地 8080 端口-v ./localstripe-data:/data:挂载本地目录持久化状态数据--name localstripe:指定容器名称便于管理创建 docker-compose.yml 文件实现更灵活的部署:
yamlversion: '3.8' services: localstripe: image: adrienverge/localstripe ports: - "8080:8080" # API 端口映射 volumes: - localstripe_data:/data # 持久化数据卷 environment: - PORT=8080 # 服务监听端口 - API_KEY=sk_test_custom_key # 自定义模拟 API 密钥 - LOG_LEVEL=debug # 调试日志级别 restart: unless-stopped # 异常退出后自动重启 volumes: localstripe_data: # 命名卷用于数据持久化
启动服务:
bashdocker-compose up -d
修改应用中的 Stripe 客户端配置,将 API 端点指向本地服务器。以常见开发语言为例:
pythonimport stripe stripe.api_key = "sk_test_custom_key" # 与容器环境变量 API_KEY 一致 stripe.api_base = "http://localhost:8080" # 本地服务器地址 # 测试创建客户 customer = stripe.Customer.create(name="测试用户") print(f"创建客户成功,ID: {customer.id}")
javascriptconst stripe = require('stripe')('sk_test_custom_key'); stripe.setApiVersion('2023-10-16'); stripe.defaults.baseURL = 'http://localhost:8080'; // 测试创建支付意向 stripe.paymentIntents.create({ amount: 2000, currency: 'usd', customer: 'cus_test_123' }).then(paymentIntent => { console.log(`支付意向创建成功,ID: ${paymentIntent.id}`); });
| 参数名 | 描述 | 默认值 |
|---|---|---|
| PORT | 服务监听端口 | 8080 |
| DATA_PATH | 状态数据存储路径 | /data |
| API_KEY | 模拟 Stripe API 密钥 | sk_test_*** |
| HTTPS_ENABLED | 是否启用 HTTPS(需提供证书) | false |
| LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
| CORS_ALLOWED_ORIGINS | 允许跨域请求的源 | * |
通过挂载本地目录或 Docker 卷(如示例中的 localstripe_data)持久化状态数据,避免容器重启后客户、支付意向等资源信息丢失。
覆盖 Stripe API 核心业务场景,主要包括:
/v1/customers(创建、查询、更新、删除客户)/v1/payment_intents(支付意向全生命周期)、/v1/charges(收费记录)/v1/subscriptions(订阅创建与管理)、/v1/plans(定价计划)/v1/products(产品定义)、/v1/prices(价格设置)完整支持的端点列表可参考 项目 GitHub 文档。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务