set*_*ine 5 ruby ruby-on-rails stripe-payments
因此,Stripe文档说:
创建客户之后,应将其ID存储在自己的数据库中,以便以后在与Stripe通信时可以参考它。
好的,很简单。我的问题是:如何通过其ID查找客户? 像这样的更新:
customer = Stripe::Customer.retrieve(id)
Run Code Online (Sandbox Code Playgroud)
当我为一项服务注册新客户时,我会创建一个新的Stripe Customer,但是如果他们是现有客户,我想使用其现有帐户并仅添加一个计划。如何找到它们并添加新计划?我浏览了文档和红宝石,但无法弄清楚。请帮忙?这是有问题的方法。
def social_signup
token = params[:stripe_token]
if current_vendor.stripe_id == nil
customer = Stripe::Customer.create(
:card => token,
:plan => 'social',
:email => current_vendor.email
)
current_vendor.update_attributes(stripe_id: customer.id)
else
customer = Stripe::Customer.retrieve(current_vendor.stripe_id)
# bill the customer's existing account for the added subscription
end
redirect_to :somewhere
end
Run Code Online (Sandbox Code Playgroud)
寻找客户:
customer = Stripe::Customer.retrieve(current_vendor.stripe_id) # pass in the persisted ID
Run Code Online (Sandbox Code Playgroud)
创建新的计划订阅:
customer.subscriptions.create(plan: "social")
Run Code Online (Sandbox Code Playgroud)
这些文档非常详尽,只需深入研究并找到具体细节即可。顺便说一句,为单个客户添加多个订阅是 Stripe在今年 2 月添加的一项功能。