class Assist::WebServices::OrderStatus

Constants

PERMITTED_EXTRA_PARAMS
SERVICE_PATH

Public Class Methods

new(order_number, extra_params = {}) click to toggle source
Calls superclass method Assist::WebServices::Base::new
# File lib/assist/web_services/order_status.rb, line 16
def initialize(order_number, extra_params = {})
  super(extra_params)
  @params[:ordernumber] = order_number
end

Public Instance Methods

billnumber() click to toggle source
# File lib/assist/web_services/order_status.rb, line 25
def billnumber
  result.last.fetch(:billnumber)
end
status() click to toggle source
# File lib/assist/web_services/order_status.rb, line 21
def status
  result.last.fetch(:orderstate)
end

Private Instance Methods

parse_result() click to toggle source
# File lib/assist/web_services/order_status.rb, line 31
def parse_result
  result =
    response_xml.elements.each("result/order") {}.map do |el|
      Hash[el.elements.map { |e| [normalize(e.name), e.text] }]
    end
  verify_checkvalue!(result.last) if Assist.config.checkvalue?
  result
end
verify_checkvalue!(attrs) click to toggle source
# File lib/assist/web_services/order_status.rb, line 40
def verify_checkvalue!(attrs)
  checkvalue = attrs.delete(:checkvalue)
  hash = {}

  [:orderamount, :ordercurrency, :orderstate].each do |attr_name|
    hash[attr_name] = attrs[attr_name]
  end

  [:merchant_id, :ordernumber].each do |attr_name|
    hash[attr_name] = params[attr_name]
  end

  return if checkvalue == generate_checkvalue(hash, '')
  raise Exception::APIError, "Wrong checkvalue"
end