class Pesapal::OrderUrl
Constants
- API_ACTION
- HTTP_METHOD
Attributes
callback_url[R]
post_data_xml[R]
test[R]
token[R]
Public Class Methods
new(post_data_xml, callback_url, test=true)
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 14 def initialize(post_data_xml, callback_url, test=true) @post_data_xml = post_data_xml @callback_url = callback_url @token = nil @test = test end
Public Instance Methods
api_domain()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 21 def api_domain test ? 'http://demo.pesapal.com' : 'https://www.pesapal.com' end
consumer()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 29 def consumer @consumer ||= begin OAuth::Consumer.new(consumer_key, consumer_secret, { site: api_domain, http_method: HTTP_METHOD, scheme: :query_string }) end end
consumer_key()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 39 def consumer_key Rails.application.secrets.pesapal_consumer_key end
consumer_secret()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 43 def consumer_secret Rails.application.secrets.pesapal_consumer_secret end
escaped_xml()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 71 def escaped_xml HTMLEntities.new.encode(post_data_xml) end
params()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 56 def params @params ||= { 'oauth_callback' => callback_url, 'pesapal_request_data' => escaped_xml, } end
params_to_string()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 63 def params_to_string strings = [] params.each do |key, value| strings << "#{key}=#{ERB::Util.url_encode(value)}" end strings.join('&') end
request_url()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 51 def request_url API_ACTION + "?" + params_to_string end
signed_request()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 47 def signed_request consumer.create_signed_request HTTP_METHOD, request_url, nil, {}, params end
url()
click to toggle source
# File lib/mobile-money/pesapal/order_url.rb, line 25 def url "#{api_domain}#{signed_request.path}" end