目前,我正在使用下面的代码获取一个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源不算使用这个源?
这是正确的吗?如果是这样的话,它似乎不是很安全,因为获得这个令牌的人可以使用它发出许多请求?
发布于 2018-07-15 23:09:22
预计即使在使用原始卡源创建3DS源之后,它仍然是可收费的。通常,带有type=card的源代码将始终具有status=chargeable。
不过,卡源(就像Stripe的API中的任何其他资源一样)是特定于您的Stripe帐户的,因此它只能用于使用您帐户的秘密API密钥创建费用。因此,即使源的ID (src_...)被泄露,也不是安全问题。通常,条带资源In不被认为是敏感的,因为它们只能与您的秘密API密钥一起使用。
顾名思义,保密的API密钥是敏感的,应该保密:)
https://stackoverflow.com/questions/51345205
复制相似问题