44 lines
879 B
Ruby
44 lines
879 B
Ruby
class IpnsController < ApplicationController
|
|
load_and_authorize_resource :ipn, :except => [:new, :create]
|
|
before_filter :authenticate_user!
|
|
|
|
protect_from_forgery :except => [:create]
|
|
|
|
def index
|
|
@ipns = Ipn.all
|
|
end
|
|
|
|
def show
|
|
end
|
|
|
|
def new
|
|
end
|
|
|
|
def create
|
|
@ipn = Ipn.new_from_dynamic_params(params)
|
|
@ipn.data = params.to_json
|
|
@ipn.save
|
|
render :nothing => true
|
|
unless @ipn.validate!
|
|
Rails.logger.error "Unable to validate IPN: #{@ipn.inspect}"
|
|
end
|
|
end
|
|
|
|
def validate
|
|
if @ipn.validate!
|
|
redirect_to ipns_url, :notice => 'Valid!'
|
|
else
|
|
redirect_to ipns_url, :notice => 'INVALID'
|
|
end
|
|
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 |