increase 1.333.1 → 1.335.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.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +26 -5
  4. data/lib/increase/models/ach_prenotification.rb +5 -2
  5. data/lib/increase/models/ach_prenotification_create_params.rb +2 -2
  6. data/lib/increase/models/ach_transfer.rb +9 -3
  7. data/lib/increase/models/ach_transfer_create_params.rb +3 -0
  8. data/lib/increase/models/card.rb +9 -1
  9. data/lib/increase/models/card_dispute.rb +40 -1
  10. data/lib/increase/models/card_dispute_list_params.rb +3 -0
  11. data/lib/increase/models/card_payment.rb +74 -6
  12. data/lib/increase/models/card_push_transfer.rb +53 -1
  13. data/lib/increase/models/check_transfer.rb +4 -8
  14. data/lib/increase/models/declined_transaction.rb +4 -1
  15. data/lib/increase/models/digital_wallet_token.rb +59 -1
  16. data/lib/increase/models/entity.rb +1 -1
  17. data/lib/increase/models/event.rb +12 -0
  18. data/lib/increase/models/event_list_params.rb +12 -0
  19. data/lib/increase/models/event_subscription.rb +12 -0
  20. data/lib/increase/models/event_subscription_create_params.rb +12 -0
  21. data/lib/increase/models/export.rb +17 -1
  22. data/lib/increase/models/export_create_params.rb +78 -1
  23. data/lib/increase/models/fednow_transfer.rb +47 -1
  24. data/lib/increase/models/inbound_wire_transfer.rb +9 -1
  25. data/lib/increase/models/pending_transaction.rb +57 -1
  26. data/lib/increase/models/physical_card.rb +1 -1
  27. data/lib/increase/models/physical_card_profile.rb +38 -1
  28. data/lib/increase/models/real_time_decision.rb +55 -1
  29. data/lib/increase/models/simulations/ach_transfer_create_notification_of_change_params.rb +3 -0
  30. data/lib/increase/models/simulations/card_authorization_create_params.rb +4 -1
  31. data/lib/increase/models/simulations/card_balance_inquiry_create_params.rb +1 -1
  32. data/lib/increase/models/simulations/check_deposit_submit_params.rb +21 -2
  33. data/lib/increase/models/simulations/digital_wallet_token_request_create_response.rb +6 -0
  34. data/lib/increase/models/simulations/entity_update_validation_params.rb +1 -1
  35. data/lib/increase/models/simulations/inbound_wire_transfer_create_params.rb +10 -1
  36. data/lib/increase/models/simulations/physical_card_create_params.rb +1 -1
  37. data/lib/increase/models/transaction.rb +23 -8
  38. data/lib/increase/models/unwrap_webhook_event.rb +12 -0
  39. data/lib/increase/models/wire_drawdown_request.rb +20 -1
  40. data/lib/increase/resources/events.rb +4 -1
  41. data/lib/increase/resources/exports.rb +3 -1
  42. data/lib/increase/resources/simulations/check_deposits.rb +3 -0
  43. data/lib/increase/resources/simulations/inbound_wire_transfers.rb +3 -1
  44. data/lib/increase/version.rb +1 -1
  45. data/rbi/increase/models/ach_prenotification.rbi +9 -2
  46. data/rbi/increase/models/ach_prenotification_create_params.rbi +2 -2
  47. data/rbi/increase/models/ach_transfer.rbi +14 -4
  48. data/rbi/increase/models/ach_transfer_create_params.rbi +4 -0
  49. data/rbi/increase/models/card.rbi +8 -0
  50. data/rbi/increase/models/card_dispute.rbi +56 -0
  51. data/rbi/increase/models/card_dispute_list_params.rbi +7 -0
  52. data/rbi/increase/models/card_payment.rbi +156 -7
  53. data/rbi/increase/models/card_push_transfer.rbi +56 -0
  54. data/rbi/increase/models/check_transfer.rbi +4 -10
  55. data/rbi/increase/models/declined_transaction.rbi +8 -1
  56. data/rbi/increase/models/digital_wallet_token.rbi +131 -0
  57. data/rbi/increase/models/entity.rbi +1 -1
  58. data/rbi/increase/models/event.rbi +22 -0
  59. data/rbi/increase/models/event_list_params.rbi +28 -0
  60. data/rbi/increase/models/event_subscription.rbi +28 -0
  61. data/rbi/increase/models/event_subscription_create_params.rbi +28 -0
  62. data/rbi/increase/models/export.rbi +25 -5
  63. data/rbi/increase/models/export_create_params.rbi +151 -0
  64. data/rbi/increase/models/fednow_transfer.rbi +77 -0
  65. data/rbi/increase/models/inbound_wire_transfer.rbi +8 -0
  66. data/rbi/increase/models/pending_transaction.rbi +129 -0
  67. data/rbi/increase/models/physical_card.rbi +1 -1
  68. data/rbi/increase/models/physical_card_profile.rbi +60 -0
  69. data/rbi/increase/models/real_time_decision.rbi +127 -0
  70. data/rbi/increase/models/simulations/ach_transfer_create_notification_of_change_params.rbi +7 -0
  71. data/rbi/increase/models/simulations/card_authorization_create_params.rbi +8 -1
  72. data/rbi/increase/models/simulations/card_balance_inquiry_create_params.rbi +1 -1
  73. data/rbi/increase/models/simulations/check_deposit_submit_params.rbi +21 -3
  74. data/rbi/increase/models/simulations/digital_wallet_token_request_create_response.rbi +14 -0
  75. data/rbi/increase/models/simulations/entity_update_validation_params.rbi +1 -1
  76. data/rbi/increase/models/simulations/inbound_wire_transfer_create_params.rbi +13 -0
  77. data/rbi/increase/models/simulations/physical_card_create_params.rbi +1 -1
  78. data/rbi/increase/models/transaction.rbi +31 -10
  79. data/rbi/increase/models/unwrap_webhook_event.rbi +28 -0
  80. data/rbi/increase/models/wire_drawdown_request.rbi +22 -0
  81. data/rbi/increase/resources/events.rbi +4 -1
  82. data/rbi/increase/resources/exports.rbi +3 -0
  83. data/rbi/increase/resources/simulations/check_deposits.rbi +1 -0
  84. data/rbi/increase/resources/simulations/inbound_wire_transfers.rbi +4 -0
  85. data/sig/increase/models/ach_prenotification.rbs +7 -3
  86. data/sig/increase/models/ach_prenotification_create_params.rbs +2 -2
  87. data/sig/increase/models/ach_transfer.rbs +9 -2
  88. data/sig/increase/models/ach_transfer_create_params.rbs +4 -1
  89. data/sig/increase/models/card.rbs +5 -0
  90. data/sig/increase/models/card_dispute.rbs +21 -0
  91. data/sig/increase/models/card_dispute_list_params.rbs +4 -0
  92. data/sig/increase/models/card_payment.rbs +49 -1
  93. data/sig/increase/models/card_push_transfer.rbs +30 -0
  94. data/sig/increase/models/check_transfer.rbs +5 -5
  95. data/sig/increase/models/declined_transaction.rbs +5 -1
  96. data/sig/increase/models/digital_wallet_token.rbs +61 -2
  97. data/sig/increase/models/entity.rbs +1 -1
  98. data/sig/increase/models/event.rbs +16 -0
  99. data/sig/increase/models/event_list_params.rbs +16 -0
  100. data/sig/increase/models/event_subscription.rbs +16 -0
  101. data/sig/increase/models/event_subscription_create_params.rbs +16 -0
  102. data/sig/increase/models/export.rbs +23 -3
  103. data/sig/increase/models/export_create_params.rbs +76 -0
  104. data/sig/increase/models/fednow_transfer.rbs +37 -0
  105. data/sig/increase/models/inbound_wire_transfer.rbs +5 -0
  106. data/sig/increase/models/pending_transaction.rbs +40 -0
  107. data/sig/increase/models/physical_card.rbs +1 -1
  108. data/sig/increase/models/physical_card_profile.rbs +17 -0
  109. data/sig/increase/models/real_time_decision.rbs +40 -0
  110. data/sig/increase/models/simulations/ach_transfer_create_notification_of_change_params.rbs +5 -1
  111. data/sig/increase/models/simulations/card_authorization_create_params.rbs +5 -1
  112. data/sig/increase/models/simulations/card_balance_inquiry_create_params.rbs +1 -1
  113. data/sig/increase/models/simulations/check_deposit_submit_params.rbs +10 -3
  114. data/sig/increase/models/simulations/digital_wallet_token_request_create_response.rbs +8 -0
  115. data/sig/increase/models/simulations/entity_update_validation_params.rbs +1 -1
  116. data/sig/increase/models/simulations/inbound_wire_transfer_create_params.rbs +7 -0
  117. data/sig/increase/models/simulations/physical_card_create_params.rbs +1 -1
  118. data/sig/increase/models/transaction.rbs +9 -0
  119. data/sig/increase/models/unwrap_webhook_event.rbs +16 -0
  120. data/sig/increase/models/wire_drawdown_request.rbs +10 -0
  121. data/sig/increase/resources/exports.rbs +1 -0
  122. data/sig/increase/resources/simulations/inbound_wire_transfers.rbs +1 -0
  123. metadata +4 -4
@@ -96,6 +96,10 @@ module Increase
96
96
  sig { returns(T.nilable(String)) }
97
97
  attr_accessor :instruction_identification
98
98
 
99
+ # The reason for the wire transfer, as set by the sender.
100
+ sig { returns(T.nilable(String)) }
101
+ attr_accessor :purpose
102
+
99
103
  # If the transfer is reversed, this will contain details of the reversal.
100
104
  sig { returns(T.nilable(Increase::InboundWireTransfer::Reversal)) }
101
105
  attr_reader :reversal
@@ -154,6 +158,7 @@ module Increase
154
158
  input_message_accountability_data: T.nilable(String),
155
159
  instructing_agent_routing_number: T.nilable(String),
156
160
  instruction_identification: T.nilable(String),
161
+ purpose: T.nilable(String),
157
162
  reversal: T.nilable(Increase::InboundWireTransfer::Reversal::OrHash),
158
163
  status: Increase::InboundWireTransfer::Status::OrSymbol,
159
164
  type: Increase::InboundWireTransfer::Type::OrSymbol,
@@ -205,6 +210,8 @@ module Increase
205
210
  instructing_agent_routing_number:,
206
211
  # The sending bank's identifier for the wire transfer.
207
212
  instruction_identification:,
213
+ # The reason for the wire transfer, as set by the sender.
214
+ purpose:,
208
215
  # If the transfer is reversed, this will contain details of the reversal.
209
216
  reversal:,
210
217
  # The status of the transfer.
@@ -245,6 +252,7 @@ module Increase
245
252
  input_message_accountability_data: T.nilable(String),
246
253
  instructing_agent_routing_number: T.nilable(String),
247
254
  instruction_identification: T.nilable(String),
255
+ purpose: T.nilable(String),
248
256
  reversal: T.nilable(Increase::InboundWireTransfer::Reversal),
249
257
  status: Increase::InboundWireTransfer::Status::TaggedSymbol,
250
258
  type: Increase::InboundWireTransfer::Type::TaggedSymbol,
@@ -1395,6 +1395,27 @@ module Increase
1395
1395
  sig { returns(Time) }
1396
1396
  attr_accessor :expires_at
1397
1397
 
1398
+ # The healthcare-related fields for this authorization. Only present for specific
1399
+ # programs.
1400
+ sig do
1401
+ returns(
1402
+ T.nilable(
1403
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare
1404
+ )
1405
+ )
1406
+ end
1407
+ attr_reader :healthcare
1408
+
1409
+ sig do
1410
+ params(
1411
+ healthcare:
1412
+ T.nilable(
1413
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::OrHash
1414
+ )
1415
+ ).void
1416
+ end
1417
+ attr_writer :healthcare
1418
+
1398
1419
  # The merchant identifier (commonly abbreviated as MID) of the merchant the card
1399
1420
  # is transacting with.
1400
1421
  sig { returns(String) }
@@ -1555,6 +1576,10 @@ module Increase
1555
1576
  direction:
1556
1577
  Increase::PendingTransaction::Source::CardAuthorization::Direction::OrSymbol,
1557
1578
  expires_at: Time,
1579
+ healthcare:
1580
+ T.nilable(
1581
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::OrHash
1582
+ ),
1558
1583
  merchant_acceptor_id: String,
1559
1584
  merchant_category_code: String,
1560
1585
  merchant_city: T.nilable(String),
@@ -1612,6 +1637,9 @@ module Increase
1612
1637
  # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) when this authorization
1613
1638
  # will expire and the pending transaction will be released.
1614
1639
  expires_at:,
1640
+ # The healthcare-related fields for this authorization. Only present for specific
1641
+ # programs.
1642
+ healthcare:,
1615
1643
  # The merchant identifier (commonly abbreviated as MID) of the merchant the card
1616
1644
  # is transacting with.
1617
1645
  merchant_acceptor_id:,
@@ -1682,6 +1710,10 @@ module Increase
1682
1710
  direction:
1683
1711
  Increase::PendingTransaction::Source::CardAuthorization::Direction::TaggedSymbol,
1684
1712
  expires_at: Time,
1713
+ healthcare:
1714
+ T.nilable(
1715
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare
1716
+ ),
1685
1717
  merchant_acceptor_id: String,
1686
1718
  merchant_category_code: String,
1687
1719
  merchant_city: T.nilable(String),
@@ -2583,6 +2615,96 @@ module Increase
2583
2615
  end
2584
2616
  end
2585
2617
 
2618
+ class Healthcare < Increase::Internal::Type::BaseModel
2619
+ OrHash =
2620
+ T.type_alias do
2621
+ T.any(
2622
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare,
2623
+ Increase::Internal::AnyHash
2624
+ )
2625
+ end
2626
+
2627
+ # The merchant's eligibility under the Internal Revenue Service's 90% Rule for
2628
+ # Flexible Spending Account (FSA) and Health Savings Account (HSA) eligible
2629
+ # products. The eligibility is determined based on the list of merchants
2630
+ # maintained by the Special Interest Group for IIAS Standards (SIGIS).
2631
+ sig do
2632
+ returns(
2633
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
2634
+ )
2635
+ end
2636
+ attr_accessor :merchant_ninety_percent_eligibility
2637
+
2638
+ # The healthcare-related fields for this authorization. Only present for specific
2639
+ # programs.
2640
+ sig do
2641
+ params(
2642
+ merchant_ninety_percent_eligibility:
2643
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::OrSymbol
2644
+ ).returns(T.attached_class)
2645
+ end
2646
+ def self.new(
2647
+ # The merchant's eligibility under the Internal Revenue Service's 90% Rule for
2648
+ # Flexible Spending Account (FSA) and Health Savings Account (HSA) eligible
2649
+ # products. The eligibility is determined based on the list of merchants
2650
+ # maintained by the Special Interest Group for IIAS Standards (SIGIS).
2651
+ merchant_ninety_percent_eligibility:
2652
+ )
2653
+ end
2654
+
2655
+ sig do
2656
+ override.returns(
2657
+ {
2658
+ merchant_ninety_percent_eligibility:
2659
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
2660
+ }
2661
+ )
2662
+ end
2663
+ def to_hash
2664
+ end
2665
+
2666
+ # The merchant's eligibility under the Internal Revenue Service's 90% Rule for
2667
+ # Flexible Spending Account (FSA) and Health Savings Account (HSA) eligible
2668
+ # products. The eligibility is determined based on the list of merchants
2669
+ # maintained by the Special Interest Group for IIAS Standards (SIGIS).
2670
+ module MerchantNinetyPercentEligibility
2671
+ extend Increase::Internal::Type::Enum
2672
+
2673
+ TaggedSymbol =
2674
+ T.type_alias do
2675
+ T.all(
2676
+ Symbol,
2677
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility
2678
+ )
2679
+ end
2680
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2681
+
2682
+ # The merchant is eligible for treatment under the 90% rule.
2683
+ ELIGIBLE =
2684
+ T.let(
2685
+ :eligible,
2686
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
2687
+ )
2688
+
2689
+ # The merchant is not eligible for treatment under the 90% rule.
2690
+ NOT_ELIGIBLE =
2691
+ T.let(
2692
+ :not_eligible,
2693
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
2694
+ )
2695
+
2696
+ sig do
2697
+ override.returns(
2698
+ T::Array[
2699
+ Increase::PendingTransaction::Source::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
2700
+ ]
2701
+ )
2702
+ end
2703
+ def self.values
2704
+ end
2705
+ end
2706
+ end
2707
+
2586
2708
  class NetworkDetails < Increase::Internal::Type::BaseModel
2587
2709
  OrHash =
2588
2710
  T.type_alias do
@@ -3348,6 +3470,13 @@ module Increase
3348
3470
  Increase::PendingTransaction::Source::CardAuthorization::ProcessingCategory::TaggedSymbol
3349
3471
  )
3350
3472
 
3473
+ # Cash deposit transactions are used to deposit cash at an ATM or a point of sale.
3474
+ CASH_DEPOSIT =
3475
+ T.let(
3476
+ :cash_deposit,
3477
+ Increase::PendingTransaction::Source::CardAuthorization::ProcessingCategory::TaggedSymbol
3478
+ )
3479
+
3351
3480
  # A balance inquiry transaction is used to check the balance of an account associated with a card.
3352
3481
  BALANCE_INQUIRY =
3353
3482
  T.let(
@@ -683,7 +683,7 @@ module Increase
683
683
  Increase::PhysicalCard::Shipment::Tracking::Update::Category::TaggedSymbol
684
684
  )
685
685
 
686
- # The physical card has been delivered.
686
+ # The physical card has been delivered. Note that some couriers track delivery status based on driver location data rather than an explicit scan. While uncommon, a single physical card may have more than one delivered event.
687
687
  DELIVERED =
688
688
  T.let(
689
689
  :delivered,
@@ -44,6 +44,19 @@ module Increase
44
44
  sig { returns(T.nilable(String)) }
45
45
  attr_accessor :front_image_file_id
46
46
 
47
+ # Text printed on the front of the card. Reach out to
48
+ # [support@increase.com](mailto:support@increase.com) for more information.
49
+ sig { returns(T.nilable(Increase::PhysicalCardProfile::FrontText)) }
50
+ attr_reader :front_text
51
+
52
+ sig do
53
+ params(
54
+ front_text:
55
+ T.nilable(Increase::PhysicalCardProfile::FrontText::OrHash)
56
+ ).void
57
+ end
58
+ attr_writer :front_text
59
+
47
60
  # The idempotency key you chose for this object. This value is unique across
48
61
  # Increase and is used to ensure that a request is only processed once. Learn more
49
62
  # about [idempotency](https://increase.com/documentation/idempotency-keys).
@@ -81,6 +94,8 @@ module Increase
81
94
  creator: Increase::PhysicalCardProfile::Creator::OrSymbol,
82
95
  description: String,
83
96
  front_image_file_id: T.nilable(String),
97
+ front_text:
98
+ T.nilable(Increase::PhysicalCardProfile::FrontText::OrHash),
84
99
  idempotency_key: T.nilable(String),
85
100
  is_default: T::Boolean,
86
101
  program_id: String,
@@ -109,6 +124,9 @@ module Increase
109
124
  # The identifier of the File containing the physical card's front image. This will
110
125
  # be missing until the image has been post-processed.
111
126
  front_image_file_id:,
127
+ # Text printed on the front of the card. Reach out to
128
+ # [support@increase.com](mailto:support@increase.com) for more information.
129
+ front_text:,
112
130
  # The idempotency key you chose for this object. This value is unique across
113
131
  # Increase and is used to ensure that a request is only processed once. Learn more
114
132
  # about [idempotency](https://increase.com/documentation/idempotency-keys).
@@ -137,6 +155,7 @@ module Increase
137
155
  creator: Increase::PhysicalCardProfile::Creator::TaggedSymbol,
138
156
  description: String,
139
157
  front_image_file_id: T.nilable(String),
158
+ front_text: T.nilable(Increase::PhysicalCardProfile::FrontText),
140
159
  idempotency_key: T.nilable(String),
141
160
  is_default: T::Boolean,
142
161
  program_id: String,
@@ -173,6 +192,47 @@ module Increase
173
192
  end
174
193
  end
175
194
 
195
+ class FrontText < Increase::Internal::Type::BaseModel
196
+ OrHash =
197
+ T.type_alias do
198
+ T.any(
199
+ Increase::PhysicalCardProfile::FrontText,
200
+ Increase::Internal::AnyHash
201
+ )
202
+ end
203
+
204
+ # The first line of text on the front of the card.
205
+ sig { returns(String) }
206
+ attr_accessor :line1
207
+
208
+ # The second line of text on the front of the card. Providing a second line moves
209
+ # the first line slightly higher and prints the second line in the spot where the
210
+ # first line would have otherwise been printed.
211
+ sig { returns(T.nilable(String)) }
212
+ attr_accessor :line2
213
+
214
+ # Text printed on the front of the card. Reach out to
215
+ # [support@increase.com](mailto:support@increase.com) for more information.
216
+ sig do
217
+ params(line1: String, line2: T.nilable(String)).returns(
218
+ T.attached_class
219
+ )
220
+ end
221
+ def self.new(
222
+ # The first line of text on the front of the card.
223
+ line1:,
224
+ # The second line of text on the front of the card. Providing a second line moves
225
+ # the first line slightly higher and prints the second line in the spot where the
226
+ # first line would have otherwise been printed.
227
+ line2:
228
+ )
229
+ end
230
+
231
+ sig { override.returns({ line1: String, line2: T.nilable(String) }) }
232
+ def to_hash
233
+ end
234
+ end
235
+
176
236
  # The status of the Physical Card Profile.
177
237
  module Status
178
238
  extend Increase::Internal::Type::Enum
@@ -1784,6 +1784,25 @@ module Increase
1784
1784
  end
1785
1785
  attr_accessor :direction
1786
1786
 
1787
+ # The healthcare-related fields for this authorization. Only present for specific
1788
+ # programs.
1789
+ sig do
1790
+ returns(
1791
+ T.nilable(Increase::RealTimeDecision::CardAuthorization::Healthcare)
1792
+ )
1793
+ end
1794
+ attr_reader :healthcare
1795
+
1796
+ sig do
1797
+ params(
1798
+ healthcare:
1799
+ T.nilable(
1800
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::OrHash
1801
+ )
1802
+ ).void
1803
+ end
1804
+ attr_writer :healthcare
1805
+
1787
1806
  # The merchant identifier (commonly abbreviated as MID) of the merchant the card
1788
1807
  # is transacting with.
1789
1808
  sig { returns(String) }
@@ -1954,6 +1973,10 @@ module Increase
1954
1973
  digital_wallet_token_id: T.nilable(String),
1955
1974
  direction:
1956
1975
  Increase::RealTimeDecision::CardAuthorization::Direction::OrSymbol,
1976
+ healthcare:
1977
+ T.nilable(
1978
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::OrHash
1979
+ ),
1957
1980
  merchant_acceptor_id: String,
1958
1981
  merchant_category_code: String,
1959
1982
  merchant_city: T.nilable(String),
@@ -2006,6 +2029,9 @@ module Increase
2006
2029
  # The direction describes the direction the funds will move, either from the
2007
2030
  # cardholder to the merchant or from the merchant to the cardholder.
2008
2031
  direction:,
2032
+ # The healthcare-related fields for this authorization. Only present for specific
2033
+ # programs.
2034
+ healthcare:,
2009
2035
  # The merchant identifier (commonly abbreviated as MID) of the merchant the card
2010
2036
  # is transacting with.
2011
2037
  merchant_acceptor_id:,
@@ -2087,6 +2113,10 @@ module Increase
2087
2113
  digital_wallet_token_id: T.nilable(String),
2088
2114
  direction:
2089
2115
  Increase::RealTimeDecision::CardAuthorization::Direction::TaggedSymbol,
2116
+ healthcare:
2117
+ T.nilable(
2118
+ Increase::RealTimeDecision::CardAuthorization::Healthcare
2119
+ ),
2090
2120
  merchant_acceptor_id: String,
2091
2121
  merchant_category_code: String,
2092
2122
  merchant_city: T.nilable(String),
@@ -3087,6 +3117,96 @@ module Increase
3087
3117
  end
3088
3118
  end
3089
3119
 
3120
+ class Healthcare < Increase::Internal::Type::BaseModel
3121
+ OrHash =
3122
+ T.type_alias do
3123
+ T.any(
3124
+ Increase::RealTimeDecision::CardAuthorization::Healthcare,
3125
+ Increase::Internal::AnyHash
3126
+ )
3127
+ end
3128
+
3129
+ # The merchant's eligibility under the Internal Revenue Service's 90% Rule for
3130
+ # Flexible Spending Account (FSA) and Health Savings Account (HSA) eligible
3131
+ # products. The eligibility is determined based on the list of merchants
3132
+ # maintained by the Special Interest Group for IIAS Standards (SIGIS).
3133
+ sig do
3134
+ returns(
3135
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
3136
+ )
3137
+ end
3138
+ attr_accessor :merchant_ninety_percent_eligibility
3139
+
3140
+ # The healthcare-related fields for this authorization. Only present for specific
3141
+ # programs.
3142
+ sig do
3143
+ params(
3144
+ merchant_ninety_percent_eligibility:
3145
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::OrSymbol
3146
+ ).returns(T.attached_class)
3147
+ end
3148
+ def self.new(
3149
+ # The merchant's eligibility under the Internal Revenue Service's 90% Rule for
3150
+ # Flexible Spending Account (FSA) and Health Savings Account (HSA) eligible
3151
+ # products. The eligibility is determined based on the list of merchants
3152
+ # maintained by the Special Interest Group for IIAS Standards (SIGIS).
3153
+ merchant_ninety_percent_eligibility:
3154
+ )
3155
+ end
3156
+
3157
+ sig do
3158
+ override.returns(
3159
+ {
3160
+ merchant_ninety_percent_eligibility:
3161
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
3162
+ }
3163
+ )
3164
+ end
3165
+ def to_hash
3166
+ end
3167
+
3168
+ # The merchant's eligibility under the Internal Revenue Service's 90% Rule for
3169
+ # Flexible Spending Account (FSA) and Health Savings Account (HSA) eligible
3170
+ # products. The eligibility is determined based on the list of merchants
3171
+ # maintained by the Special Interest Group for IIAS Standards (SIGIS).
3172
+ module MerchantNinetyPercentEligibility
3173
+ extend Increase::Internal::Type::Enum
3174
+
3175
+ TaggedSymbol =
3176
+ T.type_alias do
3177
+ T.all(
3178
+ Symbol,
3179
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility
3180
+ )
3181
+ end
3182
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3183
+
3184
+ # The merchant is eligible for treatment under the 90% rule.
3185
+ ELIGIBLE =
3186
+ T.let(
3187
+ :eligible,
3188
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
3189
+ )
3190
+
3191
+ # The merchant is not eligible for treatment under the 90% rule.
3192
+ NOT_ELIGIBLE =
3193
+ T.let(
3194
+ :not_eligible,
3195
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
3196
+ )
3197
+
3198
+ sig do
3199
+ override.returns(
3200
+ T::Array[
3201
+ Increase::RealTimeDecision::CardAuthorization::Healthcare::MerchantNinetyPercentEligibility::TaggedSymbol
3202
+ ]
3203
+ )
3204
+ end
3205
+ def self.values
3206
+ end
3207
+ end
3208
+ end
3209
+
3090
3210
  class NetworkDetails < Increase::Internal::Type::BaseModel
3091
3211
  OrHash =
3092
3212
  T.type_alias do
@@ -3890,6 +4010,13 @@ module Increase
3890
4010
  Increase::RealTimeDecision::CardAuthorization::ProcessingCategory::TaggedSymbol
3891
4011
  )
3892
4012
 
4013
+ # Cash deposit transactions are used to deposit cash at an ATM or a point of sale.
4014
+ CASH_DEPOSIT =
4015
+ T.let(
4016
+ :cash_deposit,
4017
+ Increase::RealTimeDecision::CardAuthorization::ProcessingCategory::TaggedSymbol
4018
+ )
4019
+
3893
4020
  # A balance inquiry transaction is used to check the balance of an account associated with a card.
3894
4021
  BALANCE_INQUIRY =
3895
4022
  T.let(
@@ -129,6 +129,13 @@ module Increase
129
129
  Increase::Simulations::ACHTransferCreateNotificationOfChangeParams::CorrectedAccountFunding::TaggedSymbol
130
130
  )
131
131
 
132
+ # A loan account used in a lender-borrower relationship. Uncommon.
133
+ LOAN =
134
+ T.let(
135
+ :loan,
136
+ Increase::Simulations::ACHTransferCreateNotificationOfChangeParams::CorrectedAccountFunding::TaggedSymbol
137
+ )
138
+
132
139
  # A bank's general ledger. Uncommon.
133
140
  GENERAL_LEDGER =
134
141
  T.let(
@@ -369,7 +369,7 @@ module Increase
369
369
  Increase::Simulations::CardAuthorizationCreateParams::DeclineReason::TaggedSymbol
370
370
  )
371
371
 
372
- # The transaction was blocked by a Limit.
372
+ # The transaction was blocked by a limit or an authorization control.
373
373
  BREACHES_LIMIT =
374
374
  T.let(
375
375
  :breaches_limit,
@@ -770,6 +770,13 @@ module Increase
770
770
  Increase::Simulations::CardAuthorizationCreateParams::ProcessingCategory::Category::TaggedSymbol
771
771
  )
772
772
 
773
+ # Cash deposit transactions are used to deposit cash at an ATM or a point of sale.
774
+ CASH_DEPOSIT =
775
+ T.let(
776
+ :cash_deposit,
777
+ Increase::Simulations::CardAuthorizationCreateParams::ProcessingCategory::Category::TaggedSymbol
778
+ )
779
+
773
780
  # A balance inquiry transaction is used to check the balance of an account associated with a card.
774
781
  BALANCE_INQUIRY =
775
782
  T.let(
@@ -333,7 +333,7 @@ module Increase
333
333
  Increase::Simulations::CardBalanceInquiryCreateParams::DeclineReason::TaggedSymbol
334
334
  )
335
335
 
336
- # The transaction was blocked by a Limit.
336
+ # The transaction was blocked by a limit or an authorization control.
337
337
  BREACHES_LIMIT =
338
338
  T.let(
339
339
  :breaches_limit,
@@ -20,6 +20,7 @@ module Increase
20
20
  attr_accessor :check_deposit_id
21
21
 
22
22
  # If set, the simulation will use these values for the check's scanned MICR data.
23
+ # If not set, the simulation will use random values.
23
24
  sig do
24
25
  returns(
25
26
  T.nilable(Increase::Simulations::CheckDepositSubmitParams::Scan)
@@ -45,6 +46,7 @@ module Increase
45
46
  # The identifier of the Check Deposit you wish to submit.
46
47
  check_deposit_id:,
47
48
  # If set, the simulation will use these values for the check's scanned MICR data.
49
+ # If not set, the simulation will use random values.
48
50
  scan: nil,
49
51
  request_options: {}
50
52
  )
@@ -80,18 +82,29 @@ module Increase
80
82
  attr_accessor :routing_number
81
83
 
82
84
  # The auxiliary on-us data to be returned in the check deposit's scan data.
85
+ # Auxiliary on-us is typically the check number for business checks.
83
86
  sig { returns(T.nilable(String)) }
84
87
  attr_reader :auxiliary_on_us
85
88
 
86
89
  sig { params(auxiliary_on_us: String).void }
87
90
  attr_writer :auxiliary_on_us
88
91
 
92
+ # The serial number to be returned in the check deposit's scan data. Serial number
93
+ # is typically the check number for consumer checks.
94
+ sig { returns(T.nilable(String)) }
95
+ attr_reader :serial_number
96
+
97
+ sig { params(serial_number: String).void }
98
+ attr_writer :serial_number
99
+
89
100
  # If set, the simulation will use these values for the check's scanned MICR data.
101
+ # If not set, the simulation will use random values.
90
102
  sig do
91
103
  params(
92
104
  account_number: String,
93
105
  routing_number: String,
94
- auxiliary_on_us: String
106
+ auxiliary_on_us: String,
107
+ serial_number: String
95
108
  ).returns(T.attached_class)
96
109
  end
97
110
  def self.new(
@@ -100,7 +113,11 @@ module Increase
100
113
  # The routing number to be returned in the check deposit's scan data.
101
114
  routing_number:,
102
115
  # The auxiliary on-us data to be returned in the check deposit's scan data.
103
- auxiliary_on_us: nil
116
+ # Auxiliary on-us is typically the check number for business checks.
117
+ auxiliary_on_us: nil,
118
+ # The serial number to be returned in the check deposit's scan data. Serial number
119
+ # is typically the check number for consumer checks.
120
+ serial_number: nil
104
121
  )
105
122
  end
106
123
 
@@ -109,7 +126,8 @@ module Increase
109
126
  {
110
127
  account_number: String,
111
128
  routing_number: String,
112
- auxiliary_on_us: String
129
+ auxiliary_on_us: String,
130
+ serial_number: String
113
131
  }
114
132
  )
115
133
  end
@@ -120,6 +120,20 @@ module Increase
120
120
  Increase::Models::Simulations::DigitalWalletTokenRequestCreateResponse::DeclineReason::TaggedSymbol
121
121
  )
122
122
 
123
+ # The tokenization attempt failed because the Card Verification Code (CVC) was incorrect.
124
+ INCORRECT_CARD_VERIFICATION_CODE =
125
+ T.let(
126
+ :incorrect_card_verification_code,
127
+ Increase::Models::Simulations::DigitalWalletTokenRequestCreateResponse::DeclineReason::TaggedSymbol
128
+ )
129
+
130
+ # The tokenization attempt was declined by the token requestor.
131
+ DECLINED_BY_TOKEN_REQUESTOR =
132
+ T.let(
133
+ :declined_by_token_requestor,
134
+ Increase::Models::Simulations::DigitalWalletTokenRequestCreateResponse::DeclineReason::TaggedSymbol
135
+ )
136
+
123
137
  sig do
124
138
  override.returns(
125
139
  T::Array[
@@ -116,7 +116,7 @@ module Increase
116
116
  end
117
117
  OrSymbol = T.type_alias { T.any(Symbol, String) }
118
118
 
119
- # The entity's tax identifier could not be validated. Update the tax ID with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.legal_identifier).
119
+ # The entity's tax identifier could not be verified. Update the tax ID with the [update an entity API](/documentation/api/entities#update-an-entity.corporation.legal_identifier).
120
120
  ENTITY_TAX_IDENTIFIER =
121
121
  T.let(
122
122
  :entity_tax_identifier,
@@ -111,6 +111,14 @@ module Increase
111
111
  sig { params(instruction_identification: String).void }
112
112
  attr_writer :instruction_identification
113
113
 
114
+ # The sending bank will set purpose in production. You can simulate any value
115
+ # here.
116
+ sig { returns(T.nilable(String)) }
117
+ attr_reader :purpose
118
+
119
+ sig { params(purpose: String).void }
120
+ attr_writer :purpose
121
+
114
122
  # The sending bank will set unique_end_to_end_transaction_reference in production.
115
123
  # You can simulate any value here.
116
124
  sig { returns(T.nilable(String)) }
@@ -150,6 +158,7 @@ module Increase
150
158
  end_to_end_identification: String,
151
159
  instructing_agent_routing_number: String,
152
160
  instruction_identification: String,
161
+ purpose: String,
153
162
  unique_end_to_end_transaction_reference: String,
154
163
  unstructured_remittance_information: String,
155
164
  wire_drawdown_request_id: String,
@@ -194,6 +203,9 @@ module Increase
194
203
  # The sending bank will set instruction_identification in production. You can
195
204
  # simulate any value here.
196
205
  instruction_identification: nil,
206
+ # The sending bank will set purpose in production. You can simulate any value
207
+ # here.
208
+ purpose: nil,
197
209
  # The sending bank will set unique_end_to_end_transaction_reference in production.
198
210
  # You can simulate any value here.
199
211
  unique_end_to_end_transaction_reference: nil,
@@ -223,6 +235,7 @@ module Increase
223
235
  end_to_end_identification: String,
224
236
  instructing_agent_routing_number: String,
225
237
  instruction_identification: String,
238
+ purpose: String,
226
239
  unique_end_to_end_transaction_reference: String,
227
240
  unstructured_remittance_information: String,
228
241
  wire_drawdown_request_id: String,
@@ -130,7 +130,7 @@ module Increase
130
130
  Increase::Simulations::PhysicalCardCreateParams::Category::TaggedSymbol
131
131
  )
132
132
 
133
- # The physical card has been delivered.
133
+ # The physical card has been delivered. Note that some couriers track delivery status based on driver location data rather than an explicit scan. While uncommon, a single physical card may have more than one delivered event.
134
134
  DELIVERED =
135
135
  T.let(
136
136
  :delivered,