使用 Stripe on Rails 免费订阅 - 无需卡即可获得令牌
Posted
技术标签:
【中文标题】使用 Stripe on Rails 免费订阅 - 无需卡即可获得令牌【英文标题】:Free subscription with Stripe on Rails - Get token without card 【发布时间】:2015-08-21 15:35:00 【问题描述】:我正在使用Rails-Stripe-Membership-SaaS,它使用Payola。 Payola 假设您要创建一个立即收费的订阅。这意味着免费计划和免费试用计划在注册时需要信用卡。我想解决这个问题。我在这里做了一个叉子:https://github.com/archonic/payola
我感到困惑的是如何在这里完成第一步的细节: Stripe - How to handle subscription with a free plan and no credit card required at sign up time
对于免费计划或试用计划,Stripe 不需要卡,但我不确定如何在没有卡的情况下创建令牌。在致电create_customer 之前,如何仅通过电子邮件获得令牌?
【问题讨论】:
【参考方案1】:创建客户不需要令牌。继续调用 create customer API,如下所示:
customer = Stripe::Customer.create(
email: "test@example.com",
description: "...something..."
)
# do something with customer, save id in db/etc
您可以为该客户订阅具有免费试用的计划,而无需附加卡。如果您愿意,您甚至可以在创建客户电话中传递plan: 'someplan'
,只要该计划提供免费试用。
【讨论】:
这很简单。试图让 Payola 在提交表单时不需要卡片,我需要更改提交处理程序。你知道我可以用什么代替Stripe.card.createToken
吗?
那部分你根本不需要 Stripe。只需直接提交表单(模糊地说,我会看看 createToken 调用的响应处理程序中发生了什么,然后直接执行)。如果您指出我在 payola 中执行此操作的实际前端代码,我可能会提供更多帮助。
这是响应处理程序:github.com/peterkeen/payola/blob/master/app/assets/javascripts/…
这回答了我的问题,但我仍在寻找 Payola 特定的解决方案。 Stripe.card.createToken
提供了一些非常方便的表单验证,并首先点击/users
来创建触发创建订阅并正确填充其所有者(最近创建的用户)的用户。如果我直接去/payola/subscribe/plan/1/
,则所有者对象为零。是否有像 createToken 这样不需要卡的 Stripe 调用?
所以就在这里:github.com/peterkeen/payola/blob/master/app/assets/javascripts/… -- 就这样称呼它:PayolaSubscriptionForm.stripeResponseHandler(form, status, error: false, id: null );
-- 不幸的是,那里的链有点复杂。我觉得这可能行得通,或者您可能需要更多地研究正在使用的各种订阅类。如果 Payola 不支持这一点,可能会更容易自己推出而不使用 Payola。以上是关于使用 Stripe on Rails 免费订阅 - 无需卡即可获得令牌的主要内容,如果未能解决你的问题,请参考以下文章
有没有更安全的方法可以同时使用 Stripe 和 ActiveMerchant? Ruby on Rails
Rails、Stripe 和 Subscriptions - 模型
Stripe checkout form - 页面上的表单索引 - Ruby on Rails
Stripe Payment Gateway 问题 ruby on rails (TypeError: window.media (...) is null)