目前,我正在使用以下方法获取sourceID
stripe.createSource(card, {
usage: 'single_use'
}).then(result => {
console.log(result.source.id)
})
然后,我将此sourceID传递给服务器,以用于创建3ds源。
source3ds = await createSource({
type: 'three_d_secure',
amount: PaymentService._toStripeAmount(opts.amount),
currency: opts.currency,
three_d_secure: {
card: opts.sourceId // HERE!
},
redirect: {
return_url: redirectUrl.toString()
},
})
我注意到,一旦发生这种情况,即使在成功支付3ds之后,sourceId仍然可用,我认为这是因为从此源制作3ds源不算作使用此源?
这是正确的吗?如果是这样,这似乎不是很安全,因为获得此令牌的人可以使用它发出许多请求?
答案 0 :(得分:0)
预计即使使用原始卡源创建3DS源后,它仍然可以充电。通常,带有type=card
的源将始终具有status=chargeable
。
尽管卡来源(与Stripe API中的任何其他资源一样)是特定于您的Stripe帐户的,所以它只能用于使用您帐户的秘密API密钥来创建费用。因此,即使源的ID(src_...
)被泄漏,也不是安全问题。通常,条带资源ID不被认为是敏感的,因为它们只能与您的秘密API密钥一起使用。
顾名思义,秘密API密钥是敏感的,应该保密:)