Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DonationsController < ApplicationController
- def new
- @donation = Donation.new
- @challenge = Challenge.find(params[:challenge_id])
- @npname = (User.find(@challenge.non_profit)).np_name
- @user_athlete = (User.find(@challenge.user_id)).name
- @user_website = (User.find(@challenge.non_profit)).website
- @key = User.find(@challenge.non_profit).stripe_secret_key
- @publishable_key = User.find(@challenge.non_profit).stripe_publishable_key
- @donation.donor_email = params[:stripeEmail]
- @donation.donor_first_name = params[:donor_first_name]
- @donation.donor_last_name = params[:donor_last_name]
- @donation.challenge_id = params[:challenge_id]
- @donation.amount = params[:amount]
- end
- def create
- @donation = Donation.new
- @challenge = Challenge.find(params[:challenge_id])
- @npname = (User.find(@challenge.non_profit)).np_name
- @user_athlete = (User.find(@challenge.user_id)).name
- @user_website = (User.find(@challenge.non_profit)).website
- @key = User.find(@challenge.non_profit).stripe_secret_key
- @publishable_key = User.find(@challenge.non_profit).stripe_publishable_key
- @donation.donor_email = params[:stripeEmail]
- @donation.donor_first_name = params[:donor_first_name]
- @donation.donor_last_name = params[:donor_last_name]
- @donation.challenge_id = params[:challenge_id]
- @donation.amount = params[:amount]
- charge = Stripe::Charge.create({
- :card => params[:stripeToken],
- :amount => 55500,
- :description => "You are donating",
- :currency => 'usd'
- },
- @key
- )
- Rails.logger.error("CHARGE: #{charge.inspect} #{charge["paid"].inspect}")
- if charge["paid"] == true
- saved = @donation.save
- Rails.logger.error("DONATION: #{@donation.inspect} #{saved} #{@donation.valid? ? 'valid' : @donation.errors.full_messages.inspect}")
- redirect_to root_path
- flash[:notice] = "Thanks for your donation, Feel free to donate again."
- end
- rescue Stripe::CardError => e
- flash[:error] = e.message
- redirect_to new_challenge_donations_path
- end
- def index
- authorize Donation
- @donations = Donation.order('created_at DESC')
- end
- def show
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement