Stripe Payments - 将现有卡添加到客户
Posted
技术标签:
【中文标题】Stripe Payments - 将现有卡添加到客户【英文标题】:Stripe Payments - Add existing card to customer 【发布时间】:2017-04-20 13:22:38 【问题描述】:我有一个 Squarespace 应用程序为客户收取费用,但是 Squarespace 不创建客户对象,它只是存储费用。
我的目标:当用户进行购买时,创建一个附有订阅计划的 Customer 对象,以便我们可以对卡进行定期收费。
我可以通过条带测试 API 提取费用列表,每个费用都有一个 source
,其中包含一个卡令牌。因此,据我了解,我应该能够创建一个客户并传入源或源 ID,它会将源添加到该客户。
我的代码如下所示:
customer = Stripe::Customer.create(
:email => customerEmail,
:plan => customerPlanId,
:source => charge[:source],
:description => customerName
)
我在条带沙箱中执行此操作。我可以清楚地看到存储在charge中源对象中的卡,但是stripe会抛出错误:
`handle_api_error': No such token: card_19NXFMKm5fnTITnyYdk6shyj (Stripe::InvalidRequestError)
提前致谢!
【问题讨论】:
【参考方案1】:当您使用source
参数create a customer 时,它应该是令牌ID ("tok_..."
),而不是卡ID。
有关更多信息,请参阅此 *** 答案:https://***.com/a/34416413/5307473
【讨论】:
感谢您的回答,这绝对是问题所在。据我了解,我无法访问该令牌,因为它仅在收费过程中发生并且不会被存储。对吗? 对不起,我不关注。 Stripe 令牌代表卡,同时对您隐藏 PCI 敏感信息。您可以直接使用卡令牌来创建费用,或创建客户对象(您可以反过来使用它来创建费用而无需创建新令牌)。 我在结账时无法访问令牌对象,因为我使用的是 squarespace commerce。我想做的是稍后以某种方式访问令牌,但我唯一可以访问的是收费清单。是否可以从费用中创建代币? 不,令牌是直接从卡信息创建的。您无法根据过去的费用重新创建令牌。以上是关于Stripe Payments - 将现有卡添加到客户的主要内容,如果未能解决你的问题,请参考以下文章
将 PayPal 添加到现有 Stripe 计费流程的最简单方法
Stripe、Stripe Payments、Connect、关联账户、拆分支付
php Stripe Payments - WordCamp ATL 2015