processout 2.23.0 → 2.25.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: 9374b3ae3f8748587c5296db043c12a37e617946c02dead5bbd82bd23e5f22ba
4
- data.tar.gz: 55c2234fcee0f0c4975c7fba0ae865ec3fcddf5b13759cbadb6be12a860fc9e6
3
+ metadata.gz: 26d663ed6ef8a31ef75caf74ae8354b08375f9b669d8987a84bbc368a5c2ac41
4
+ data.tar.gz: f31f393752b0fd082538cd5d10b80f48838c40e4e77a8e2cd730b0658ffd51da
5
5
  SHA512:
6
- metadata.gz: 517f6c6f60f7e82fbbcae45580915000cc02b564fc35c273ef724d0b35b3d0c003351ba4e9e6e1f8502c8df2308c72f014f2425780d4ba140652f9c362d10633
7
- data.tar.gz: 0fbf4b581c8166eeac26d13222aa81c33730a056a6169d24ab25a40a78c85fde2b4ba87d152e668b81593853c09be97dad733a68e52d329711f4f42e39e28f88
6
+ metadata.gz: f630c230952233e42baa9c4a27e35c0b66118dee6479713c205c0e10cc9c836b27de1fd261abfed9ee87901540f09e947113e228d2d0a43f2a063bab2225c6b5
7
+ data.tar.gz: ee5b3950180827d37e0a5baeee20aaea907c8797a07d22dc6d3ea77aafe490d29d79f89010f2e3db93debd5156cff5d5cdf049f05b080988c8a66d3094251850
@@ -10,6 +10,7 @@ module ProcessOut
10
10
 
11
11
  attr_reader :type
12
12
  attr_reader :value
13
+ attr_reader :metadata
13
14
 
14
15
 
15
16
  def type=(val)
@@ -20,6 +21,10 @@ module ProcessOut
20
21
  @value = val
21
22
  end
22
23
 
24
+ def metadata=(val)
25
+ @metadata = val
26
+ end
27
+
23
28
 
24
29
  # Initializes the CustomerAction object
25
30
  # Params:
@@ -30,6 +35,7 @@ module ProcessOut
30
35
 
31
36
  self.type = data.fetch(:type, nil)
32
37
  self.value = data.fetch(:value, nil)
38
+ self.metadata = data.fetch(:metadata, nil)
33
39
 
34
40
  end
35
41
 
@@ -43,6 +49,7 @@ module ProcessOut
43
49
  {
44
50
  "type": self.type,
45
51
  "value": self.value,
52
+ "metadata": self.metadata,
46
53
  }.to_json
47
54
  end
48
55
 
@@ -59,6 +66,9 @@ module ProcessOut
59
66
  if data.include? "value"
60
67
  self.value = data["value"]
61
68
  end
69
+ if data.include? "metadata"
70
+ self.metadata = data["metadata"]
71
+ end
62
72
 
63
73
  self
64
74
  end
@@ -72,6 +82,7 @@ module ProcessOut
72
82
  end
73
83
  self.type = data.fetch(:type, self.type)
74
84
  self.value = data.fetch(:value, self.value)
85
+ self.metadata = data.fetch(:metadata, self.metadata)
75
86
 
76
87
  self
77
88
  end
@@ -19,6 +19,7 @@ module ProcessOut
19
19
  attr_reader :public_keys
20
20
  attr_reader :created_at
21
21
  attr_reader :enabled_at
22
+ attr_reader :processing_region
22
23
 
23
24
 
24
25
  def id=(val)
@@ -89,6 +90,10 @@ module ProcessOut
89
90
  @enabled_at = val
90
91
  end
91
92
 
93
+ def processing_region=(val)
94
+ @processing_region = val
95
+ end
96
+
92
97
 
93
98
  # Initializes the GatewayConfiguration object
94
99
  # Params:
@@ -108,6 +113,7 @@ module ProcessOut
108
113
  self.public_keys = data.fetch(:public_keys, nil)
109
114
  self.created_at = data.fetch(:created_at, nil)
110
115
  self.enabled_at = data.fetch(:enabled_at, nil)
116
+ self.processing_region = data.fetch(:processing_region, nil)
111
117
 
112
118
  end
113
119
 
@@ -130,6 +136,7 @@ module ProcessOut
130
136
  "public_keys": self.public_keys,
131
137
  "created_at": self.created_at,
132
138
  "enabled_at": self.enabled_at,
139
+ "processing_region": self.processing_region,
133
140
  }.to_json
134
141
  end
135
142
 
@@ -173,6 +180,9 @@ module ProcessOut
173
180
  if data.include? "enabled_at"
174
181
  self.enabled_at = data["enabled_at"]
175
182
  end
183
+ if data.include? "processing_region"
184
+ self.processing_region = data["processing_region"]
185
+ end
176
186
 
177
187
  self
178
188
  end
@@ -195,6 +205,7 @@ module ProcessOut
195
205
  self.public_keys = data.fetch(:public_keys, self.public_keys)
196
206
  self.created_at = data.fetch(:created_at, self.created_at)
197
207
  self.enabled_at = data.fetch(:enabled_at, self.enabled_at)
208
+ self.processing_region = data.fetch(:processing_region, self.processing_region)
198
209
 
199
210
  self
200
211
  end
@@ -270,6 +281,7 @@ module ProcessOut
270
281
  "name" => @name,
271
282
  "enabled" => @enabled,
272
283
  "default_currency" => @default_currency,
284
+ "processing_region" => @processing_region,
273
285
  "settings" => options.fetch(:settings, nil),
274
286
  "sub_accounts_enabled" => options.fetch(:sub_accounts_enabled, nil)
275
287
  }
@@ -323,6 +335,7 @@ module ProcessOut
323
335
  "name" => @name,
324
336
  "enabled" => @enabled,
325
337
  "default_currency" => @default_currency,
338
+ "processing_region" => @processing_region,
326
339
  "settings" => options.fetch(:settings, nil),
327
340
  "sub_accounts_enabled" => options.fetch(:sub_accounts_enabled, nil)
328
341
  }
@@ -50,6 +50,7 @@ module ProcessOut
50
50
  attr_reader :payment_type
51
51
  attr_reader :initiation_type
52
52
  attr_reader :payment_intent
53
+ attr_reader :billing
53
54
 
54
55
 
55
56
  def id=(val)
@@ -356,6 +357,22 @@ module ProcessOut
356
357
  @payment_intent = val
357
358
  end
358
359
 
360
+ def billing=(val)
361
+ if val.nil?
362
+ @billing = val
363
+ return
364
+ end
365
+
366
+ if val.instance_of? InvoiceBilling
367
+ @billing = val
368
+ else
369
+ obj = InvoiceBilling.new(@client)
370
+ obj.fill_with_data(val)
371
+ @billing = obj
372
+ end
373
+
374
+ end
375
+
359
376
 
360
377
  # Initializes the Invoice object
361
378
  # Params:
@@ -406,6 +423,7 @@ module ProcessOut
406
423
  self.payment_type = data.fetch(:payment_type, nil)
407
424
  self.initiation_type = data.fetch(:initiation_type, nil)
408
425
  self.payment_intent = data.fetch(:payment_intent, nil)
426
+ self.billing = data.fetch(:billing, nil)
409
427
 
410
428
  end
411
429
 
@@ -459,6 +477,7 @@ module ProcessOut
459
477
  "payment_type": self.payment_type,
460
478
  "initiation_type": self.initiation_type,
461
479
  "payment_intent": self.payment_intent,
480
+ "billing": self.billing,
462
481
  }.to_json
463
482
  end
464
483
 
@@ -595,6 +614,9 @@ module ProcessOut
595
614
  if data.include? "payment_intent"
596
615
  self.payment_intent = data["payment_intent"]
597
616
  end
617
+ if data.include? "billing"
618
+ self.billing = data["billing"]
619
+ end
598
620
 
599
621
  self
600
622
  end
@@ -648,6 +670,7 @@ module ProcessOut
648
670
  self.payment_type = data.fetch(:payment_type, self.payment_type)
649
671
  self.initiation_type = data.fetch(:initiation_type, self.initiation_type)
650
672
  self.payment_intent = data.fetch(:payment_intent, self.payment_intent)
673
+ self.billing = data.fetch(:billing, self.billing)
651
674
 
652
675
  self
653
676
  end
@@ -697,6 +720,7 @@ module ProcessOut
697
720
  "allow_fallback_to_sale" => options.fetch(:allow_fallback_to_sale, nil),
698
721
  "auto_capture_at" => options.fetch(:auto_capture_at, nil),
699
722
  "metadata" => options.fetch(:metadata, nil),
723
+ "override_mac_blocking" => options.fetch(:override_mac_blocking, nil),
700
724
  "source" => source
701
725
  }
702
726
 
@@ -732,6 +756,7 @@ module ProcessOut
732
756
  "enable_three_d_s_2" => options.fetch(:enable_three_d_s_2, nil),
733
757
  "metadata" => options.fetch(:metadata, nil),
734
758
  "capture_statement_descriptor" => options.fetch(:capture_statement_descriptor, nil),
759
+ "override_mac_blocking" => options.fetch(:override_mac_blocking, nil),
735
760
  "source" => source
736
761
  }
737
762
 
@@ -855,7 +880,8 @@ module ProcessOut
855
880
  request = Request.new(@client)
856
881
  path = "/invoices/" + CGI.escape(@id) + "/void"
857
882
  data = {
858
- "metadata" => options.fetch(:metadata, nil)
883
+ "metadata" => options.fetch(:metadata, nil),
884
+ "amount" => options.fetch(:amount, nil)
859
885
  }
860
886
 
861
887
  response = Response.new(request.post(path, data, options))
@@ -936,7 +962,8 @@ module ProcessOut
936
962
  "require_backend_capture" => @require_backend_capture,
937
963
  "external_fraud_tools" => @external_fraud_tools,
938
964
  "tax" => @tax,
939
- "payment_type" => @payment_type
965
+ "payment_type" => @payment_type,
966
+ "billing" => @billing
940
967
  }
941
968
 
942
969
  response = Response.new(request.post(path, data, options))
@@ -0,0 +1,125 @@
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 InvoiceBilling
10
+
11
+ attr_reader :address1
12
+ attr_reader :address2
13
+ attr_reader :city
14
+ attr_reader :state
15
+ attr_reader :country_code
16
+ attr_reader :zip
17
+
18
+
19
+ def address1=(val)
20
+ @address1 = val
21
+ end
22
+
23
+ def address2=(val)
24
+ @address2 = val
25
+ end
26
+
27
+ def city=(val)
28
+ @city = val
29
+ end
30
+
31
+ def state=(val)
32
+ @state = val
33
+ end
34
+
35
+ def country_code=(val)
36
+ @country_code = val
37
+ end
38
+
39
+ def zip=(val)
40
+ @zip = val
41
+ end
42
+
43
+
44
+ # Initializes the InvoiceBilling object
45
+ # Params:
46
+ # +client+:: +ProcessOut+ client instance
47
+ # +data+:: data that can be used to fill the object
48
+ def initialize(client, data = {})
49
+ @client = client
50
+
51
+ self.address1 = data.fetch(:address1, nil)
52
+ self.address2 = data.fetch(:address2, nil)
53
+ self.city = data.fetch(:city, nil)
54
+ self.state = data.fetch(:state, nil)
55
+ self.country_code = data.fetch(:country_code, nil)
56
+ self.zip = data.fetch(:zip, nil)
57
+
58
+ end
59
+
60
+ # Create a new InvoiceBilling using the current client
61
+ def new(data = {})
62
+ InvoiceBilling.new(@client, data)
63
+ end
64
+
65
+ # Overrides the JSON marshaller to only send the fields we want
66
+ def to_json(options)
67
+ {
68
+ "address1": self.address1,
69
+ "address2": self.address2,
70
+ "city": self.city,
71
+ "state": self.state,
72
+ "country_code": self.country_code,
73
+ "zip": self.zip,
74
+ }.to_json
75
+ end
76
+
77
+ # Fills the object with data coming from the API
78
+ # Params:
79
+ # +data+:: +Hash+ of data coming from the API
80
+ def fill_with_data(data)
81
+ if data.nil?
82
+ return self
83
+ end
84
+ if data.include? "address1"
85
+ self.address1 = data["address1"]
86
+ end
87
+ if data.include? "address2"
88
+ self.address2 = data["address2"]
89
+ end
90
+ if data.include? "city"
91
+ self.city = data["city"]
92
+ end
93
+ if data.include? "state"
94
+ self.state = data["state"]
95
+ end
96
+ if data.include? "country_code"
97
+ self.country_code = data["country_code"]
98
+ end
99
+ if data.include? "zip"
100
+ self.zip = data["zip"]
101
+ end
102
+
103
+ self
104
+ end
105
+
106
+ # Prefills the object with the data passed as parameters
107
+ # Params:
108
+ # +data+:: +Hash+ of data
109
+ def prefill(data)
110
+ if data.nil?
111
+ return self
112
+ end
113
+ self.address1 = data.fetch(:address1, self.address1)
114
+ self.address2 = data.fetch(:address2, self.address2)
115
+ self.city = data.fetch(:city, self.city)
116
+ self.state = data.fetch(:state, self.state)
117
+ self.country_code = data.fetch(:country_code, self.country_code)
118
+ self.zip = data.fetch(:zip, self.zip)
119
+
120
+ self
121
+ end
122
+
123
+
124
+ end
125
+ end
@@ -9,12 +9,17 @@ module ProcessOut
9
9
  class InvoiceExternalFraudTools
10
10
 
11
11
  attr_reader :forter
12
+ attr_reader :signifyd
12
13
 
13
14
 
14
15
  def forter=(val)
15
16
  @forter = val
16
17
  end
17
18
 
19
+ def signifyd=(val)
20
+ @signifyd = val
21
+ end
22
+
18
23
 
19
24
  # Initializes the InvoiceExternalFraudTools object
20
25
  # Params:
@@ -24,6 +29,7 @@ module ProcessOut
24
29
  @client = client
25
30
 
26
31
  self.forter = data.fetch(:forter, nil)
32
+ self.signifyd = data.fetch(:signifyd, nil)
27
33
 
28
34
  end
29
35
 
@@ -36,6 +42,7 @@ module ProcessOut
36
42
  def to_json(options)
37
43
  {
38
44
  "forter": self.forter,
45
+ "signifyd": self.signifyd,
39
46
  }.to_json
40
47
  end
41
48
 
@@ -49,6 +56,9 @@ module ProcessOut
49
56
  if data.include? "forter"
50
57
  self.forter = data["forter"]
51
58
  end
59
+ if data.include? "signifyd"
60
+ self.signifyd = data["signifyd"]
61
+ end
52
62
 
53
63
  self
54
64
  end
@@ -61,6 +71,7 @@ module ProcessOut
61
71
  return self
62
72
  end
63
73
  self.forter = data.fetch(:forter, self.forter)
74
+ self.signifyd = data.fetch(:signifyd, self.signifyd)
64
75
 
65
76
  self
66
77
  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.23.0"
16
+ req["User-Agent"] = "ProcessOut Ruby-Bindings/2.25.0"
17
17
 
18
18
  unless options.nil?
19
19
  req["Idempotency-Key"] = options.fetch(:idempotency_key, "")
@@ -424,7 +424,9 @@ module ProcessOut
424
424
  "device" => options.fetch(:device, nil),
425
425
  "verify" => options.fetch(:verify, nil),
426
426
  "verify_metadata" => options.fetch(:verify_metadata, nil),
427
- "set_default" => options.fetch(:set_default, nil)
427
+ "set_default" => options.fetch(:set_default, nil),
428
+ "verify_statement_descriptor" => options.fetch(:verify_statement_descriptor, nil),
429
+ "invoice_return_url" => options.fetch(:invoice_return_url, nil)
428
430
  }
429
431
 
430
432
  response = Response.new(request.post(path, data, options))
@@ -455,7 +457,9 @@ module ProcessOut
455
457
  "device" => options.fetch(:device, nil),
456
458
  "verify" => options.fetch(:verify, nil),
457
459
  "verify_metadata" => options.fetch(:verify_metadata, nil),
458
- "set_default" => options.fetch(:set_default, nil)
460
+ "set_default" => options.fetch(:set_default, nil),
461
+ "verify_statement_descriptor" => options.fetch(:verify_statement_descriptor, nil),
462
+ "invoice_return_url" => options.fetch(:invoice_return_url, nil)
459
463
  }
460
464
 
461
465
  response = Response.new(request.put(path, data, options))
@@ -22,6 +22,7 @@ module ProcessOut
22
22
  attr_reader :card
23
23
  attr_reader :card_id
24
24
  attr_reader :gateway_configuration
25
+ attr_reader :external_three_d_s_gateway_configuration
25
26
  attr_reader :gateway_configuration_id
26
27
  attr_reader :operations
27
28
  attr_reader :refunds
@@ -36,6 +37,8 @@ module ProcessOut
36
37
  attr_reader :refunded_amount_local
37
38
  attr_reader :available_amount
38
39
  attr_reader :available_amount_local
40
+ attr_reader :voided_amount
41
+ attr_reader :voided_amount_local
39
42
  attr_reader :currency
40
43
  attr_reader :error_code
41
44
  attr_reader :error_message
@@ -63,6 +66,9 @@ module ProcessOut
63
66
  attr_reader :three_d_s
64
67
  attr_reader :cvc_check
65
68
  attr_reader :avs_check
69
+ attr_reader :initial_scheme_transaction_id
70
+ attr_reader :scheme_id
71
+ attr_reader :payment_type
66
72
 
67
73
 
68
74
  def id=(val)
@@ -205,6 +211,22 @@ module ProcessOut
205
211
 
206
212
  end
207
213
 
214
+ def external_three_d_s_gateway_configuration=(val)
215
+ if val.nil?
216
+ @external_three_d_s_gateway_configuration = val
217
+ return
218
+ end
219
+
220
+ if val.instance_of? GatewayConfiguration
221
+ @external_three_d_s_gateway_configuration = val
222
+ else
223
+ obj = GatewayConfiguration.new(@client)
224
+ obj.fill_with_data(val)
225
+ @external_three_d_s_gateway_configuration = obj
226
+ end
227
+
228
+ end
229
+
208
230
  def gateway_configuration_id=(val)
209
231
  @gateway_configuration_id = val
210
232
  end
@@ -293,6 +315,14 @@ module ProcessOut
293
315
  @available_amount_local = val
294
316
  end
295
317
 
318
+ def voided_amount=(val)
319
+ @voided_amount = val
320
+ end
321
+
322
+ def voided_amount_local=(val)
323
+ @voided_amount_local = val
324
+ end
325
+
296
326
  def currency=(val)
297
327
  @currency = val
298
328
  end
@@ -413,6 +443,18 @@ module ProcessOut
413
443
  @avs_check = val
414
444
  end
415
445
 
446
+ def initial_scheme_transaction_id=(val)
447
+ @initial_scheme_transaction_id = val
448
+ end
449
+
450
+ def scheme_id=(val)
451
+ @scheme_id = val
452
+ end
453
+
454
+ def payment_type=(val)
455
+ @payment_type = val
456
+ end
457
+
416
458
 
417
459
  # Initializes the Transaction object
418
460
  # Params:
@@ -435,6 +477,7 @@ module ProcessOut
435
477
  self.card = data.fetch(:card, nil)
436
478
  self.card_id = data.fetch(:card_id, nil)
437
479
  self.gateway_configuration = data.fetch(:gateway_configuration, nil)
480
+ self.external_three_d_s_gateway_configuration = data.fetch(:external_three_d_s_gateway_configuration, nil)
438
481
  self.gateway_configuration_id = data.fetch(:gateway_configuration_id, nil)
439
482
  self.operations = data.fetch(:operations, nil)
440
483
  self.refunds = data.fetch(:refunds, nil)
@@ -449,6 +492,8 @@ module ProcessOut
449
492
  self.refunded_amount_local = data.fetch(:refunded_amount_local, nil)
450
493
  self.available_amount = data.fetch(:available_amount, nil)
451
494
  self.available_amount_local = data.fetch(:available_amount_local, nil)
495
+ self.voided_amount = data.fetch(:voided_amount, nil)
496
+ self.voided_amount_local = data.fetch(:voided_amount_local, nil)
452
497
  self.currency = data.fetch(:currency, nil)
453
498
  self.error_code = data.fetch(:error_code, nil)
454
499
  self.error_message = data.fetch(:error_message, nil)
@@ -476,6 +521,9 @@ module ProcessOut
476
521
  self.three_d_s = data.fetch(:three_d_s, nil)
477
522
  self.cvc_check = data.fetch(:cvc_check, nil)
478
523
  self.avs_check = data.fetch(:avs_check, nil)
524
+ self.initial_scheme_transaction_id = data.fetch(:initial_scheme_transaction_id, nil)
525
+ self.scheme_id = data.fetch(:scheme_id, nil)
526
+ self.payment_type = data.fetch(:payment_type, nil)
479
527
 
480
528
  end
481
529
 
@@ -501,6 +549,7 @@ module ProcessOut
501
549
  "card": self.card,
502
550
  "card_id": self.card_id,
503
551
  "gateway_configuration": self.gateway_configuration,
552
+ "external_three_d_s_gateway_configuration": self.external_three_d_s_gateway_configuration,
504
553
  "gateway_configuration_id": self.gateway_configuration_id,
505
554
  "operations": self.operations,
506
555
  "refunds": self.refunds,
@@ -515,6 +564,8 @@ module ProcessOut
515
564
  "refunded_amount_local": self.refunded_amount_local,
516
565
  "available_amount": self.available_amount,
517
566
  "available_amount_local": self.available_amount_local,
567
+ "voided_amount": self.voided_amount,
568
+ "voided_amount_local": self.voided_amount_local,
518
569
  "currency": self.currency,
519
570
  "error_code": self.error_code,
520
571
  "error_message": self.error_message,
@@ -542,6 +593,9 @@ module ProcessOut
542
593
  "three_d_s": self.three_d_s,
543
594
  "cvc_check": self.cvc_check,
544
595
  "avs_check": self.avs_check,
596
+ "initial_scheme_transaction_id": self.initial_scheme_transaction_id,
597
+ "scheme_id": self.scheme_id,
598
+ "payment_type": self.payment_type,
545
599
  }.to_json
546
600
  end
547
601
 
@@ -594,6 +648,9 @@ module ProcessOut
594
648
  if data.include? "gateway_configuration"
595
649
  self.gateway_configuration = data["gateway_configuration"]
596
650
  end
651
+ if data.include? "external_three_d_s_gateway_configuration"
652
+ self.external_three_d_s_gateway_configuration = data["external_three_d_s_gateway_configuration"]
653
+ end
597
654
  if data.include? "gateway_configuration_id"
598
655
  self.gateway_configuration_id = data["gateway_configuration_id"]
599
656
  end
@@ -636,6 +693,12 @@ module ProcessOut
636
693
  if data.include? "available_amount_local"
637
694
  self.available_amount_local = data["available_amount_local"]
638
695
  end
696
+ if data.include? "voided_amount"
697
+ self.voided_amount = data["voided_amount"]
698
+ end
699
+ if data.include? "voided_amount_local"
700
+ self.voided_amount_local = data["voided_amount_local"]
701
+ end
639
702
  if data.include? "currency"
640
703
  self.currency = data["currency"]
641
704
  end
@@ -717,6 +780,15 @@ module ProcessOut
717
780
  if data.include? "avs_check"
718
781
  self.avs_check = data["avs_check"]
719
782
  end
783
+ if data.include? "initial_scheme_transaction_id"
784
+ self.initial_scheme_transaction_id = data["initial_scheme_transaction_id"]
785
+ end
786
+ if data.include? "scheme_id"
787
+ self.scheme_id = data["scheme_id"]
788
+ end
789
+ if data.include? "payment_type"
790
+ self.payment_type = data["payment_type"]
791
+ end
720
792
 
721
793
  self
722
794
  end
@@ -742,6 +814,7 @@ module ProcessOut
742
814
  self.card = data.fetch(:card, self.card)
743
815
  self.card_id = data.fetch(:card_id, self.card_id)
744
816
  self.gateway_configuration = data.fetch(:gateway_configuration, self.gateway_configuration)
817
+ self.external_three_d_s_gateway_configuration = data.fetch(:external_three_d_s_gateway_configuration, self.external_three_d_s_gateway_configuration)
745
818
  self.gateway_configuration_id = data.fetch(:gateway_configuration_id, self.gateway_configuration_id)
746
819
  self.operations = data.fetch(:operations, self.operations)
747
820
  self.refunds = data.fetch(:refunds, self.refunds)
@@ -756,6 +829,8 @@ module ProcessOut
756
829
  self.refunded_amount_local = data.fetch(:refunded_amount_local, self.refunded_amount_local)
757
830
  self.available_amount = data.fetch(:available_amount, self.available_amount)
758
831
  self.available_amount_local = data.fetch(:available_amount_local, self.available_amount_local)
832
+ self.voided_amount = data.fetch(:voided_amount, self.voided_amount)
833
+ self.voided_amount_local = data.fetch(:voided_amount_local, self.voided_amount_local)
759
834
  self.currency = data.fetch(:currency, self.currency)
760
835
  self.error_code = data.fetch(:error_code, self.error_code)
761
836
  self.error_message = data.fetch(:error_message, self.error_message)
@@ -783,6 +858,9 @@ module ProcessOut
783
858
  self.three_d_s = data.fetch(:three_d_s, self.three_d_s)
784
859
  self.cvc_check = data.fetch(:cvc_check, self.cvc_check)
785
860
  self.avs_check = data.fetch(:avs_check, self.avs_check)
861
+ self.initial_scheme_transaction_id = data.fetch(:initial_scheme_transaction_id, self.initial_scheme_transaction_id)
862
+ self.scheme_id = data.fetch(:scheme_id, self.scheme_id)
863
+ self.payment_type = data.fetch(:payment_type, self.payment_type)
786
864
 
787
865
  self
788
866
  end
@@ -30,6 +30,9 @@ module ProcessOut
30
30
  attr_reader :payment_data_three_d_s_request
31
31
  attr_reader :payment_data_three_d_s_authentication
32
32
  attr_reader :payment_data_network_authentication
33
+ attr_reader :initial_scheme_transaction_id
34
+ attr_reader :scheme_id
35
+ attr_reader :payment_type
33
36
  attr_reader :metadata
34
37
  attr_reader :gateway_fee
35
38
  attr_reader :created_at
@@ -207,6 +210,18 @@ module ProcessOut
207
210
 
208
211
  end
209
212
 
213
+ def initial_scheme_transaction_id=(val)
214
+ @initial_scheme_transaction_id = val
215
+ end
216
+
217
+ def scheme_id=(val)
218
+ @scheme_id = val
219
+ end
220
+
221
+ def payment_type=(val)
222
+ @payment_type = val
223
+ end
224
+
210
225
  def metadata=(val)
211
226
  @metadata = val
212
227
  end
@@ -249,6 +264,9 @@ module ProcessOut
249
264
  self.payment_data_three_d_s_request = data.fetch(:payment_data_three_d_s_request, nil)
250
265
  self.payment_data_three_d_s_authentication = data.fetch(:payment_data_three_d_s_authentication, nil)
251
266
  self.payment_data_network_authentication = data.fetch(:payment_data_network_authentication, nil)
267
+ self.initial_scheme_transaction_id = data.fetch(:initial_scheme_transaction_id, nil)
268
+ self.scheme_id = data.fetch(:scheme_id, nil)
269
+ self.payment_type = data.fetch(:payment_type, nil)
252
270
  self.metadata = data.fetch(:metadata, nil)
253
271
  self.gateway_fee = data.fetch(:gateway_fee, nil)
254
272
  self.created_at = data.fetch(:created_at, nil)
@@ -285,6 +303,9 @@ module ProcessOut
285
303
  "payment_data_three_d_s_request": self.payment_data_three_d_s_request,
286
304
  "payment_data_three_d_s_authentication": self.payment_data_three_d_s_authentication,
287
305
  "payment_data_network_authentication": self.payment_data_network_authentication,
306
+ "initial_scheme_transaction_id": self.initial_scheme_transaction_id,
307
+ "scheme_id": self.scheme_id,
308
+ "payment_type": self.payment_type,
288
309
  "metadata": self.metadata,
289
310
  "gateway_fee": self.gateway_fee,
290
311
  "created_at": self.created_at,
@@ -364,6 +385,15 @@ module ProcessOut
364
385
  if data.include? "payment_data_network_authentication"
365
386
  self.payment_data_network_authentication = data["payment_data_network_authentication"]
366
387
  end
388
+ if data.include? "initial_scheme_transaction_id"
389
+ self.initial_scheme_transaction_id = data["initial_scheme_transaction_id"]
390
+ end
391
+ if data.include? "scheme_id"
392
+ self.scheme_id = data["scheme_id"]
393
+ end
394
+ if data.include? "payment_type"
395
+ self.payment_type = data["payment_type"]
396
+ end
367
397
  if data.include? "metadata"
368
398
  self.metadata = data["metadata"]
369
399
  end
@@ -406,6 +436,9 @@ module ProcessOut
406
436
  self.payment_data_three_d_s_request = data.fetch(:payment_data_three_d_s_request, self.payment_data_three_d_s_request)
407
437
  self.payment_data_three_d_s_authentication = data.fetch(:payment_data_three_d_s_authentication, self.payment_data_three_d_s_authentication)
408
438
  self.payment_data_network_authentication = data.fetch(:payment_data_network_authentication, self.payment_data_network_authentication)
439
+ self.initial_scheme_transaction_id = data.fetch(:initial_scheme_transaction_id, self.initial_scheme_transaction_id)
440
+ self.scheme_id = data.fetch(:scheme_id, self.scheme_id)
441
+ self.payment_type = data.fetch(:payment_type, self.payment_type)
409
442
  self.metadata = data.fetch(:metadata, self.metadata)
410
443
  self.gateway_fee = data.fetch(:gateway_fee, self.gateway_fee)
411
444
  self.created_at = data.fetch(:created_at, self.created_at)
@@ -1,3 +1,3 @@
1
1
  module ProcessOut
2
- VERSION = "2.23.0"
2
+ VERSION = "2.25.0"
3
3
  end
data/lib/processout.rb CHANGED
@@ -23,6 +23,7 @@ require "processout/invoice_external_fraud_tools"
23
23
  require "processout/invoice_risk"
24
24
  require "processout/invoice_device"
25
25
  require "processout/invoice_shipping"
26
+ require "processout/invoice_billing"
26
27
  require "processout/invoice_detail"
27
28
  require "processout/customer_action"
28
29
  require "processout/dunning_action"
@@ -168,6 +169,11 @@ module ProcessOut
168
169
  obj = InvoiceShipping.new(self, data)
169
170
  end
170
171
 
172
+ # Create a new InvoiceBilling instance
173
+ def invoice_billing(data = {})
174
+ obj = InvoiceBilling.new(self, data)
175
+ end
176
+
171
177
  # Create a new InvoiceDetail instance
172
178
  def invoice_detail(data = {})
173
179
  obj = InvoiceDetail.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.23.0
4
+ version: 2.25.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: 2023-03-21 00:00:00.000000000 Z
11
+ date: 2023-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -96,6 +96,7 @@ files:
96
96
  - lib/processout/gateway_configuration.rb
97
97
  - lib/processout/gateway_request.rb
98
98
  - lib/processout/invoice.rb
99
+ - lib/processout/invoice_billing.rb
99
100
  - lib/processout/invoice_detail.rb
100
101
  - lib/processout/invoice_device.rb
101
102
  - lib/processout/invoice_external_fraud_tools.rb