so_paid 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -78,14 +78,24 @@ module SoPaid
78
78
  end
79
79
 
80
80
 
81
- def self.verify_transaction_signature(message)
82
- if message[:req_merchant_defined_data100].present? and message[:req_merchant_defined_data100] == "test"
81
+ def self.verify_transaction_signature(params)
82
+ if params[:req_merchant_defined_data100].present? and params[:req_merchant_defined_data100] == "test"
83
83
  secret_key = get_secret_key_for(:test)
84
84
  else
85
85
  secret_key = get_secret_key_for(:live)
86
86
  end
87
+ pub_digest = sign_params(params[:signed_field_names], params, secret_key)
88
+ pub_digest.eql?(params[:signature].strip)
89
+ end
87
90
 
88
- verify_signature(message[:signed_field_names], message[:signature], secret_key)
91
+ def self.sign_params(field_list, params, secret_key)
92
+ field_list = field_list.split(",") if field_list.is_a? String
93
+ data = []
94
+ field_list.each do |key|
95
+ data << key.to_s + "=" + params[key].to_s
96
+ end
97
+ data = data.join(",")
98
+ encode_hop(data, secret_key)
89
99
  end
90
100
 
91
101
  def self.get_secret_key_for(targ_env)
@@ -136,17 +146,7 @@ module SoPaid
136
146
 
137
147
 
138
148
  def set_signature
139
- @pv_order_params[:signature] = sign_params
140
- end
141
-
142
-
143
- def sign_params
144
- data = []
145
- @merged_pv_opts[:signed_field_names].each do |key|
146
- data << key.to_s + "=" + @pv_order_params[key].to_s
147
- end
148
- data = data.join(",")
149
- self.class.encode_hop(data, @merged_pv_opts[:secret_key])
149
+ @pv_order_params[:signature] = self.class.sign_params(@merged_pv_opts[:signed_field_names], @pv_order_params, @merged_pv_opts[:secret_key])
150
150
  end
151
151
 
152
152
 
data/lib/so_paid/hop.rb CHANGED
@@ -40,15 +40,6 @@ module SoPaid
40
40
  Base64.encode64(mac.digest).gsub "\n", ''
41
41
  end
42
42
 
43
- def self.verify_signature(data, signature, secret_key)
44
- pub_digest = encode_hop(data, secret_key)
45
- pub_digest.eql?(signature)
46
- end
47
-
48
- def self.verify_transaction_signature(message)
49
- raise "verify_transaction_signature needs to be defined in child class"
50
- end
51
-
52
43
 
53
44
  def initialize(order, pv_options={}, config_options={})
54
45
  @pv_order_params = {}.with_indifferent_access
@@ -1,3 +1,3 @@
1
1
  module SoPaid
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: so_paid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: