comgate_ruby 0.8.0 → 0.8.2

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: c7feda6e77063468d2577e6f865f899a9652d0e1728a8ccec608ecc311b7a433
4
- data.tar.gz: 6610c12a6b20f234f2813b5b9448b25c1915f13dc784b4916750d7fef4301378
3
+ metadata.gz: d020da6b1614a32495b473b497b9931406275e575a5be5012b70c46313a60041
4
+ data.tar.gz: ff070de8de6f549aaf6482c3a00f07cf7d496e683a6829cbdca7a40854ee8049
5
5
  SHA512:
6
- metadata.gz: 574aafb0ad4b606d9beacdf9ce13eb531efcf961f3b9b51f2157ea4d2e647be911581437d3d7ab9ce6db03a741ad8b06bee7ca18f769594b77d91b23f217c142
7
- data.tar.gz: 8eb352360617ba623bc0487c9eaf8c24ebfd34fab06af02f1deea6ba2cfe169e81497a53a200794e1235a5e8f4480ad286cc52470bb938a42432d7fc3daf9412
6
+ metadata.gz: cde1b8d7a8b37148cfa1af8afd799ca9858b565f52a34d265651233ac49a5dd90879ebc2c602097ed654aa1c79ae4cc764b08af0bda7a2047f9a7e3943a6d16d
7
+ data.tar.gz: 56490bc816c7e2a5afa3b9ca30d36d4603ae388853d157d078b43ffe1e42376e627541e4b8e4b95eb9edccb0d00c96e2304486365f1d286dd7dbbbb01fbab973
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [0.8.2] - 2023-06-20
2
+ - If ENV["COMGATE_MIN_LOG_LEVEL"] is set, calls and responses to Comgate are logged at that level. Otherwise `:debug` is used.
3
+
4
+ ## [0.8.1] - 2023-06-13
5
+ - Allowed `proxy_uri` param for Comgate::Gateway
6
+
1
7
  ## [0.8] - 2023-06-06
2
8
  - Update to conform universal payment interface params (see Readme)
3
9
  - BREAKING: change in repeating params `{transaction_id: "xxx", ....}` is now at `{payment: {reccurrence: { init_transaction_id: "xxx" } } }`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comgate_ruby (0.8.0)
4
+ comgate_ruby (0.8.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -21,6 +21,11 @@ If bundler is not being used to manage dependencies, install the gem by executin
21
21
  gateway = Comgate::Gateway.new(merchant_gateway_id: ":comgate_id",
22
22
  test_calls: false,
23
23
  client_secret: ":comgate_secret")
24
+ # or with proxy
25
+ gateway = Comgate::Gateway.new(merchant_gateway_id: ":comgate_id",
26
+ test_calls: false,
27
+ client_secret: ":comgate_secret",
28
+ proxy_uri: "http://pxuser:pxpassword@proxy.me:123") # or just "http://proxy.me:123"
24
29
  ```
25
30
 
26
31
  ### 2) prepare endpoint
@@ -143,7 +148,9 @@ Maximal mixed version looks like:
143
148
  expiration_time: "10h", # input ( use "m" or "h" or "d", but only one of them; allowed rage "30m".."7d")
144
149
  description: "Some description",
145
150
  reccurrence: { init_transaction_id: "12AD-dfsA-4568",
146
- period: 1 } },
151
+ period: 1,
152
+ cycle: :month, # :on_demand
153
+ valid_to: } },
147
154
  },
148
155
  payer: {
149
156
  email: "payer1@gmail.com", # input/output
@@ -184,6 +191,8 @@ This may be refactored in future.
184
191
  ## One more thing
185
192
  This gem extends `Hash` with methods `deep_symbolize_keys` and `deep_merge` (if needed).
186
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
+
187
196
  ## Development
188
197
 
189
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.
@@ -20,11 +20,12 @@ module Comgate
20
20
 
21
21
  attr_reader :payload, :url
22
22
 
23
- def initialize(url:, payload:, test_call: false)
23
+ def initialize(url:, payload:, test_call: false, proxy_uri: nil)
24
24
  super()
25
25
  @url = url
26
26
  @payload = payload
27
27
  @payload.merge!(test: "true") if test_call
28
+ @proxy_uri = proxy_uri
28
29
  end
29
30
 
30
31
  def build_result
@@ -57,7 +58,20 @@ module Comgate
57
58
  end
58
59
 
59
60
  def https_conn
60
- @https_conn ||= Net::HTTP.start(service_uri.host, service_uri.port, connection_options)
61
+ @https_conn ||= if @proxy_uri
62
+ proxy = URI.parse(@proxy_uri)
63
+ Net::HTTP.start(service_uri.host,
64
+ service_uri.port,
65
+ proxy.host,
66
+ proxy.port,
67
+ proxy.user,
68
+ proxy.password,
69
+ connection_options)
70
+ else
71
+ Net::HTTP.start(service_uri.host,
72
+ service_uri.port,
73
+ connection_options)
74
+ end
61
75
  end
62
76
 
63
77
  def request
@@ -153,11 +167,13 @@ module Comgate
153
167
  else
154
168
  puts("#{Time.now} [#{forced_log_level(level)}] #{message}")
155
169
  end
170
+ rescue StandardError => e
171
+ puts("#{Time.now} [#{forced_log_level(level)}] #{message} - #{e}")
156
172
  end
157
173
 
158
174
  def forced_log_level(original_level)
159
175
  levels = { debug: 0, info: 1, error: 2 }
160
- minimal_level = :error
176
+ minimal_level = ENV["COMGATE_MIN_LOG_LEVEL"]&.to_sym || :debug
161
177
  levels[original_level] > levels[minimal_level] ? original_level : minimal_level
162
178
  end
163
179
 
@@ -74,6 +74,10 @@ module Comgate
74
74
  options[:test_calls] == true
75
75
  end
76
76
 
77
+ def proxy_uri
78
+ options[:proxy_uri]
79
+ end
80
+
77
81
  def start_transaction(payment_data)
78
82
  make_call(url: "#{BASE_URL}/create",
79
83
  payload: single_payment_payload(payment_data),
@@ -173,7 +177,7 @@ module Comgate
173
177
  def make_call(url:, payload:, test_call:, conversion_hash: DATA_CONVERSION_HASH)
174
178
  raise "There are errors in pre-api-call phase: #{payload[:errors]}" unless payload[:errors].nil?
175
179
 
176
- srv = Comgate::ApiCaller.call(url: url, payload: payload, test_call: test_call)
180
+ srv = Comgate::ApiCaller.call(url: url, payload: payload, test_call: test_call, proxy_uri: proxy_uri)
177
181
  if srv.success?
178
182
  Comgate::Response.new(srv.result, conversion_hash)
179
183
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Comgate
4
- VERSION = "0.8.0"
4
+ VERSION = "0.8.2"
5
5
  end
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.0
4
+ version: 0.8.2
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-06 00:00:00.000000000 Z
11
+ date: 2023-06-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Write a longer description or delete this line.
14
14
  email: