Class: Payr::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/payr/client.rb

Instance Method Summary collapse

Instance Method Details

#check_response(query) ⇒ Object



42
43
44
45
46
# File 'lib/payr/client.rb', line 42

def check_response query
	params = re_build_query query
	signature = get_signature query
	signed? params, signature
end

#check_response_ipn(params) ⇒ Object

QQQ Improve to use re_build_ipn_query



49
50
51
52
53
# File 'lib/payr/client.rb', line 49

def check_response_ipn params
	signature =  get_signature params
	query_params = re_build_query params
	signed? query_params, signature
end

#get_paybox_params_from(params) ⇒ Object

Raises:

  • (ArgumentError)


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/payr/client.rb', line 8

def get_paybox_params_from params
	raise ArgumentError if params[:command_id].nil? || params[:buyer_email].nil? || params[:total_price].nil?
	raise ArgumentError if params[:callbacks].nil?
	command_timestamp = Time.now.utc.iso8601
	returned_hash = { pbx_site: Payr.site_id, 
										pbx_rang: Payr.rang,
										pbx_identifiant: Payr.paybox_id,
										pbx_total: params[:total_price],
										pbx_devise: convert_currency,
										pbx_cmd: params[:command_id],
										pbx_porteur: params[:buyer_email],
										pbx_retour: build_return_variables(Payr.callback_values),
										pbx_hash: Payr.hash.upcase,
										pbx_time: command_timestamp }



	returned_hash.merge!(pbx_effectue: params[:callbacks][:paid],
										 	 pbx_refuse: 	 params[:callbacks][:refused],
										   pbx_annule: 	 params[:callbacks][:cancelled])			

	returned_hash.merge!(pbx_repondre_a: params[:callbacks][:ipn])

          # optionnal parameters
    returned_hash.merge!(pbx_typepaiement: Payr.typepaiement, 
                         pbx_typepcarte: Payr.typecard) unless Payr.typepaiement.nil? || Payr.typecard.nil?

    returned_hash.merge! params[:options] unless params[:options].blank?
	base_params = self.to_base_params(returned_hash)			

	returned_hash.merge(pbx_hmac: self.generate_hmac(base_params))
end

#select_server_urlObject



55
56
57
58
59
# File 'lib/payr/client.rb', line 55

def select_server_url
	[Payr.paybox_url, Payr.paybox_url_back_one, Payr.paybox_url_back_two].each do |url|
		return url if check_server_availability(url)
	end
end