45 lines
911 B
Ruby
45 lines
911 B
Ruby
class IpnsController < ApplicationController
|
|
load_and_authorize_resource :ipn, :except => [:new, :create]
|
|
before_filter :authenticate_user!, :except => [:new, :create]
|
|
|
|
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
|