comgate_ruby 0.8.1 → 0.8.3
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 +6 -0
- data/Gemfile.lock +1 -1
- data/README.md +5 -1
- data/lib/comgate/api_caller.rb +6 -3
- data/lib/comgate/gateway.rb +8 -4
- data/lib/comgate/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f70dc5da596b91029a905c8cdb1987b96e805d9d222f54c3a8896947119ca0c8
|
4
|
+
data.tar.gz: 6ffc03ac6e2e119c35bce6aa561bab416c20f63dd8b8748c186969952e3f82ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 994a8c9c9450d07e709da2dfe4e7787cffc72e3176b18ec0a1ac8b10718c6b6f9b848fb83e83a28017c5fc06d36ebf87d51b02b8a7720fe7600a2e40cc3fab9d
|
7
|
+
data.tar.gz: 5f512b4a460484552f42304cd539a45dbb233e8c2344f037b8ab5712537e5139f5607293f735e069fb064ca36084b273d199ed10abf9f5e0d1cf4fd9688756e4
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## [0.8.3] - 2023-06-27
|
2
|
+
- If response from Comgate API is error, but containt "transId" we do not raise exception but pass info up to stack
|
3
|
+
|
4
|
+
## [0.8.2] - 2023-06-20
|
5
|
+
- If ENV["COMGATE_MIN_LOG_LEVEL"] is set, calls and responses to Comgate are logged at that level. Otherwise `:debug` is used.
|
6
|
+
|
1
7
|
## [0.8.1] - 2023-06-13
|
2
8
|
- Allowed `proxy_uri` param for Comgate::Gateway
|
3
9
|
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -148,7 +148,9 @@ Maximal mixed version looks like:
|
|
148
148
|
expiration_time: "10h", # input ( use "m" or "h" or "d", but only one of them; allowed rage "30m".."7d")
|
149
149
|
description: "Some description",
|
150
150
|
reccurrence: { init_transaction_id: "12AD-dfsA-4568",
|
151
|
-
period: 1
|
151
|
+
period: 1,
|
152
|
+
cycle: :month, # :on_demand
|
153
|
+
valid_to: } },
|
152
154
|
},
|
153
155
|
payer: {
|
154
156
|
email: "payer1@gmail.com", # input/output
|
@@ -189,6 +191,8 @@ This may be refactored in future.
|
|
189
191
|
## One more thing
|
190
192
|
This gem extends `Hash` with methods `deep_symbolize_keys` and `deep_merge` (if needed).
|
191
193
|
|
194
|
+
Every request to Comgate is logged/printout at `:debug` level. You can change the minimal level with ENV variable "COMGATE_MIN_LOG_LEVEL".
|
195
|
+
|
192
196
|
## Development
|
193
197
|
|
194
198
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/comgate/api_caller.rb
CHANGED
@@ -122,9 +122,10 @@ module Comgate
|
|
122
122
|
def record_api_error
|
123
123
|
return unless api_error?
|
124
124
|
|
125
|
-
|
125
|
+
msg = [result[:response_body]["message"], result[:response_body]["extraMessage"]].compact.join(" ")
|
126
|
+
errors[:api] = ["[Error ##{result[:response_body]["error"]}] #{msg}"]
|
126
127
|
@result[:errors] = { api: { code: result[:response_body]["error"].to_i,
|
127
|
-
message:
|
128
|
+
message: msg } }
|
128
129
|
end
|
129
130
|
|
130
131
|
def api_error?
|
@@ -167,11 +168,13 @@ module Comgate
|
|
167
168
|
else
|
168
169
|
puts("#{Time.now} [#{forced_log_level(level)}] #{message}")
|
169
170
|
end
|
171
|
+
rescue StandardError => e
|
172
|
+
puts("#{Time.now} [#{forced_log_level(level)}] #{message} - #{e}")
|
170
173
|
end
|
171
174
|
|
172
175
|
def forced_log_level(original_level)
|
173
176
|
levels = { debug: 0, info: 1, error: 2 }
|
174
|
-
minimal_level = :
|
177
|
+
minimal_level = ENV["COMGATE_MIN_LOG_LEVEL"]&.to_sym || :debug
|
175
178
|
levels[original_level] > levels[minimal_level] ? original_level : minimal_level
|
176
179
|
end
|
177
180
|
|
data/lib/comgate/gateway.rb
CHANGED
@@ -42,6 +42,7 @@ module Comgate
|
|
42
42
|
transferId: %i[transfer_id],
|
43
43
|
code: %i[code],
|
44
44
|
message: %i[message],
|
45
|
+
extraMessage: %i[extra_message],
|
45
46
|
payerId: %i[payer id],
|
46
47
|
payerName: %i[payer account_name],
|
47
48
|
payer_name: %i[payer account_name],
|
@@ -148,7 +149,7 @@ module Comgate
|
|
148
149
|
def process_callback(comgate_params)
|
149
150
|
Comgate::Response.new({ response_body: comgate_params }, DATA_CONVERSION_HASH)
|
150
151
|
end
|
151
|
-
alias process_payment_callback process_callback
|
152
|
+
alias process_payment_callback process_callback # backward compatibility
|
152
153
|
|
153
154
|
def allowed_payment_methods(payment_data)
|
154
155
|
ph = gateway_params.merge(convert_data_to_comgate_params(%i[curr lang country], payment_data, required: false))
|
@@ -181,7 +182,7 @@ module Comgate
|
|
181
182
|
if srv.success?
|
182
183
|
Comgate::Response.new(srv.result, conversion_hash)
|
183
184
|
else
|
184
|
-
handle_failure_from(srv
|
185
|
+
handle_failure_from(srv)
|
185
186
|
end
|
186
187
|
end
|
187
188
|
|
@@ -189,8 +190,11 @@ module Comgate
|
|
189
190
|
test_from_data.nil? ? test_calls_used? : (test_from_data == true)
|
190
191
|
end
|
191
192
|
|
192
|
-
def handle_failure_from(
|
193
|
-
raise errors.to_s
|
193
|
+
def handle_failure_from(srv)
|
194
|
+
raise srv.errors.to_s unless srv.result.dig(:response_body, "transId").present?
|
195
|
+
|
196
|
+
# pretends to be a successfull response, and keep payment check to decide what to do next
|
197
|
+
Comgate::Response.new(srv.result, conversion_hash)
|
194
198
|
end
|
195
199
|
|
196
200
|
def single_payment_payload(payment_data)
|
data/lib/comgate/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: comgate_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Petr Mlčoch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06-
|
11
|
+
date: 2023-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Write a longer description or delete this line.
|
14
14
|
email:
|