Stripe Checkout会话:展开三层嵌套card属性获取fingerprint失败求助
解决Stripe Checkout会话中展开card属性获取fingerprint的问题
- 测试模式不会导致这个问题,你的请求语法本身没问题,但有几个关键点需要排查:
- 确认Payment Method类型:只有当
payment_method的类型为card时,card字段才会存在。如果用户使用了其他支付方式(比如ACH转账),自然无法看到card相关属性。可以先打印payment_method.type确认类型。 - 检查控制台输出限制:控制台默认输出会把深层嵌套对象显示为
[Object],并非Stripe未返回数据。可以用JSON.stringify(session, null, 2)打印完整响应结构,就能看到card.fingerprint字段。 - 替代方案:单独检索Payment Method:如果还是存在问题,可以直接单独检索Payment Method并展开card属性:
const paymentMethod = await stripe.paymentMethods.retrieve( session.setup_intent.payment_method, { expand: ["card"] } ); console.log(paymentMethod.card.fingerprint);
通过以上方式即可获取到card的fingerprint,用于检查重复支付方式。
内容的提问来源于stack exchange,提问作者ginjaemocoes
相关产品推荐
相关产品推荐

