class OffsitePayments::Integrations::Liqpay::Notification

def self.recognizes?(params)

def self.recognizes?(params)
  params.has_key?('amount') && params.has_key?('order_id')
end

def account

def account
  params['merchant_id']
end

def acknowledge(authcode = nil)

def acknowledge(authcode = nil)
  security_key == generate_signature
end

def action_name

def action_name
  params['action_name'] # either 'result_url' or 'server_url'
end

def amount

def amount
  Money.from_amount(BigDecimal.new(gross), currency)
end

def code

def code
  params['code']
end

def complete?

def complete?
  status == 'success'
end

def currency

def currency
  params['currency']
end

def generate_signature

def generate_signature
  Base64.encode64(Digest::SHA1.digest(generate_signature_string)).strip
end

def generate_signature_string

def generate_signature_string
  "#{@options[:secret]}#{Base64.decode64(xml)}#{@options[:secret]}"
end

def gross

def gross
  params['amount']
end

def initialize(post, options = {})

def initialize(post, options = {})
  raise ArgumentError if post.blank?
  super
  @params.merge!(Hash.from_xml(Base64.decode64(xml))["response"])
end

def item_id

def item_id
  params['order_id']
end

def security_key

def security_key
  params[OffsitePayments::Integrations::Liqpay.signature_parameter_name]
end

def sender_phone

def sender_phone
  params['sender_phone']
end

def status

def status
  params['status'] # 'success', 'failure' or 'wait_secure'
end

def transaction_id

def transaction_id
  params['transaction_id']
end

def version

def version
  params['version']
end

def xml

def xml
  @params["operation_xml"]
end