processout 2.23.0 → 2.25.0

Sign up to get free protection for your applications and to get access to all the features.
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