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