class ChargesController < ApplicationController
  def new; end

  def create
    @amount = params[:amount]

    begin
      @amount = Float(@amount).round(2)
    rescue
      flash[:error] = 'Bitte geben sie einen Betrag in CHF ein.'
      redirect_to donation_path
      return
    end

    @amount = (@amount * 100).to_i # Must be an integer!

    if @amount < 500
      flash[:error] = 'Ihre Spende muss mindestens 5.- CHF betragen.'
      redirect_to donation_path
      return
    end

    Stripe::Charge.create(amount: @amount, currency: 'CHF', source: params[:stripeToken], description: 'Initiativspende')

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