processout 2.14.4 → 2.17.0

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: 0ca11711f3387a3bebf5c64eb3d8e3dd60c6147b669a0d967ce88f1753f9c2f6
4
- data.tar.gz: 95ce72ee215524f276bbb5da6926b289574ea63589e6c6ef4f0c133364aed1ca
3
+ metadata.gz: 559db6651b870cc6583e9bda27526f937b8a1c3f58961769639de5030d2b9249
4
+ data.tar.gz: 0f31accee517e7222211cfe83c2c11300525a03c5d13d8282a71f9c59369a8c1
5
5
  SHA512:
6
- metadata.gz: 28925f1ea68596b08723735d06006c90efe6cb53da284b6a751bddb88bcff2783d59b33c94619a8c30571e9bc5b5bee00d407a6578e5c7d4a356ca423b0c984b
7
- data.tar.gz: 9aaa5b1e7dd5d8d869c459fccd71f9346fa114d827fe9c9895e9a9569148fc156e01be413c16e3268dd5b3cd4ac84902287da32fac8068a56ee9189758159ed2
6
+ metadata.gz: 5afa9e587fd112bb3a96e965aedf18f3d7b3b45f5352f91e8bf946b41817129b402333578da69c308d449d51b5771048a99f8443ce2e28e6c5a1c821e06bf9ce
7
+ data.tar.gz: d38a55e353ecac2a7cd958201f573037cfead8c43650f1c2607309aa6b26f7d130f4b0c8540c9948cf9dab4796baef73c17e6bac49d74415fda3e01b9f18ad36
@@ -0,0 +1,81 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class Balance
10
+
11
+ attr_reader :amount
12
+ attr_reader :currency
13
+
14
+
15
+ def amount=(val)
16
+ @amount = val
17
+ end
18
+
19
+ def currency=(val)
20
+ @currency = val
21
+ end
22
+
23
+
24
+ # Initializes the Balance object
25
+ # Params:
26
+ # +client+:: +ProcessOut+ client instance
27
+ # +data+:: data that can be used to fill the object
28
+ def initialize(client, data = {})
29
+ @client = client
30
+
31
+ self.amount = data.fetch(:amount, nil)
32
+ self.currency = data.fetch(:currency, nil)
33
+
34
+ end
35
+
36
+ # Create a new Balance using the current client
37
+ def new(data = {})
38
+ Balance.new(@client, data)
39
+ end
40
+
41
+ # Overrides the JSON marshaller to only send the fields we want
42
+ def to_json(options)
43
+ {
44
+ "amount": self.amount,
45
+ "currency": self.currency,
46
+ }.to_json
47
+ end
48
+
49
+ # Fills the object with data coming from the API
50
+ # Params:
51
+ # +data+:: +Hash+ of data coming from the API
52
+ def fill_with_data(data)
53
+ if data.nil?
54
+ return self
55
+ end
56
+ if data.include? "amount"
57
+ self.amount = data["amount"]
58
+ end
59
+ if data.include? "currency"
60
+ self.currency = data["currency"]
61
+ end
62
+
63
+ self
64
+ end
65
+
66
+ # Prefills the object with the data passed as parameters
67
+ # Params:
68
+ # +data+:: +Hash+ of data
69
+ def prefill(data)
70
+ if data.nil?
71
+ return self
72
+ end
73
+ self.amount = data.fetch(:amount, self.amount)
74
+ self.currency = data.fetch(:currency, self.currency)
75
+
76
+ self
77
+ end
78
+
79
+
80
+ end
81
+ end
@@ -0,0 +1,111 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class Balances
10
+
11
+ attr_reader :vouchers
12
+
13
+
14
+ def vouchers=(val)
15
+ if val.nil?
16
+ @vouchers = []
17
+ return
18
+ end
19
+
20
+ if val.length > 0 and val[0].instance_of? Balance
21
+ @vouchers = val
22
+ else
23
+ l = Array.new
24
+ for v in val
25
+ obj = Balance.new(@client)
26
+ obj.fill_with_data(v)
27
+ l.push(obj)
28
+ end
29
+ @vouchers = l
30
+ end
31
+
32
+ end
33
+
34
+
35
+ # Initializes the Balances object
36
+ # Params:
37
+ # +client+:: +ProcessOut+ client instance
38
+ # +data+:: data that can be used to fill the object
39
+ def initialize(client, data = {})
40
+ @client = client
41
+
42
+ self.vouchers = data.fetch(:vouchers, nil)
43
+
44
+ end
45
+
46
+ # Create a new Balances using the current client
47
+ def new(data = {})
48
+ Balances.new(@client, data)
49
+ end
50
+
51
+ # Overrides the JSON marshaller to only send the fields we want
52
+ def to_json(options)
53
+ {
54
+ "vouchers": self.vouchers,
55
+ }.to_json
56
+ end
57
+
58
+ # Fills the object with data coming from the API
59
+ # Params:
60
+ # +data+:: +Hash+ of data coming from the API
61
+ def fill_with_data(data)
62
+ if data.nil?
63
+ return self
64
+ end
65
+ if data.include? "vouchers"
66
+ self.vouchers = data["vouchers"]
67
+ end
68
+
69
+ self
70
+ end
71
+
72
+ # Prefills the object with the data passed as parameters
73
+ # Params:
74
+ # +data+:: +Hash+ of data
75
+ def prefill(data)
76
+ if data.nil?
77
+ return self
78
+ end
79
+ self.vouchers = data.fetch(:vouchers, self.vouchers)
80
+
81
+ self
82
+ end
83
+
84
+ # Fetch a customer token's balance
85
+ # Params:
86
+ # +token_id+:: ID of the customer's token
87
+ # +options+:: +Hash+ of options
88
+ def find(token_id, options = {})
89
+ self.prefill(options)
90
+
91
+ request = Request.new(@client)
92
+ path = "/balances/tokens/" + CGI.escape(token_id) + ""
93
+ data = {
94
+
95
+ }
96
+
97
+ response = Response.new(request.get(path, data, options))
98
+ return_values = Array.new
99
+
100
+ body = response.body
101
+ body = body["balances"]
102
+ balances = Balances.new(@client)
103
+ return_values.push(balances.fill_with_data(body))
104
+
105
+
106
+ return_values[0]
107
+ end
108
+
109
+
110
+ end
111
+ end
@@ -45,6 +45,8 @@ module ProcessOut
45
45
  attr_reader :exemption_reason_3ds2
46
46
  attr_reader :sca_exemption_reason
47
47
  attr_reader :challenge_indicator
48
+ attr_reader :incremental
49
+ attr_reader :tax
48
50
 
49
51
 
50
52
  def id=(val)
@@ -319,6 +321,26 @@ module ProcessOut
319
321
  @challenge_indicator = val
320
322
  end
321
323
 
324
+ def incremental=(val)
325
+ @incremental = val
326
+ end
327
+
328
+ def tax=(val)
329
+ if val.nil?
330
+ @tax = val
331
+ return
332
+ end
333
+
334
+ if val.instance_of? InvoiceTax
335
+ @tax = val
336
+ else
337
+ obj = InvoiceTax.new(@client)
338
+ obj.fill_with_data(val)
339
+ @tax = obj
340
+ end
341
+
342
+ end
343
+
322
344
 
323
345
  # Initializes the Invoice object
324
346
  # Params:
@@ -364,6 +386,8 @@ module ProcessOut
364
386
  self.exemption_reason_3ds2 = data.fetch(:exemption_reason_3ds2, nil)
365
387
  self.sca_exemption_reason = data.fetch(:sca_exemption_reason, nil)
366
388
  self.challenge_indicator = data.fetch(:challenge_indicator, nil)
389
+ self.incremental = data.fetch(:incremental, nil)
390
+ self.tax = data.fetch(:tax, nil)
367
391
 
368
392
  end
369
393
 
@@ -412,6 +436,8 @@ module ProcessOut
412
436
  "exemption_reason_3ds2": self.exemption_reason_3ds2,
413
437
  "sca_exemption_reason": self.sca_exemption_reason,
414
438
  "challenge_indicator": self.challenge_indicator,
439
+ "incremental": self.incremental,
440
+ "tax": self.tax,
415
441
  }.to_json
416
442
  end
417
443
 
@@ -533,6 +559,12 @@ module ProcessOut
533
559
  if data.include? "challenge_indicator"
534
560
  self.challenge_indicator = data["challenge_indicator"]
535
561
  end
562
+ if data.include? "incremental"
563
+ self.incremental = data["incremental"]
564
+ end
565
+ if data.include? "tax"
566
+ self.tax = data["tax"]
567
+ end
536
568
 
537
569
  self
538
570
  end
@@ -581,10 +613,37 @@ module ProcessOut
581
613
  self.exemption_reason_3ds2 = data.fetch(:exemption_reason_3ds2, self.exemption_reason_3ds2)
582
614
  self.sca_exemption_reason = data.fetch(:sca_exemption_reason, self.sca_exemption_reason)
583
615
  self.challenge_indicator = data.fetch(:challenge_indicator, self.challenge_indicator)
616
+ self.incremental = data.fetch(:incremental, self.incremental)
617
+ self.tax = data.fetch(:tax, self.tax)
584
618
 
585
619
  self
586
620
  end
587
621
 
622
+ # Create an incremental authorization
623
+ # Params:
624
+ # +amount+:: Amount to increment authorization by
625
+ # +options+:: +Hash+ of options
626
+ def increment_authorization(amount, options = {})
627
+ self.prefill(options)
628
+
629
+ request = Request.new(@client)
630
+ path = "/invoices/" + CGI.escape(@id) + "/increment_authorization"
631
+ data = {
632
+ "amount" => amount
633
+ }
634
+
635
+ response = Response.new(request.post(path, data, options))
636
+ return_values = Array.new
637
+
638
+ body = response.body
639
+ body = body["transaction"]
640
+ transaction = Transaction.new(@client)
641
+ return_values.push(transaction.fill_with_data(body))
642
+
643
+
644
+ return_values[0]
645
+ end
646
+
588
647
  # Authorize the invoice using the given source (customer or token)
589
648
  # Params:
590
649
  # +source+:: Source used to authorization the payment. Can be a card, a token or a gateway request
@@ -596,6 +655,7 @@ module ProcessOut
596
655
  path = "/invoices/" + CGI.escape(@id) + "/authorize"
597
656
  data = {
598
657
  "device" => @device,
658
+ "incremental" => @incremental,
599
659
  "synchronous" => options.fetch(:synchronous, nil),
600
660
  "retry_drop_liability_shift" => options.fetch(:retry_drop_liability_shift, nil),
601
661
  "capture_amount" => options.fetch(:capture_amount, nil),
@@ -627,6 +687,7 @@ module ProcessOut
627
687
  path = "/invoices/" + CGI.escape(@id) + "/capture"
628
688
  data = {
629
689
  "device" => @device,
690
+ "incremental" => @incremental,
630
691
  "authorize_only" => options.fetch(:authorize_only, nil),
631
692
  "synchronous" => options.fetch(:synchronous, nil),
632
693
  "retry_drop_liability_shift" => options.fetch(:retry_drop_liability_shift, nil),
@@ -833,7 +894,8 @@ module ProcessOut
833
894
  "shipping" => @shipping,
834
895
  "device" => @device,
835
896
  "require_backend_capture" => @require_backend_capture,
836
- "external_fraud_tools" => @external_fraud_tools
897
+ "external_fraud_tools" => @external_fraud_tools,
898
+ "tax" => @tax
837
899
  }
838
900
 
839
901
  response = Response.new(request.post(path, data, options))
@@ -0,0 +1,81 @@
1
+ # The content of this file was automatically generated
2
+
3
+ require "cgi"
4
+ require "json"
5
+ require "processout/networking/request"
6
+ require "processout/networking/response"
7
+
8
+ module ProcessOut
9
+ class InvoiceTax
10
+
11
+ attr_reader :amount
12
+ attr_reader :rate
13
+
14
+
15
+ def amount=(val)
16
+ @amount = val
17
+ end
18
+
19
+ def rate=(val)
20
+ @rate = val
21
+ end
22
+
23
+
24
+ # Initializes the InvoiceTax object
25
+ # Params:
26
+ # +client+:: +ProcessOut+ client instance
27
+ # +data+:: data that can be used to fill the object
28
+ def initialize(client, data = {})
29
+ @client = client
30
+
31
+ self.amount = data.fetch(:amount, nil)
32
+ self.rate = data.fetch(:rate, nil)
33
+
34
+ end
35
+
36
+ # Create a new InvoiceTax using the current client
37
+ def new(data = {})
38
+ InvoiceTax.new(@client, data)
39
+ end
40
+
41
+ # Overrides the JSON marshaller to only send the fields we want
42
+ def to_json(options)
43
+ {
44
+ "amount": self.amount,
45
+ "rate": self.rate,
46
+ }.to_json
47
+ end
48
+
49
+ # Fills the object with data coming from the API
50
+ # Params:
51
+ # +data+:: +Hash+ of data coming from the API
52
+ def fill_with_data(data)
53
+ if data.nil?
54
+ return self
55
+ end
56
+ if data.include? "amount"
57
+ self.amount = data["amount"]
58
+ end
59
+ if data.include? "rate"
60
+ self.rate = data["rate"]
61
+ end
62
+
63
+ self
64
+ end
65
+
66
+ # Prefills the object with the data passed as parameters
67
+ # Params:
68
+ # +data+:: +Hash+ of data
69
+ def prefill(data)
70
+ if data.nil?
71
+ return self
72
+ end
73
+ self.amount = data.fetch(:amount, self.amount)
74
+ self.rate = data.fetch(:rate, self.rate)
75
+
76
+ self
77
+ end
78
+
79
+
80
+ end
81
+ end
@@ -13,7 +13,7 @@ module ProcessOut
13
13
  req.basic_auth @client.project_id, @client.project_secret
14
14
  req.content_type = "application/json"
15
15
  req["API-Version"] = "1.4.0.0"
16
- req["User-Agent"] = "ProcessOut Ruby-Bindings/2.14.4"
16
+ req["User-Agent"] = "ProcessOut Ruby-Bindings/2.17.0"
17
17
 
18
18
  unless options.nil?
19
19
  req["Idempotency-Key"] = options.fetch(:idempotency_key, "")
@@ -12,6 +12,11 @@ module ProcessOut
12
12
  attr_reader :status
13
13
  attr_reader :fingerprinted
14
14
  attr_reader :challenged
15
+ attr_reader :ares_trans_status
16
+ attr_reader :cres_trans_status
17
+ attr_reader :ds_trans_id
18
+ attr_reader :fingerprint_completion_indicator
19
+ attr_reader :server_trans_id
15
20
 
16
21
 
17
22
  def version=(val)
@@ -30,6 +35,26 @@ module ProcessOut
30
35
  @challenged = val
31
36
  end
32
37
 
38
+ def ares_trans_status=(val)
39
+ @ares_trans_status = val
40
+ end
41
+
42
+ def cres_trans_status=(val)
43
+ @cres_trans_status = val
44
+ end
45
+
46
+ def ds_trans_id=(val)
47
+ @ds_trans_id = val
48
+ end
49
+
50
+ def fingerprint_completion_indicator=(val)
51
+ @fingerprint_completion_indicator = val
52
+ end
53
+
54
+ def server_trans_id=(val)
55
+ @server_trans_id = val
56
+ end
57
+
33
58
 
34
59
  # Initializes the ThreeDS object
35
60
  # Params:
@@ -42,6 +67,11 @@ module ProcessOut
42
67
  self.status = data.fetch(:status, nil)
43
68
  self.fingerprinted = data.fetch(:fingerprinted, nil)
44
69
  self.challenged = data.fetch(:challenged, nil)
70
+ self.ares_trans_status = data.fetch(:ares_trans_status, nil)
71
+ self.cres_trans_status = data.fetch(:cres_trans_status, nil)
72
+ self.ds_trans_id = data.fetch(:ds_trans_id, nil)
73
+ self.fingerprint_completion_indicator = data.fetch(:fingerprint_completion_indicator, nil)
74
+ self.server_trans_id = data.fetch(:server_trans_id, nil)
45
75
 
46
76
  end
47
77
 
@@ -53,10 +83,15 @@ module ProcessOut
53
83
  # Overrides the JSON marshaller to only send the fields we want
54
84
  def to_json(options)
55
85
  {
56
- "Version": self.version,
57
- "Status": self.status,
86
+ "version": self.version,
87
+ "status": self.status,
58
88
  "fingerprinted": self.fingerprinted,
59
89
  "challenged": self.challenged,
90
+ "ares_trans_status": self.ares_trans_status,
91
+ "cres_trans_status": self.cres_trans_status,
92
+ "ds_trans_id": self.ds_trans_id,
93
+ "fingerprint_completion_indicator": self.fingerprint_completion_indicator,
94
+ "server_trans_id": self.server_trans_id,
60
95
  }.to_json
61
96
  end
62
97
 
@@ -67,11 +102,11 @@ module ProcessOut
67
102
  if data.nil?
68
103
  return self
69
104
  end
70
- if data.include? "Version"
71
- self.version = data["Version"]
105
+ if data.include? "version"
106
+ self.version = data["version"]
72
107
  end
73
- if data.include? "Status"
74
- self.status = data["Status"]
108
+ if data.include? "status"
109
+ self.status = data["status"]
75
110
  end
76
111
  if data.include? "fingerprinted"
77
112
  self.fingerprinted = data["fingerprinted"]
@@ -79,6 +114,21 @@ module ProcessOut
79
114
  if data.include? "challenged"
80
115
  self.challenged = data["challenged"]
81
116
  end
117
+ if data.include? "ares_trans_status"
118
+ self.ares_trans_status = data["ares_trans_status"]
119
+ end
120
+ if data.include? "cres_trans_status"
121
+ self.cres_trans_status = data["cres_trans_status"]
122
+ end
123
+ if data.include? "ds_trans_id"
124
+ self.ds_trans_id = data["ds_trans_id"]
125
+ end
126
+ if data.include? "fingerprint_completion_indicator"
127
+ self.fingerprint_completion_indicator = data["fingerprint_completion_indicator"]
128
+ end
129
+ if data.include? "server_trans_id"
130
+ self.server_trans_id = data["server_trans_id"]
131
+ end
82
132
 
83
133
  self
84
134
  end
@@ -94,6 +144,11 @@ module ProcessOut
94
144
  self.status = data.fetch(:status, self.status)
95
145
  self.fingerprinted = data.fetch(:fingerprinted, self.fingerprinted)
96
146
  self.challenged = data.fetch(:challenged, self.challenged)
147
+ self.ares_trans_status = data.fetch(:ares_trans_status, self.ares_trans_status)
148
+ self.cres_trans_status = data.fetch(:cres_trans_status, self.cres_trans_status)
149
+ self.ds_trans_id = data.fetch(:ds_trans_id, self.ds_trans_id)
150
+ self.fingerprint_completion_indicator = data.fetch(:fingerprint_completion_indicator, self.fingerprint_completion_indicator)
151
+ self.server_trans_id = data.fetch(:server_trans_id, self.server_trans_id)
97
152
 
98
153
  self
99
154
  end
@@ -27,6 +27,8 @@ module ProcessOut
27
27
  attr_reader :description
28
28
  attr_reader :invoice
29
29
  attr_reader :invoice_id
30
+ attr_reader :manual_invoice_cancellation
31
+ attr_reader :can_get_balance
30
32
 
31
33
 
32
34
  def id=(val)
@@ -153,6 +155,14 @@ module ProcessOut
153
155
  @invoice_id = val
154
156
  end
155
157
 
158
+ def manual_invoice_cancellation=(val)
159
+ @manual_invoice_cancellation = val
160
+ end
161
+
162
+ def can_get_balance=(val)
163
+ @can_get_balance = val
164
+ end
165
+
156
166
 
157
167
  # Initializes the Token object
158
168
  # Params:
@@ -180,6 +190,8 @@ module ProcessOut
180
190
  self.description = data.fetch(:description, nil)
181
191
  self.invoice = data.fetch(:invoice, nil)
182
192
  self.invoice_id = data.fetch(:invoice_id, nil)
193
+ self.manual_invoice_cancellation = data.fetch(:manual_invoice_cancellation, nil)
194
+ self.can_get_balance = data.fetch(:can_get_balance, nil)
183
195
 
184
196
  end
185
197
 
@@ -210,6 +222,8 @@ module ProcessOut
210
222
  "description": self.description,
211
223
  "invoice": self.invoice,
212
224
  "invoice_id": self.invoice_id,
225
+ "manual_invoice_cancellation": self.manual_invoice_cancellation,
226
+ "can_get_balance": self.can_get_balance,
213
227
  }.to_json
214
228
  end
215
229
 
@@ -277,6 +291,12 @@ module ProcessOut
277
291
  if data.include? "invoice_id"
278
292
  self.invoice_id = data["invoice_id"]
279
293
  end
294
+ if data.include? "manual_invoice_cancellation"
295
+ self.manual_invoice_cancellation = data["manual_invoice_cancellation"]
296
+ end
297
+ if data.include? "can_get_balance"
298
+ self.can_get_balance = data["can_get_balance"]
299
+ end
280
300
 
281
301
  self
282
302
  end
@@ -307,6 +327,8 @@ module ProcessOut
307
327
  self.description = data.fetch(:description, self.description)
308
328
  self.invoice = data.fetch(:invoice, self.invoice)
309
329
  self.invoice_id = data.fetch(:invoice_id, self.invoice_id)
330
+ self.manual_invoice_cancellation = data.fetch(:manual_invoice_cancellation, self.manual_invoice_cancellation)
331
+ self.can_get_balance = data.fetch(:can_get_balance, self.can_get_balance)
310
332
 
311
333
  self
312
334
  end
@@ -384,6 +406,8 @@ module ProcessOut
384
406
  "return_url" => @return_url,
385
407
  "cancel_url" => @cancel_url,
386
408
  "description" => @description,
409
+ "invoice_id" => @invoice_id,
410
+ "manual_invoice_cancellation" => @manual_invoice_cancellation,
387
411
  "source" => options.fetch(:source, nil),
388
412
  "settings" => options.fetch(:settings, nil),
389
413
  "device" => options.fetch(:device, nil),
@@ -1,3 +1,3 @@
1
1
  module ProcessOut
2
- VERSION = "2.14.4"
2
+ VERSION = "2.17.0"
3
3
  end
data/lib/processout.rb CHANGED
@@ -4,6 +4,8 @@ require "processout/activity"
4
4
  require "processout/addon"
5
5
  require "processout/api_request"
6
6
  require "processout/api_version"
7
+ require "processout/balances"
8
+ require "processout/balance"
7
9
  require "processout/card"
8
10
  require "processout/card_information"
9
11
  require "processout/coupon"
@@ -14,6 +16,7 @@ require "processout/event"
14
16
  require "processout/gateway"
15
17
  require "processout/gateway_configuration"
16
18
  require "processout/invoice"
19
+ require "processout/invoice_tax"
17
20
  require "processout/invoice_external_fraud_tools"
18
21
  require "processout/invoice_risk"
19
22
  require "processout/invoice_device"
@@ -68,6 +71,16 @@ module ProcessOut
68
71
  obj = APIVersion.new(self, data)
69
72
  end
70
73
 
74
+ # Create a new Balances instance
75
+ def balances(data = {})
76
+ obj = Balances.new(self, data)
77
+ end
78
+
79
+ # Create a new Balance instance
80
+ def balance(data = {})
81
+ obj = Balance.new(self, data)
82
+ end
83
+
71
84
  # Create a new Card instance
72
85
  def card(data = {})
73
86
  obj = Card.new(self, data)
@@ -118,6 +131,11 @@ module ProcessOut
118
131
  obj = Invoice.new(self, data)
119
132
  end
120
133
 
134
+ # Create a new InvoiceTax instance
135
+ def invoice_tax(data = {})
136
+ obj = InvoiceTax.new(self, data)
137
+ end
138
+
121
139
  # Create a new InvoiceExternalFraudTools instance
122
140
  def invoice_external_fraud_tools(data = {})
123
141
  obj = InvoiceExternalFraudTools.new(self, data)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: processout
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.14.4
4
+ version: 2.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel HUEZ
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-05 00:00:00.000000000 Z
11
+ date: 2022-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,6 +75,8 @@ files:
75
75
  - lib/processout/addon.rb
76
76
  - lib/processout/api_request.rb
77
77
  - lib/processout/api_version.rb
78
+ - lib/processout/balance.rb
79
+ - lib/processout/balances.rb
78
80
  - lib/processout/card.rb
79
81
  - lib/processout/card_information.rb
80
82
  - lib/processout/coupon.rb
@@ -97,6 +99,7 @@ files:
97
99
  - lib/processout/invoice_external_fraud_tools.rb
98
100
  - lib/processout/invoice_risk.rb
99
101
  - lib/processout/invoice_shipping.rb
102
+ - lib/processout/invoice_tax.rb
100
103
  - lib/processout/networking/request.rb
101
104
  - lib/processout/networking/response.rb
102
105
  - lib/processout/payment_data_network_authentication.rb