Module: Eloan::Api

Includes:
Helper::Payment, Helper::Request, Helper::Service, Helper::Signature
Included in:
Client
Defined in:
lib/eloan/api.rb

Instance Attribute Summary

Attributes included from Helper::Service

#chaxue

Instance Method Summary collapse

Methods included from Helper::Request

#request_params

Methods included from Helper::Payment

#generate_default_params

Methods included from Helper::Signature

#handle_request_data, #handle_response_data, #hexdigest, #verify?

Methods included from Helper::Service

#generate_request_url, #handle_params, #raw_response

Instance Method Details

#pay(code, data = {}) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/eloan/api.rb', line 13

def pay code, data = {}
  request = request_params(code.to_s)
  url = generate_request_url(request[:url])
  request_method = request[:method]

  options = handle_params(generate_default_params.merge(data))
  default_params = request[:default]
  default_params.keys.each{|k| options[k] = default_params[k] if options[k].blank? }
  
  eloan_message = handle_request_data(request_method, url, options)
  instance_variable_set(:@eloan_message, eloan_message)
  options["signature"] = hexdigest(eloan_message)

  response = execute(request_method, url, options)
end

#verify(options) ⇒ Object



29
30
31
32
33
# File 'lib/eloan/api.rb', line 29

def verify options
  signature =  options.delete('signature')
  data = handle_response_data options
  verify?(data, signature)
end