Stripe API:扩展嵌套的card元素



我使用Stripe Checkout会话来设置支付意图,并希望扩展card属性,嵌套三层深度。

根据文档,我可以用点符号展开属性和子属性:

const session = await stripe.checkout.sessions.retrieve(session_id, {
expand: ["setup_intent.payment_method"]
});

然后我收到这个响应:

{
id: 'cs_test...",
...
setup_intent: {
id: 'seti_1MDYkcAphQbVdSksInihHamA',
...
payment_method: {
id: 'pm_1MDYknAphQbVdSks1a1eohA7',
object: 'payment_method',
billing_details: [Object],
card: [Object],
...
type: 'card'
},
...
}

我还想扩展卡以获取指纹并检查它是否是重复的。所以我用这个:

const session = await stripe.checkout.sessions.retrieve(session_id, {
expand: ["setup_intent.payment_method.card"]
});

但是结果和上面一样:card: [Object],并且没有显示卡片的指纹。

请求没有在Stripe端抛出错误,所以我假定语法是正确的。

是否由于处于测试模式而缺乏扩展?如果没有,我怎样才能告诉Stripe把信用卡的指纹包含进去?

问题是由于您正在打印一个嵌套的对象。即使打印结果以这种方式显示,对象属性仍然存在,您仍然可以使用它们。

你可以通过运行命令

来确认
console.log(setup_intent.payment_method.card.fingerprint);

您可以在这里找到卡对象指纹和文档:https://stripe.com/docs/api/payment_methods/object#payment_method_object-card

最新更新