3ds付款后条带源仍然可用

时间:2018-07-15 04:16:44

标签: stripe-payments

目前,我正在使用以下方法获取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源不算作使用此源?

这是正确的吗?如果是这样,这似乎不是很安全,因为获得此令牌的人可以使用它发出许多请求?

1 个答案:

答案 0 :(得分:0)

预计即使使用原始卡源创建3DS源后,它仍然可以充电。通常,带有type=card的源将始终具有status=chargeable

尽管卡来源(与Stripe API中的任何其他资源一样)是特定于您的Stripe帐户的,所以它只能用于使用您帐户的秘密API密钥来创建费用。因此,即使源的ID(src_...)被泄漏,也不是安全问题。通常,条带资源ID不被认为是敏感的,因为它们只能与您的秘密API密钥一起使用。

顾名思义,秘密API密钥是敏感的,应该保密:)

相关问题