focas-client 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 669f15d07af72519ab202c2a7e23fbc9dc0d71fe5378ea9d2df3aed07d897d75
4
- data.tar.gz: 1a41cc58bb6def738004ecbcf17bc5e8cb23cfb8683a1cefa2f8291791405271
3
+ metadata.gz: 11c68d05214acea7703f3cff2606620e97d69ccccb3eb7388b7aa67a9433362b
4
+ data.tar.gz: 26268e6e37ddf84838731d261833326b7e302c36f773aca886d18650d070d4a0
5
5
  SHA512:
6
- metadata.gz: 83440f5576fb35d9f97c0f0ec7bd04676b035838adc93126fe8cead7a45f3bce9d85e9217d9389f8cc8b4272ae96033e2dbb4a346f502b984a1a3ab7291547b9
7
- data.tar.gz: 1d7f634f7b1c29fbb9db6e1bcd468c31e698861c837d31e69a3f374f4e3829421802f71033c4e263b96ef3fee3cee56efbb8f98561ebd312e04967bc1989f01a
6
+ metadata.gz: 3e0a77e689ada7cdeb6c84d7230bf9707a74f640880c6ebd078b0f509bec1f8fdc9d1837734fea1159c26dd847ce090cb4115c1e8c5d03ab84b7a3f7ded14175
7
+ data.tar.gz: 739e18dedc19d9730149ccf1448a3db0abec7a5414242e521b4466dcc961caa9b58e28a4c668b61297b825d8ca71cdff3d7ac226449983f2c2974d2418fa378d
data/CHANGELOG.md CHANGED
@@ -1 +1 @@
1
- ## 0.1.7 (開發中)
1
+ ## 0.1.8 (開發中)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- focas-client (0.1.7)
4
+ focas-client (0.1.8)
5
5
  activesupport (>= 4.0)
6
6
 
7
7
  GEM
data/lib/focas/config.rb CHANGED
@@ -100,5 +100,55 @@ module Focas
100
100
  def create_lidm
101
101
  lidm = "#{Time.now.strftime("%Y%m%d%H%M%S")}_#{SecureRandom.hex(2).upcase}"
102
102
  end
103
+
104
+ def check_resp_token(data)
105
+ # 資料錯誤的先 return
106
+ return false if not data
107
+
108
+ ret = data.transform_keys(&:to_sym)
109
+ return false if not ret[:respToken]
110
+
111
+ begin
112
+ # to hash
113
+ resp_token = ret[:respToken]
114
+
115
+ options = Config.options
116
+ settings = options.transform_keys(&:to_sym)
117
+
118
+ # 檢查 ret[:status] 成功或失敗
119
+ if ret[:status] == '0'
120
+ # 成功
121
+ tmp_arr = %W(
122
+ #{ret[:status]}
123
+ #{ret[:lidm]}
124
+ #{settings[:token]}
125
+ #{ret[:authCode]}
126
+ #{ret[:authRespTime]}
127
+ #{settings[:MerchantID]}
128
+ #{settings[:TerminalID]}
129
+ )
130
+
131
+ hash_string = tmp_arr.join('&')
132
+ else
133
+ # 失敗
134
+ tmp_arr = %W(
135
+ #{ret[:status]}
136
+ #{ret[:errcode]}
137
+ #{ret[:lidm]}
138
+ #{settings[:token]}
139
+ #{ret[:authRespTime]}
140
+ #{settings[:MerchantID]}
141
+ #{settings[:TerminalID]}
142
+ )
143
+ end
144
+
145
+ # 開始驗證 token
146
+ hash_token = Digest::SHA256.hexdigest(hash_string).upcase
147
+ return (resp_token.upcase == hash_token)
148
+ rescue
149
+ return false
150
+ end
151
+ end
152
+
103
153
  end
104
154
  end
data/lib/focas/payment.rb CHANGED
@@ -46,55 +46,6 @@ module Focas
46
46
  @response['Status'] == 'SUCCESS'
47
47
  end
48
48
 
49
- def check_resp_token(data)
50
- # 資料錯誤的先 return
51
- return false if not data.present?
52
-
53
- ret = data.transform_keys(&:to_sym).to_h
54
- return false if not ret[:respToken].present?
55
-
56
- begin
57
- # to hash
58
- resp_token = ret[:respToken]
59
-
60
- options = Config.options
61
- settings = options.transform_keys(&:to_sym)
62
-
63
- # 檢查 ret[:status] 成功或失敗
64
- if ret[:status] == '0'
65
- # 成功
66
- tmp_arr = %W(
67
- #{ret[:status]}
68
- #{ret[:lidm]}
69
- #{settings[:token]}
70
- #{ret[:authCode]}
71
- #{ret[:authRespTime]}
72
- #{settings[:MerchantID]}
73
- #{settings[:TerminalID]}
74
- )
75
-
76
- hash_string = tmp_arr.join('&')
77
- else
78
- # 失敗
79
- tmp_arr = %W(
80
- #{ret[:status]}
81
- #{ret[:errcode]}
82
- #{ret[:lidm]}
83
- #{settings[:token]}
84
- #{ret[:authRespTime]}
85
- #{settings[:MerchantID]}
86
- #{settings[:TerminalID]}
87
- )
88
- end
89
-
90
- # 開始驗證 token
91
- hash_token = Digest::SHA256.hexdigest(hash_string).upcase
92
- return (resp_token.upcase == hash_token)
93
- rescue
94
- return false
95
- end
96
- end
97
-
98
49
  private
99
50
 
100
51
  def set_trade_info
data/lib/focas/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Focas
4
- VERSION = '0.1.7'
4
+ VERSION = '0.1.8'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: focas-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lin (pct)