Sha256: 7eaecede5d16b9c6660c3a812a974db6e1e4eb8651ab181506f97def2071074b
Contents?: true
Size: 944 Bytes
Versions: 2
Compression:
Stored size: 944 Bytes
Contents
# -*- encoding : utf-8 -*- module Rubykassa module SignatureGenerator def generate_signature_for kind raise ArgumentError, "Available kinds are only :payment, :result or :success" if ![:success, :payment, :result].include? kind custom_param_keys = @params.keys.select {|key| key =~ /^shp/ }.sort custom_params = custom_param_keys.map {|key| "#{key}=#{params[key]}"} custom_params_string = custom_params.present? ? ":#{custom_params}" : "" if kind == :payment string = [Rubykassa.login, @total, @invoice_id, Rubykassa.first_password].join(":") + custom_params_string elsif kind == :result string = [@total, @invoice_id, Rubykassa.second_password].join(":") + custom_params_string elsif kind == :success string = [@total, @invoice_id, Rubykassa.first_password].join(":") + custom_params_string end signature = Digest::MD5.hexdigest(string) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubykassa-0.1.1 | lib/rubykassa/signature_generator.rb |
rubykassa-0.1.0 | lib/rubykassa/signature_generator.rb |