class Origami::VoucherController < BaseOrigamiController def index @sale_id = params[:sale_id] # limit voucher_amount sale_data = Sale.find_by_sale_id(@sale_id) total = sale_data.grand_total @vouchercount = 0 others = 0 sale_data.sale_payments.each do |sale_payment| if sale_payment.payment_method == "voucher" @vouchercount = @vouchercount + sale_payment.payment_amount else others = others + sale_payment.payment_amount end end @can_voucher = total - @vouchercount - others end def create cash = params[:amount] sale_id = params[:sale_id] voucher_no = params[:refnumber] if(Sale.exists?(sale_id)) customer_data= Customer.find_by_customer_id(sale_data.customer_id) if customer_data membership_id = customer_data.membership_id membership_setting = MembershipSetting.find_by_membership_type("paypar_url") if membership_setting.gateway_url member_actions =MembershipAction.find_by_membership_type("get_account_balance") #need to modify here if member_actions.gateway_url campaign_type_id = member_actions.additional_parameter["campaign_type_id"] url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s merchant_uid= member_actions.merchant_account_id auth_token = member_actions.auth_token.to_s # membership_data = SalePayment.get_paypar_account(url,membership_setting.auth_token,@membership_id,@campaign_type_id,merchant_uid,auth_token) # if membership_data["status"]==true # app_token: token,membership_id:membership_id, # campaign_type_id:campaign_type_id,merchant_uid:merchant_uid, # auth_token:auth_token begin response = HTTParty.get(url, :body => { voucher_no: voucher_no,membership_id:membership_id }.to_json, :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }, :timeout => 10 ) rescue Net::OpenTimeout response = { status: false } rescue OpenURI::HTTPError response = { status: false} rescue SocketError response = { status: false} end # end end end end if( response["status"]==true ) saleObj = Sale.find(sale_id) sale_payment = SalePayment.new @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher") end end end end