class WebpayInterswitch::Gateway

Constants

ACCEPTED_CURRENCIES

ACCEPTED_CURRENCIES:

  • Naira (In Kobo)

LIVE_URL
TEST_URL

Public Class Methods

setup() { |self| ... } click to toggle source
# File lib/webpay_interswitch/gateway.rb, line 23
def self.setup
  yield self
  set_defaults!
end
url() click to toggle source
# File lib/webpay_interswitch/gateway.rb, line 19
def self.url
  WebpayInterswitch::Gateway.test ? TEST_URL : LIVE_URL
end

Private Class Methods

set_defaults!() click to toggle source
# File lib/webpay_interswitch/gateway.rb, line 35
def self.set_defaults!
  # Default currency to Naira (Kobo)
  @@currency ||= '566'

  ## Default test to true.
  ## Set this to false explicitly only in production environment.
  @@test ||= false
end

Public Instance Methods

validate!() click to toggle source
# File lib/webpay_interswitch/gateway.rb, line 28
def validate!
  requires!(:product_id, :pay_item_id, :currency, :site_redirect_url, :mac_key)
  validate_currency!
end

Private Instance Methods

requires!(*required_parameters) click to toggle source
# File lib/webpay_interswitch/gateway.rb, line 44
def requires!(*required_parameters)
  required_parameters.each do |parameter|
    raise WebpayInterswitch::MissingParameterError if (self.public_send(parameter).blank?)
  end
end
validate_currency!() click to toggle source
# File lib/webpay_interswitch/gateway.rb, line 50
def validate_currency!
  raise WebpayInterswitch::UnsupportedCurrencyError unless ACCEPTED_CURRENCIES.include?(@@currency.to_s)
end