48 lines
1.8 KiB
Ruby
48 lines
1.8 KiB
Ruby
class PaymentsController < ActionController::Base
|
|
protect_from_forgery with: :exception,:except => [:recieve_result,:pay]
|
|
layout :dynamic
|
|
before_action :allow_cross_domain_access,:only => :recieve_result
|
|
def dynamic
|
|
if action_name != 'recieve_result'
|
|
"structure"
|
|
else
|
|
false
|
|
end
|
|
end
|
|
def allow_cross_domain_access
|
|
headers['Access-Control-Allow-Origin'] = '*'
|
|
headers['Access-Control-Allow-Methods'] = 'GET, POST, PUT, DELETE, OPTIONS'
|
|
headers['Access-Control-Allow-Headers'] = %w{Origin Accept Content-Type X-Requested-With X-CSRF-Token}.join(',')
|
|
headers['Access-Control-Max-Age'] = '1728000'
|
|
end
|
|
def recieve_result
|
|
setup = PaymentSetupList.find(params['payment_id']) rescue nil
|
|
if !setup.nil?
|
|
helper1 = setup.helper_method
|
|
result = helper1.valid_check_value(setup,params)
|
|
@html = result
|
|
else
|
|
@html = 'something went wrong'
|
|
end
|
|
end
|
|
def pay
|
|
setup = PaymentSetupList.find(params['payment_id']) rescue nil
|
|
if !setup.nil?
|
|
payment_pay = PaymentPay.find(params['pay_id']) rescue nil
|
|
if !payment_pay.nil?
|
|
user = User.find(session[:user_id]) if session[:user_id] rescue nil
|
|
member_id = (user.member_profile.id if !user.nil? rescue nil)
|
|
order_num = Admin::PaymentSetupHelper.new_ordernum(setup.payment_type)
|
|
amount = payment_pay.amount
|
|
helper1 = setup.helper_method
|
|
hash_data = helper1.pay(params,setup,params['recieve_url'].to_s+payment_recieve_result_path(I18n.locale,setup.id,member_id,payment_pay.id),order_num,amount)
|
|
redirect_post(hash_data['form_url'], params: hash_data['data'])
|
|
else
|
|
render :text => 'something went wrong'
|
|
end
|
|
else
|
|
render :text => 'something went wrong'
|
|
end
|
|
end
|
|
end
|