module OffsitePayments::Integrations::Robokassa::Common

def generate_signature

def generate_signature
  Digest::MD5.hexdigest(generate_signature_string)
end

def generate_signature_string

def generate_signature_string
  custom_param_keys = params.keys.select {|key| key =~ /^shp/}.sort
  custom_params = custom_param_keys.map {|key| "#{key}=#{params[key]}"}
  [main_params, secret, custom_params.compact].flatten.join(':')
end