Stripe测试API密钥是否存在功能限制?电商产品接口调用咨询
Stripe测试密钥调用/v1/products返回空数组的原因及解决办法
我之前也碰到过一模一样的问题,先给你吃个定心丸:Stripe的测试密钥并没有功能限制,它能完整复刻正式环境的所有API能力,问题其实出在测试环境和正式环境是完全独立的两个数据空间!
具体来说:
- 测试环境和正式环境的数据完全隔离:你在正式环境创建的产品、客户、订单等数据,不会同步到测试环境里。所以当你用测试密钥调用
/v1/products时,测试环境里本来就没有任何产品,自然返回空数组。 - 要获取测试环境的产品数据,你需要先在测试环境里创建产品:
- 最简单的方式是登录Stripe Dashboard,切换到左上角的「Test mode」(测试模式),然后手动添加测试产品;
- 也可以用测试密钥通过API创建,比如用Stripe npm包的代码示例:
const stripe = require('stripe')('你的测试密钥(sk_test_开头)'); async function createTestProduct() { const product = await stripe.products.create({ name: '测试T恤', description: '用于电商测试的商品', default_price_data: { unit_amount: 2000, currency: 'usd', }, }); console.log('创建的测试产品:', product); } createTestProduct();
- 验证步骤:创建完测试产品后,再用测试密钥发送GET请求到
/v1/products,就能看到包含测试产品的数组了。
另外要注意确认你调用接口时使用的确实是测试密钥(格式为sk_test_xxxx),别不小心把正式密钥和测试密钥搞混了哦。
内容的提问来源于stack exchange,提问作者Josh




