Sha256: f6f9cf7efcc31b373217b8ab81b36c620b65ed97648a8a78a27823cf4d77afbc

Contents?: true

Size: 1.12 KB

Versions: 40

Compression:

Stored size: 1.12 KB

Contents

module ActiveMerchant #:nodoc:
  module Billing #:nodoc:
    module Integrations #:nodoc:
      module Robokassa
        class Notification < ActiveMerchant::Billing::Integrations::Notification
          include Common

          def self.recognizes?(params)
            params.has_key?('InvId') && params.has_key?('OutSum')
          end

          def complete?
            true
          end

          def amount
            BigDecimal.new(gross)
          end

          def item_id
            params['InvId']
          end

          def security_key
            params[ActiveMerchant::Billing::Integrations::Robokassa.signature_parameter_name].to_s.downcase
          end

          def gross
            params['OutSum']
          end

          def status
            'success'
          end

          def secret
            @options[:secret]
          end

          def main_params
            [gross, item_id]
          end

          def acknowledge
            security_key == generate_signature
          end

          def success_response(*args)
            "OK#{item_id}"
          end
        end
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 5 rubygems

Version Path
activemerchant-1.30.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
jelaniharris-activemerchant-1.29.2 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.29.3 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.29.2 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.29.1 lib/active_merchant/billing/integrations/robokassa/notification.rb
jelaniharris-activemerchant-1.29.1 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.29.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-nsp-1.27.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.28.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.27.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.26.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.25.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
jelaniharris-activemerchant-1.24.1 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.24.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
tlconnor-activemerchant-1.23.3 lib/active_merchant/billing/integrations/robokassa/notification.rb
tlconnor-activemerchant-1.23.2 lib/active_merchant/billing/integrations/robokassa/notification.rb
tlconnor-activemerchant-1.23.1 lib/active_merchant/billing/integrations/robokassa/notification.rb
tlconnor-activemerchant-1.23.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.23.0 lib/active_merchant/billing/integrations/robokassa/notification.rb
activemerchant-1.22.0 lib/active_merchant/billing/integrations/robokassa/notification.rb