class Pesapal::QueryPaymentStatus

Constants

API_ACTION
HTTP_METHOD

Attributes

pesapal_merchant_reference[R]
pesapal_transaction_tracking_id[R]
test[R]
token[R]

Public Class Methods

new(pesapal_merchant_reference, pesapal_transaction_tracking_id, test=true) click to toggle source
# File lib/mobile-money/pesapal/query_payment_status.rb, line 14
def initialize(pesapal_merchant_reference, pesapal_transaction_tracking_id, test=true)
  @pesapal_merchant_reference   = pesapal_merchant_reference
  @pesapal_transaction_tracking_id    = pesapal_transaction_tracking_id
  @token           = nil
  @test            = test
end

Public Instance Methods

api_domain() click to toggle source
# File lib/mobile-money/pesapal/query_payment_status.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/query_payment_status.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/query_payment_status.rb, line 39
def consumer_key
  Rails.application.secrets.pesapal_consumer_key
end
consumer_secret() click to toggle source
# File lib/mobile-money/pesapal/query_payment_status.rb, line 43
def consumer_secret
  Rails.application.secrets.pesapal_consumer_secret
end
params() click to toggle source
# File lib/mobile-money/pesapal/query_payment_status.rb, line 56
def params
  @params ||= {
      'pesapal_merchant_reference'       => pesapal_merchant_reference,
      'pesapal_transaction_tracking_id' => pesapal_transaction_tracking_id,
  }
end
params_to_string() click to toggle source
# File lib/mobile-money/pesapal/query_payment_status.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/query_payment_status.rb, line 51
def request_url
  API_ACTION + "?" + params_to_string
end
signed_request() click to toggle source
# File lib/mobile-money/pesapal/query_payment_status.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/query_payment_status.rb, line 25
def url
  "#{api_domain}#{signed_request.path}"
end