条纹支付:来源与令牌/卡?
Posted
技术标签:
【中文标题】条纹支付:来源与令牌/卡?【英文标题】:Stripe Payments: Source vs Token/Card? 【发布时间】:2018-10-21 10:00:36 【问题描述】:我正在努力设置带有条纹的定期付款。我正在使用 react-stripe-elements 收集卡片信息,看起来有两种方法可以保存卡片以供以后使用:
this.props.stripe.createToken()
this.props.stripe.createSource()
然后在后端创建一个客户:
stripe.customers.create( source: tokenId )
stripe.customers.create( source: sourceId )
条带仪表板中的结果:
tokenId
tokenId 卡来源ID
sourceId 来源 sourceId 卡我的问题是这两种模式有什么区别?我应该使用一个而不是另一个吗?我注意到在 tokenId 模式中卡片说 cvc/zip 检查通过了,而卡片在 sourceId 模式中没有这样说。但是 sourceId 模式也明确表示该卡是可收费和可重复使用的,这是否意味着使用 tokenId 模式保存的卡不可重复使用? sourceId 卡中的日志/事件是否更有用?两种模式的返回对象结构也不同。
任何帮助将不胜感激,在此先感谢!
【问题讨论】:
【参考方案1】:token 只是用户卡详细信息标记化后的字符串值结果。您可以使用令牌或来源一次性或订阅付款(前提是您在将其附加给客户之前不立即使用它进行收费)。
但是source给了你更多的选择,因为它是你接受支付宝或微信支付等其他支付方式时唯一的选择,你不能将token api与卡以外的其他支付方式一起使用。正如@Daniel Winterstein 所说,令牌是 Stripe 的旧 API,stripe 决定保留它只是为了向后兼容,但您应该使用 source 作为标准 API 来捕获使用支付详细信息。
【讨论】:
Token 是 API 中较旧的部分——现在没有理由使用它,因为 Source 做了它所做的一切等等。 @DanielWinterstein 仍然使用代币的原因有很多。想象一下第三方 PCI-DSS 可以使用受限 API 密钥访问您的条带帐户。他们会向您发送一个令牌,您可以在不必成为 PCI-DSS 时对其进行收费。此外,卡也可用于定期收费Charging a reusable source without doing so
是什么意思?
@Mazzy,很抱歉让您感到困惑,但我已经更正了我的答案,希望您现在能理解。【参考方案2】:
对于 laravel,这对我有用。
$stripe = new \Stripe\StripeClient(env('STRIPE_SECRET'));
$stripe->paymentIntents->create(
[
"amount" => 100 * $request->amount,
"currency" => "usd",
"description" => orgName() . ' ' . $request->plan_name .' subscription plan payment'
]
);
$stripe->customers->create(
[
'name' => $request->name,
'address' => [
'line1' => 'Delhi',
'postal_code' => '110001',
'city' => 'Delhi',
'state' => 'DL',
'country' => 'IN',
],
]
);
【讨论】:
以上是关于条纹支付:来源与令牌/卡?的主要内容,如果未能解决你的问题,请参考以下文章
使用条纹 + 格子创建 ACH 收费 - 没有这样的令牌;在实时模式中存在类似的对象