so_paid 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: