2017-01-31 13:28:41 +11:00
|
|
|
module Choice
|
|
|
|
class ChoiceController < Choice::ApplicationController
|
2017-01-31 14:21:27 +11:00
|
|
|
def create
|
2017-02-02 11:49:22 +11:00
|
|
|
badge = Badge.find_by_name('Consumer Defender')
|
|
|
|
|
|
|
|
if badge.nil?
|
|
|
|
head 422 and return
|
|
|
|
end
|
|
|
|
|
2017-02-01 13:35:18 +11:00
|
|
|
customer = Stripe::Customer.create(
|
|
|
|
:email => params[:stripeEmail],
|
|
|
|
:source => params[:stripeToken]
|
|
|
|
)
|
|
|
|
|
|
|
|
charge = Stripe::Charge.create(
|
|
|
|
:customer => customer.id,
|
2017-02-02 11:49:22 +11:00
|
|
|
:amount => 1000,
|
2017-02-01 13:35:18 +11:00
|
|
|
:description => 'Consumer Defender',
|
|
|
|
:currency => 'aud'
|
|
|
|
)
|
|
|
|
|
2017-02-02 11:49:22 +11:00
|
|
|
BadgeGranter.grant(badge, current_user)
|
2017-02-01 13:35:18 +11:00
|
|
|
|
2017-02-02 13:11:10 +11:00
|
|
|
render :json => { status: 'OK' }
|
2017-01-31 13:28:41 +11:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|