module Omnikassa2

Constants

SETTINGS
VERSION

Public Class Methods

announce_order(order_announcement) click to toggle source
# File lib/omnikassa2.rb, line 67
def self.announce_order(order_announcement)
  response = Omnikassa2::OrderAnnounceRequest.new(order_announcement).send

  raise Omnikassa2::HttpError, response.to_s unless response.success?
  raise Omnikassa2::InvalidSignatureError unless response.valid_signature?

  response
end
base_url() click to toggle source
# File lib/omnikassa2.rb, line 56
def self.base_url
  case @@base_url
  when :production
    'https://betalen.rabobank.nl/omnikassa-api'
  when :sandbox
    'https://betalen.rabobank.nl/omnikassa-api-sandbox'
  else
    @@base_url
  end
end
config(settings) click to toggle source
# File lib/omnikassa2.rb, line 33
def self.config(settings)
  for setting in SETTINGS
    value = settings[setting.to_sym]
    raise ConfigError, "config setting '#{setting}' missing" if value.nil?

    class_variable_set '@@' + setting.to_s, value
  end

  @@configured = true
end
configured?() click to toggle source
# File lib/omnikassa2.rb, line 44
def self.configured?
  @@configured
end
refresh_token() click to toggle source
# File lib/omnikassa2.rb, line 48
def self.refresh_token
  @@refresh_token
end
signing_key() click to toggle source
# File lib/omnikassa2.rb, line 52
def self.signing_key
  Base64.decode64(@@signing_key)
end
status_pull(notification) { |order_result| ... } click to toggle source
# File lib/omnikassa2.rb, line 76
def self.status_pull(notification)
  more_results_available = true
  while(more_results_available) do
    raise Omnikassa2::InvalidSignatureError unless notification.valid_signature?
    raise Omnikassa2::ExpiringNotificationError if notification.expiring?

    response = Omnikassa2::StatusPullRequest.new(notification).send

    raise Omnikassa2::HttpError, response.to_s unless response.success?
    raise Omnikassa2::InvalidSignatureError unless response.valid_signature?

    result_set = response.order_result_set
    result_set.order_results.each do |order_result|
      yield order_result
    end

    more_results_available = result_set.more_order_results_available
  end
end