Untitled

 avatar
unknown
ruby
3 years ago
1.9 kB
4
Indexable
require 'digest'
class NarayanaWeb < Sinatra::Base


	get '/finishInvoice' do
		result = @api.query("", { :url => "http://10.5.0.3:3000/invoices/closeInvoice?id=" + params['MERCHANT_ORDER_ID'].to_s })
		if (result == 'true') then
			invoice = @api.query("", { :url => "http://10.5.0.3:3000/invoices/getInvoices?id=" + params['MERCHANT_ORDER_ID'].to_s })
			login = invoice[0]['login']
			adm_user = {
				:username => @config[:site][:adm_login],
				:login => @config[:site][:adm_login],
				:password => Digest::MD5.hexdigest(@config[:site][:adm_pass])
			}
			users = @api.query('getUsers', {}, adm_user, false, true )
			users = JSON.parse(JSON.parse(users)['response'])
            for user in users
                if (user['username'] == login) then
                    amount_rub = params['AMOUNT'].to_f * (1 - @config[:site][:comission].to_f.round(2) )
                    course = @config[:site][:course].to_f
                    res = @api.query("transferMoney", {
                        :destination => user['username'],
                        :amount => amount_rub / course
                    }, adm_user, false, true)
 
                end
            end
		end
		return 'OK'
	end	


	get '/invoice/download/:id' do 

		invoice  =  @api.query("viewInvoice", {:invoice => params[:id]}, @user, false, true)
	    content_type = "application/pdf"
	    attachment('Invoice ' + params[:id] + '.pdf')
	    invoice
	end


	# view invoice
	get '/invoice/:id' do
		@invoice = {}
		@title = @lang.title_invoice % @params[:id]
		invoice = @api.query("", {:url => "http://10.5.0.3:3000/invoices/getInvoices?id=" + @params[:id]}, @user) || {}
		md5 = Digest::MD5.hexdigest "5567:"+invoice[0]['amount'].to_s+":E4sh*io)=}pDxo(:EUR:"+invoice[0]['id'].to_s
		redirect "https://pay.freekassa.ru/?m=5567&oa="+invoice[0]['amount'].to_s+"&currency=EUR&o="+invoice[0]['id'].to_s+"&s="+md5
	end

end

Editor is loading...