Stripe API创建订单遇SKU不存在问题,咨询无产品创建订单可行性
解决Stripe订单创建的「无此SKU」问题 & 无Product创建订单方案
嘿,我来帮你理清这个问题:
能不能不用Product直接创建订单?
完全可以!如果你的需求只是在Stripe里存储订单信息,不需要关联它的商品目录(Product/SKU),那直接用自定义订单行项就搞定了,根本不用提前创建任何Product或SKU。
为什么会出现「无此SKU」报错?
你现在的代码里用了type: 'sku',还指定了parent: 'sku_7hAchfCjchvSHL'——但Stripe的SKU是必须依附于Product存在的资源,要么这个SKU本身不存在,要么它关联的Product有问题,所以就触发了找不到SKU的错误。而且如果不想用Product,这条路本来就行不通,因为SKU不能独立存在。
修正后的代码示例
把订单行项的类型改成custom,然后填上商品名称、金额、数量这些必要信息就行,这样就彻底摆脱对Product/SKU的依赖了:
const orderRes = await stripe.orders.create({ currency: 'usd', email: 'iamaemail@gmail.com', items: [ { type: 'custom', name: '你的商品名称', // 替换成实际商品名 amount: 1000, // 注意是最小单位,这里代表10美元 quantity: 1, description: '可选的商品描述' }, ], shipping: { name: 'Jenny Rosen', address: { line1: '1234 Main Street', city: 'San Francisco', state: 'CA', country: 'US', postal_code: '94111', }, }, })
小提醒
custom类型行项的amount必须是正整数,单位是所选货币的最小单位(比如美元用分,欧元用欧分)。- 用这种方式创建的订单,只会存储你传入的自定义信息,不会和Stripe的商品目录挂钩,完美匹配你只存订单信息的需求。
内容的提问来源于stack exchange,提问作者phongyewtong
相关产品推荐
相关产品推荐

