increase 1.278.2 → 1.280.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.
@@ -15,6 +15,20 @@ module Increase
15
15
  sig { returns(String) }
16
16
  attr_accessor :account_id
17
17
 
18
+ # Controls that restrict how this card can be used.
19
+ sig do
20
+ returns(T.nilable(Increase::CardCreateParams::AuthorizationControls))
21
+ end
22
+ attr_reader :authorization_controls
23
+
24
+ sig do
25
+ params(
26
+ authorization_controls:
27
+ Increase::CardCreateParams::AuthorizationControls::OrHash
28
+ ).void
29
+ end
30
+ attr_writer :authorization_controls
31
+
18
32
  # The card's billing address.
19
33
  sig { returns(T.nilable(Increase::CardCreateParams::BillingAddress)) }
20
34
  attr_reader :billing_address
@@ -59,6 +73,8 @@ module Increase
59
73
  sig do
60
74
  params(
61
75
  account_id: String,
76
+ authorization_controls:
77
+ Increase::CardCreateParams::AuthorizationControls::OrHash,
62
78
  billing_address: Increase::CardCreateParams::BillingAddress::OrHash,
63
79
  description: String,
64
80
  digital_wallet: Increase::CardCreateParams::DigitalWallet::OrHash,
@@ -69,6 +85,8 @@ module Increase
69
85
  def self.new(
70
86
  # The Account the card should belong to.
71
87
  account_id:,
88
+ # Controls that restrict how this card can be used.
89
+ authorization_controls: nil,
72
90
  # The card's billing address.
73
91
  billing_address: nil,
74
92
  # The description you choose to give the card.
@@ -90,6 +108,8 @@ module Increase
90
108
  override.returns(
91
109
  {
92
110
  account_id: String,
111
+ authorization_controls:
112
+ Increase::CardCreateParams::AuthorizationControls,
93
113
  billing_address: Increase::CardCreateParams::BillingAddress,
94
114
  description: String,
95
115
  digital_wallet: Increase::CardCreateParams::DigitalWallet,
@@ -101,6 +121,806 @@ module Increase
101
121
  def to_hash
102
122
  end
103
123
 
124
+ class AuthorizationControls < Increase::Internal::Type::BaseModel
125
+ OrHash =
126
+ T.type_alias do
127
+ T.any(
128
+ Increase::CardCreateParams::AuthorizationControls,
129
+ Increase::Internal::AnyHash
130
+ )
131
+ end
132
+
133
+ # Limits the number of authorizations that can be approved on this card.
134
+ sig do
135
+ returns(
136
+ T.nilable(
137
+ Increase::CardCreateParams::AuthorizationControls::MaximumAuthorizationCount
138
+ )
139
+ )
140
+ end
141
+ attr_reader :maximum_authorization_count
142
+
143
+ sig do
144
+ params(
145
+ maximum_authorization_count:
146
+ Increase::CardCreateParams::AuthorizationControls::MaximumAuthorizationCount::OrHash
147
+ ).void
148
+ end
149
+ attr_writer :maximum_authorization_count
150
+
151
+ # Restricts which Merchant Acceptor IDs are allowed or blocked for authorizations
152
+ # on this card.
153
+ sig do
154
+ returns(
155
+ T.nilable(
156
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier
157
+ )
158
+ )
159
+ end
160
+ attr_reader :merchant_acceptor_identifier
161
+
162
+ sig do
163
+ params(
164
+ merchant_acceptor_identifier:
165
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::OrHash
166
+ ).void
167
+ end
168
+ attr_writer :merchant_acceptor_identifier
169
+
170
+ # Restricts which Merchant Category Codes are allowed or blocked for
171
+ # authorizations on this card.
172
+ sig do
173
+ returns(
174
+ T.nilable(
175
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode
176
+ )
177
+ )
178
+ end
179
+ attr_reader :merchant_category_code
180
+
181
+ sig do
182
+ params(
183
+ merchant_category_code:
184
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::OrHash
185
+ ).void
186
+ end
187
+ attr_writer :merchant_category_code
188
+
189
+ # Restricts which merchant countries are allowed or blocked for authorizations on
190
+ # this card.
191
+ sig do
192
+ returns(
193
+ T.nilable(
194
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry
195
+ )
196
+ )
197
+ end
198
+ attr_reader :merchant_country
199
+
200
+ sig do
201
+ params(
202
+ merchant_country:
203
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::OrHash
204
+ ).void
205
+ end
206
+ attr_writer :merchant_country
207
+
208
+ # Spending limits for this card. The most restrictive limit is applied if multiple
209
+ # limits match.
210
+ sig do
211
+ returns(
212
+ T.nilable(
213
+ T::Array[
214
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit
215
+ ]
216
+ )
217
+ )
218
+ end
219
+ attr_reader :spending_limits
220
+
221
+ sig do
222
+ params(
223
+ spending_limits:
224
+ T::Array[
225
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::OrHash
226
+ ]
227
+ ).void
228
+ end
229
+ attr_writer :spending_limits
230
+
231
+ # Controls that restrict how this card can be used.
232
+ sig do
233
+ params(
234
+ maximum_authorization_count:
235
+ Increase::CardCreateParams::AuthorizationControls::MaximumAuthorizationCount::OrHash,
236
+ merchant_acceptor_identifier:
237
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::OrHash,
238
+ merchant_category_code:
239
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::OrHash,
240
+ merchant_country:
241
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::OrHash,
242
+ spending_limits:
243
+ T::Array[
244
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::OrHash
245
+ ]
246
+ ).returns(T.attached_class)
247
+ end
248
+ def self.new(
249
+ # Limits the number of authorizations that can be approved on this card.
250
+ maximum_authorization_count: nil,
251
+ # Restricts which Merchant Acceptor IDs are allowed or blocked for authorizations
252
+ # on this card.
253
+ merchant_acceptor_identifier: nil,
254
+ # Restricts which Merchant Category Codes are allowed or blocked for
255
+ # authorizations on this card.
256
+ merchant_category_code: nil,
257
+ # Restricts which merchant countries are allowed or blocked for authorizations on
258
+ # this card.
259
+ merchant_country: nil,
260
+ # Spending limits for this card. The most restrictive limit is applied if multiple
261
+ # limits match.
262
+ spending_limits: nil
263
+ )
264
+ end
265
+
266
+ sig do
267
+ override.returns(
268
+ {
269
+ maximum_authorization_count:
270
+ Increase::CardCreateParams::AuthorizationControls::MaximumAuthorizationCount,
271
+ merchant_acceptor_identifier:
272
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier,
273
+ merchant_category_code:
274
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode,
275
+ merchant_country:
276
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry,
277
+ spending_limits:
278
+ T::Array[
279
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit
280
+ ]
281
+ }
282
+ )
283
+ end
284
+ def to_hash
285
+ end
286
+
287
+ class MaximumAuthorizationCount < Increase::Internal::Type::BaseModel
288
+ OrHash =
289
+ T.type_alias do
290
+ T.any(
291
+ Increase::CardCreateParams::AuthorizationControls::MaximumAuthorizationCount,
292
+ Increase::Internal::AnyHash
293
+ )
294
+ end
295
+
296
+ # The maximum number of authorizations that can be approved on this card over its
297
+ # lifetime.
298
+ sig { returns(Integer) }
299
+ attr_accessor :all_time
300
+
301
+ # Limits the number of authorizations that can be approved on this card.
302
+ sig { params(all_time: Integer).returns(T.attached_class) }
303
+ def self.new(
304
+ # The maximum number of authorizations that can be approved on this card over its
305
+ # lifetime.
306
+ all_time:
307
+ )
308
+ end
309
+
310
+ sig { override.returns({ all_time: Integer }) }
311
+ def to_hash
312
+ end
313
+ end
314
+
315
+ class MerchantAcceptorIdentifier < Increase::Internal::Type::BaseModel
316
+ OrHash =
317
+ T.type_alias do
318
+ T.any(
319
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier,
320
+ Increase::Internal::AnyHash
321
+ )
322
+ end
323
+
324
+ # The Merchant Acceptor IDs that are allowed for authorizations on this card.
325
+ # Authorizations with Merchant Acceptor IDs not in this list will be declined.
326
+ sig do
327
+ returns(
328
+ T.nilable(
329
+ T::Array[
330
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Allowed
331
+ ]
332
+ )
333
+ )
334
+ end
335
+ attr_reader :allowed
336
+
337
+ sig do
338
+ params(
339
+ allowed:
340
+ T::Array[
341
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Allowed::OrHash
342
+ ]
343
+ ).void
344
+ end
345
+ attr_writer :allowed
346
+
347
+ # The Merchant Acceptor IDs that are blocked for authorizations on this card.
348
+ # Authorizations with Merchant Acceptor IDs in this list will be declined.
349
+ sig do
350
+ returns(
351
+ T.nilable(
352
+ T::Array[
353
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Blocked
354
+ ]
355
+ )
356
+ )
357
+ end
358
+ attr_reader :blocked
359
+
360
+ sig do
361
+ params(
362
+ blocked:
363
+ T::Array[
364
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Blocked::OrHash
365
+ ]
366
+ ).void
367
+ end
368
+ attr_writer :blocked
369
+
370
+ # Restricts which Merchant Acceptor IDs are allowed or blocked for authorizations
371
+ # on this card.
372
+ sig do
373
+ params(
374
+ allowed:
375
+ T::Array[
376
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Allowed::OrHash
377
+ ],
378
+ blocked:
379
+ T::Array[
380
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Blocked::OrHash
381
+ ]
382
+ ).returns(T.attached_class)
383
+ end
384
+ def self.new(
385
+ # The Merchant Acceptor IDs that are allowed for authorizations on this card.
386
+ # Authorizations with Merchant Acceptor IDs not in this list will be declined.
387
+ allowed: nil,
388
+ # The Merchant Acceptor IDs that are blocked for authorizations on this card.
389
+ # Authorizations with Merchant Acceptor IDs in this list will be declined.
390
+ blocked: nil
391
+ )
392
+ end
393
+
394
+ sig do
395
+ override.returns(
396
+ {
397
+ allowed:
398
+ T::Array[
399
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Allowed
400
+ ],
401
+ blocked:
402
+ T::Array[
403
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Blocked
404
+ ]
405
+ }
406
+ )
407
+ end
408
+ def to_hash
409
+ end
410
+
411
+ class Allowed < Increase::Internal::Type::BaseModel
412
+ OrHash =
413
+ T.type_alias do
414
+ T.any(
415
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Allowed,
416
+ Increase::Internal::AnyHash
417
+ )
418
+ end
419
+
420
+ # The Merchant Acceptor ID.
421
+ sig { returns(String) }
422
+ attr_accessor :identifier
423
+
424
+ sig { params(identifier: String).returns(T.attached_class) }
425
+ def self.new(
426
+ # The Merchant Acceptor ID.
427
+ identifier:
428
+ )
429
+ end
430
+
431
+ sig { override.returns({ identifier: String }) }
432
+ def to_hash
433
+ end
434
+ end
435
+
436
+ class Blocked < Increase::Internal::Type::BaseModel
437
+ OrHash =
438
+ T.type_alias do
439
+ T.any(
440
+ Increase::CardCreateParams::AuthorizationControls::MerchantAcceptorIdentifier::Blocked,
441
+ Increase::Internal::AnyHash
442
+ )
443
+ end
444
+
445
+ # The Merchant Acceptor ID.
446
+ sig { returns(String) }
447
+ attr_accessor :identifier
448
+
449
+ sig { params(identifier: String).returns(T.attached_class) }
450
+ def self.new(
451
+ # The Merchant Acceptor ID.
452
+ identifier:
453
+ )
454
+ end
455
+
456
+ sig { override.returns({ identifier: String }) }
457
+ def to_hash
458
+ end
459
+ end
460
+ end
461
+
462
+ class MerchantCategoryCode < Increase::Internal::Type::BaseModel
463
+ OrHash =
464
+ T.type_alias do
465
+ T.any(
466
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode,
467
+ Increase::Internal::AnyHash
468
+ )
469
+ end
470
+
471
+ # The Merchant Category Codes that are allowed for authorizations on this card.
472
+ # Authorizations with Merchant Category Codes not in this list will be declined.
473
+ sig do
474
+ returns(
475
+ T.nilable(
476
+ T::Array[
477
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Allowed
478
+ ]
479
+ )
480
+ )
481
+ end
482
+ attr_reader :allowed
483
+
484
+ sig do
485
+ params(
486
+ allowed:
487
+ T::Array[
488
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Allowed::OrHash
489
+ ]
490
+ ).void
491
+ end
492
+ attr_writer :allowed
493
+
494
+ # The Merchant Category Codes that are blocked for authorizations on this card.
495
+ # Authorizations with Merchant Category Codes in this list will be declined.
496
+ sig do
497
+ returns(
498
+ T.nilable(
499
+ T::Array[
500
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Blocked
501
+ ]
502
+ )
503
+ )
504
+ end
505
+ attr_reader :blocked
506
+
507
+ sig do
508
+ params(
509
+ blocked:
510
+ T::Array[
511
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Blocked::OrHash
512
+ ]
513
+ ).void
514
+ end
515
+ attr_writer :blocked
516
+
517
+ # Restricts which Merchant Category Codes are allowed or blocked for
518
+ # authorizations on this card.
519
+ sig do
520
+ params(
521
+ allowed:
522
+ T::Array[
523
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Allowed::OrHash
524
+ ],
525
+ blocked:
526
+ T::Array[
527
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Blocked::OrHash
528
+ ]
529
+ ).returns(T.attached_class)
530
+ end
531
+ def self.new(
532
+ # The Merchant Category Codes that are allowed for authorizations on this card.
533
+ # Authorizations with Merchant Category Codes not in this list will be declined.
534
+ allowed: nil,
535
+ # The Merchant Category Codes that are blocked for authorizations on this card.
536
+ # Authorizations with Merchant Category Codes in this list will be declined.
537
+ blocked: nil
538
+ )
539
+ end
540
+
541
+ sig do
542
+ override.returns(
543
+ {
544
+ allowed:
545
+ T::Array[
546
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Allowed
547
+ ],
548
+ blocked:
549
+ T::Array[
550
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Blocked
551
+ ]
552
+ }
553
+ )
554
+ end
555
+ def to_hash
556
+ end
557
+
558
+ class Allowed < Increase::Internal::Type::BaseModel
559
+ OrHash =
560
+ T.type_alias do
561
+ T.any(
562
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Allowed,
563
+ Increase::Internal::AnyHash
564
+ )
565
+ end
566
+
567
+ # The Merchant Category Code.
568
+ sig { returns(String) }
569
+ attr_accessor :code
570
+
571
+ sig { params(code: String).returns(T.attached_class) }
572
+ def self.new(
573
+ # The Merchant Category Code.
574
+ code:
575
+ )
576
+ end
577
+
578
+ sig { override.returns({ code: String }) }
579
+ def to_hash
580
+ end
581
+ end
582
+
583
+ class Blocked < Increase::Internal::Type::BaseModel
584
+ OrHash =
585
+ T.type_alias do
586
+ T.any(
587
+ Increase::CardCreateParams::AuthorizationControls::MerchantCategoryCode::Blocked,
588
+ Increase::Internal::AnyHash
589
+ )
590
+ end
591
+
592
+ # The Merchant Category Code.
593
+ sig { returns(String) }
594
+ attr_accessor :code
595
+
596
+ sig { params(code: String).returns(T.attached_class) }
597
+ def self.new(
598
+ # The Merchant Category Code.
599
+ code:
600
+ )
601
+ end
602
+
603
+ sig { override.returns({ code: String }) }
604
+ def to_hash
605
+ end
606
+ end
607
+ end
608
+
609
+ class MerchantCountry < Increase::Internal::Type::BaseModel
610
+ OrHash =
611
+ T.type_alias do
612
+ T.any(
613
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry,
614
+ Increase::Internal::AnyHash
615
+ )
616
+ end
617
+
618
+ # The merchant countries that are allowed for authorizations on this card.
619
+ # Authorizations with merchant countries not in this list will be declined.
620
+ sig do
621
+ returns(
622
+ T.nilable(
623
+ T::Array[
624
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Allowed
625
+ ]
626
+ )
627
+ )
628
+ end
629
+ attr_reader :allowed
630
+
631
+ sig do
632
+ params(
633
+ allowed:
634
+ T::Array[
635
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Allowed::OrHash
636
+ ]
637
+ ).void
638
+ end
639
+ attr_writer :allowed
640
+
641
+ # The merchant countries that are blocked for authorizations on this card.
642
+ # Authorizations with merchant countries in this list will be declined.
643
+ sig do
644
+ returns(
645
+ T.nilable(
646
+ T::Array[
647
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Blocked
648
+ ]
649
+ )
650
+ )
651
+ end
652
+ attr_reader :blocked
653
+
654
+ sig do
655
+ params(
656
+ blocked:
657
+ T::Array[
658
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Blocked::OrHash
659
+ ]
660
+ ).void
661
+ end
662
+ attr_writer :blocked
663
+
664
+ # Restricts which merchant countries are allowed or blocked for authorizations on
665
+ # this card.
666
+ sig do
667
+ params(
668
+ allowed:
669
+ T::Array[
670
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Allowed::OrHash
671
+ ],
672
+ blocked:
673
+ T::Array[
674
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Blocked::OrHash
675
+ ]
676
+ ).returns(T.attached_class)
677
+ end
678
+ def self.new(
679
+ # The merchant countries that are allowed for authorizations on this card.
680
+ # Authorizations with merchant countries not in this list will be declined.
681
+ allowed: nil,
682
+ # The merchant countries that are blocked for authorizations on this card.
683
+ # Authorizations with merchant countries in this list will be declined.
684
+ blocked: nil
685
+ )
686
+ end
687
+
688
+ sig do
689
+ override.returns(
690
+ {
691
+ allowed:
692
+ T::Array[
693
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Allowed
694
+ ],
695
+ blocked:
696
+ T::Array[
697
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Blocked
698
+ ]
699
+ }
700
+ )
701
+ end
702
+ def to_hash
703
+ end
704
+
705
+ class Allowed < Increase::Internal::Type::BaseModel
706
+ OrHash =
707
+ T.type_alias do
708
+ T.any(
709
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Allowed,
710
+ Increase::Internal::AnyHash
711
+ )
712
+ end
713
+
714
+ # The ISO 3166-1 alpha-2 country code.
715
+ sig { returns(String) }
716
+ attr_accessor :country
717
+
718
+ sig { params(country: String).returns(T.attached_class) }
719
+ def self.new(
720
+ # The ISO 3166-1 alpha-2 country code.
721
+ country:
722
+ )
723
+ end
724
+
725
+ sig { override.returns({ country: String }) }
726
+ def to_hash
727
+ end
728
+ end
729
+
730
+ class Blocked < Increase::Internal::Type::BaseModel
731
+ OrHash =
732
+ T.type_alias do
733
+ T.any(
734
+ Increase::CardCreateParams::AuthorizationControls::MerchantCountry::Blocked,
735
+ Increase::Internal::AnyHash
736
+ )
737
+ end
738
+
739
+ # The ISO 3166-1 alpha-2 country code.
740
+ sig { returns(String) }
741
+ attr_accessor :country
742
+
743
+ sig { params(country: String).returns(T.attached_class) }
744
+ def self.new(
745
+ # The ISO 3166-1 alpha-2 country code.
746
+ country:
747
+ )
748
+ end
749
+
750
+ sig { override.returns({ country: String }) }
751
+ def to_hash
752
+ end
753
+ end
754
+ end
755
+
756
+ class SpendingLimit < Increase::Internal::Type::BaseModel
757
+ OrHash =
758
+ T.type_alias do
759
+ T.any(
760
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit,
761
+ Increase::Internal::AnyHash
762
+ )
763
+ end
764
+
765
+ # The interval at which the spending limit is enforced.
766
+ sig do
767
+ returns(
768
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::OrSymbol
769
+ )
770
+ end
771
+ attr_accessor :interval
772
+
773
+ # The maximum settlement amount permitted in the given interval.
774
+ sig { returns(Integer) }
775
+ attr_accessor :settlement_amount
776
+
777
+ # The Merchant Category Codes this spending limit applies to. If not set, the
778
+ # limit applies to all transactions.
779
+ sig do
780
+ returns(
781
+ T.nilable(
782
+ T::Array[
783
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::MerchantCategoryCode
784
+ ]
785
+ )
786
+ )
787
+ end
788
+ attr_reader :merchant_category_codes
789
+
790
+ sig do
791
+ params(
792
+ merchant_category_codes:
793
+ T::Array[
794
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::MerchantCategoryCode::OrHash
795
+ ]
796
+ ).void
797
+ end
798
+ attr_writer :merchant_category_codes
799
+
800
+ sig do
801
+ params(
802
+ interval:
803
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::OrSymbol,
804
+ settlement_amount: Integer,
805
+ merchant_category_codes:
806
+ T::Array[
807
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::MerchantCategoryCode::OrHash
808
+ ]
809
+ ).returns(T.attached_class)
810
+ end
811
+ def self.new(
812
+ # The interval at which the spending limit is enforced.
813
+ interval:,
814
+ # The maximum settlement amount permitted in the given interval.
815
+ settlement_amount:,
816
+ # The Merchant Category Codes this spending limit applies to. If not set, the
817
+ # limit applies to all transactions.
818
+ merchant_category_codes: nil
819
+ )
820
+ end
821
+
822
+ sig do
823
+ override.returns(
824
+ {
825
+ interval:
826
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::OrSymbol,
827
+ settlement_amount: Integer,
828
+ merchant_category_codes:
829
+ T::Array[
830
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::MerchantCategoryCode
831
+ ]
832
+ }
833
+ )
834
+ end
835
+ def to_hash
836
+ end
837
+
838
+ # The interval at which the spending limit is enforced.
839
+ module Interval
840
+ extend Increase::Internal::Type::Enum
841
+
842
+ TaggedSymbol =
843
+ T.type_alias do
844
+ T.all(
845
+ Symbol,
846
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval
847
+ )
848
+ end
849
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
850
+
851
+ # The spending limit applies over the lifetime of the card.
852
+ ALL_TIME =
853
+ T.let(
854
+ :all_time,
855
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::TaggedSymbol
856
+ )
857
+
858
+ # The spending limit applies per transaction.
859
+ PER_TRANSACTION =
860
+ T.let(
861
+ :per_transaction,
862
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::TaggedSymbol
863
+ )
864
+
865
+ # The spending limit applies per day. Resets nightly at midnight UTC.
866
+ PER_DAY =
867
+ T.let(
868
+ :per_day,
869
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::TaggedSymbol
870
+ )
871
+
872
+ # The spending limit applies per week. Resets weekly on Mondays at midnight UTC.
873
+ PER_WEEK =
874
+ T.let(
875
+ :per_week,
876
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::TaggedSymbol
877
+ )
878
+
879
+ # The spending limit applies per month. Resets on the first of the month, midnight UTC.
880
+ PER_MONTH =
881
+ T.let(
882
+ :per_month,
883
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::TaggedSymbol
884
+ )
885
+
886
+ sig do
887
+ override.returns(
888
+ T::Array[
889
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::Interval::TaggedSymbol
890
+ ]
891
+ )
892
+ end
893
+ def self.values
894
+ end
895
+ end
896
+
897
+ class MerchantCategoryCode < Increase::Internal::Type::BaseModel
898
+ OrHash =
899
+ T.type_alias do
900
+ T.any(
901
+ Increase::CardCreateParams::AuthorizationControls::SpendingLimit::MerchantCategoryCode,
902
+ Increase::Internal::AnyHash
903
+ )
904
+ end
905
+
906
+ # The Merchant Category Code.
907
+ sig { returns(String) }
908
+ attr_accessor :code
909
+
910
+ sig { params(code: String).returns(T.attached_class) }
911
+ def self.new(
912
+ # The Merchant Category Code.
913
+ code:
914
+ )
915
+ end
916
+
917
+ sig { override.returns({ code: String }) }
918
+ def to_hash
919
+ end
920
+ end
921
+ end
922
+ end
923
+
104
924
  class BillingAddress < Increase::Internal::Type::BaseModel
105
925
  OrHash =
106
926
  T.type_alias do