module Rubykassa::SignatureGenerator
Public Instance Methods
custom_params()
click to toggle source
# File lib/rubykassa/signature_generator.rb, line 19 def custom_params @params.sort.inject([]) do |result, element| result << element.join("=") if element[0] =~ /^shp/ result end end
generate_signature_for(kind)
click to toggle source
# File lib/rubykassa/signature_generator.rb, line 3 def generate_signature_for kind raise ArgumentError, "Available kinds are only :payment, :result or :success" unless [:success, :payment, :result].include? kind Digest::MD5.hexdigest(params_string(kind)) end
params_string(kind)
click to toggle source
# File lib/rubykassa/signature_generator.rb, line 8 def params_string kind string = case kind when :payment [Rubykassa.login, @total, @invoice_id, Rubykassa.first_password, custom_params].flatten.join(":") when :result [@total, @invoice_id, Rubykassa.second_password, custom_params].flatten.join(":") when :success [@total, @invoice_id, Rubykassa.first_password, custom_params].flatten.join(":") end end