focas-client 0.1.7 → 0.1.8

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.
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)