34 lines
666 B
Ruby
34 lines
666 B
Ruby
class IpnsController < ApplicationController
|
|
load_and_authorize_resource :ipn, :except => "create"
|
|
before_filter :authenticate_user!
|
|
|
|
protect_from_forgery :except => [:create]
|
|
|
|
def index
|
|
@ipns = Ipn.all
|
|
end
|
|
|
|
def show
|
|
end
|
|
|
|
def new
|
|
end
|
|
|
|
def create
|
|
#TODO: ensure the request is actually from paypal
|
|
@ipn = Ipn.new_from_dynamic_params(params)
|
|
@ipn.data = params.to_json
|
|
@ipn.save
|
|
render :nothing => true
|
|
end
|
|
|
|
def link
|
|
result = @ipn.link_payment
|
|
if result.first
|
|
redirect_to ipns_url, :notice => 'Payment was successfully linked.'
|
|
else
|
|
redirect_to ipns_url, :notice => result.last
|
|
end
|
|
end
|
|
|
|
end |