Class: Payr::Client
- Inherits:
-
Object
- Object
- Payr::Client
- Defined in:
- lib/payr/client.rb
Instance Method Summary collapse
- #check_response(query) ⇒ Object
-
#check_response_ipn(params) ⇒ Object
QQQ Improve to use re_build_ipn_query.
- #get_paybox_params_from(params) ⇒ Object
- #select_server_url ⇒ Object
Instance Method Details
#check_response(query) ⇒ Object
40 41 42 43 44 |
# File 'lib/payr/client.rb', line 40 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
47 48 49 50 51 |
# File 'lib/payr/client.rb', line 47 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
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 |
# 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? = 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: } # optionnal parameters returned_hash.merge!(pbx_typepaiement: Payr.typepaiement, pbx_typepcarte: Payr.typecard) unless Payr.typepaiement.nil? || Payr.typecard.nil? returned_hash.merge!(pbx_effectue: params[:callbacks][:paid], pbx_refuse: params[:callbacks][:refused], pbx_annule: params[:callbacks][:cancelled], pbx_repondre_a: params[:callbacks][:cancelled]) returned_hash.merge!(pbx_repondre_a: params[:callbacks][:ipn]) base_params = self.to_base_params(returned_hash) returned_hash.merge(pbx_hmac: self.generate_hmac(base_params)) end |
#select_server_url ⇒ Object
53 54 55 56 57 |
# File 'lib/payr/client.rb', line 53 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 |