payment_settup/app/controllers/payments_controller.rb

48 lines
1.8 KiB
Ruby
Raw Permalink Normal View History

2020-05-28 14:04:48 +00:00
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