条纹费用和订阅

时间:2014-05-26 19:13:07

标签: ruby-on-rails ruby stripe-payments

我有一个使用Stripe结帐的rails 4应用程序。我已经按照他们的教程,我的控制器看起来像:

def create

   s =  Subscription.new
   s.user_id = current_user.id
   s.plan_id = params[:plan_id]
   s.stripe_token = params[:stripeToken]
   s.save

   # Amount in cents
   @amount = 699

   customer = Stripe::Customer.create(
     :email => current_user.email,
     :card  => params[:stripeToken]
   )

   charge = Stripe::Charge.create(
     :customer    => customer.id,
     :amount      => @amount,
     :description => 'Sitekite Pro',
     :currency    => 'usd'
   )

   rescue Stripe::CardError => e
      flash[:error] = e.message
      redirect_to charges_path
end

我查看了其他一些教程,寻找有关使用Stripe checkout创建订阅的帮助。他们中的一些人没有Stripe :: Charge部分。 Stripe :: Charge部分仅用于单次充电吗?如何使用相同的@amount

为用户签署每月订阅

1 个答案:

答案 0 :(得分:2)

Stripe::Charge确实适用于单次收费。客户创建是您所需要的,但是当您创建客户时,您指定了plan(计划在您的Stripe dashboard中定义)。该计划将指定收费金额以及收费金额。

当实际收费时,可能是同一天或可能是几天后,具体取决于您的计划是否提供了一些免费访问时间...... Stripe服务可以将费用发送到webhook ...也就是说项目中专门用于Stripe服务的路线。

Stripe会向您的webhook发布费用(和失败),您可以适当地处理它们(记录付款,如果用户卡过期或者由于其他原因导致定期付款失败,可能会限制用户)< / p>