使用条带检查成功充电后创建订单

时间:2014-03-12 01:02:07

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

我在我的付款解决方案和电子商务应用程序中使用条带检查。我想在成功收费后创建订单。

付款成功后,我只需在销毁购物车之前在当前购物车上更改“成功”布尔属性。我想创建一个订单,因此购物车对象不必处理这个额外的责任。

我的问题是我不知道在哪里告诉控制器创建订单以及如何将数据从当前购物车传递到订单对象。

这是充电控制器设置

class ChargesController < ApplicationController

def new
    @user = current_user
    @cart = current_cart
    @amount = @cart.total_price
end

def create

  @amount = @cart.total_price

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

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

      # this changes the status of the current cart to success 
  @cart.update_status(current_cart)
  session[:cart_id] = nil
  redirect_to current_user, notice: 'You placed an order!'

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

end

0 个答案:

没有答案