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 +4 -4
- data/CHANGELOG.md +1 -1
- data/Gemfile.lock +1 -1
- data/lib/focas/config.rb +50 -0
- data/lib/focas/payment.rb +0 -49
- data/lib/focas/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11c68d05214acea7703f3cff2606620e97d69ccccb3eb7388b7aa67a9433362b
|
4
|
+
data.tar.gz: 26268e6e37ddf84838731d261833326b7e302c36f773aca886d18650d070d4a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e0a77e689ada7cdeb6c84d7230bf9707a74f640880c6ebd078b0f509bec1f8fdc9d1837734fea1159c26dd847ce090cb4115c1e8c5d03ab84b7a3f7ded14175
|
7
|
+
data.tar.gz: 739e18dedc19d9730149ccf1448a3db0abec7a5414242e521b4466dcc961caa9b58e28a4c668b61297b825d8ca71cdff3d7ac226449983f2c2974d2418fa378d
|
data/CHANGELOG.md
CHANGED
@@ -1 +1 @@
|
|
1
|
-
## 0.1.
|
1
|
+
## 0.1.8 (開發中)
|
data/Gemfile.lock
CHANGED
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