increase 1.33.0 → 1.35.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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/increase/client.rb +12 -0
  5. data/lib/increase/models/card_push_transfer.rb +824 -0
  6. data/lib/increase/models/card_push_transfer_approve_params.rb +14 -0
  7. data/lib/increase/models/card_push_transfer_cancel_params.rb +14 -0
  8. data/lib/increase/models/card_push_transfer_create_params.rb +215 -0
  9. data/lib/increase/models/card_push_transfer_list_params.rb +159 -0
  10. data/lib/increase/models/card_push_transfer_retrieve_params.rb +14 -0
  11. data/lib/increase/models/card_token.rb +87 -0
  12. data/lib/increase/models/card_token_capabilities.rb +123 -0
  13. data/lib/increase/models/card_token_capabilities_params.rb +14 -0
  14. data/lib/increase/models/card_token_list_params.rb +83 -0
  15. data/lib/increase/models/card_token_retrieve_params.rb +14 -0
  16. data/lib/increase/models/card_validation.rb +759 -0
  17. data/lib/increase/models/card_validation_create_params.rb +116 -0
  18. data/lib/increase/models/card_validation_list_params.rb +150 -0
  19. data/lib/increase/models/card_validation_retrieve_params.rb +14 -0
  20. data/lib/increase/models/external_account.rb +3 -0
  21. data/lib/increase/models/external_account_create_params.rb +3 -0
  22. data/lib/increase/models/external_account_update_params.rb +3 -0
  23. data/lib/increase/models/simulations/card_token_create_params.rb +140 -0
  24. data/lib/increase/models.rb +30 -0
  25. data/lib/increase/resources/card_push_transfers.rb +167 -0
  26. data/lib/increase/resources/card_tokens.rb +86 -0
  27. data/lib/increase/resources/card_validations.rb +117 -0
  28. data/lib/increase/resources/simulations/card_tokens.rb +46 -0
  29. data/lib/increase/resources/simulations.rb +4 -0
  30. data/lib/increase/version.rb +1 -1
  31. data/lib/increase.rb +20 -0
  32. data/rbi/increase/client.rbi +9 -0
  33. data/rbi/increase/models/card_push_transfer.rbi +1450 -0
  34. data/rbi/increase/models/card_push_transfer_approve_params.rbi +30 -0
  35. data/rbi/increase/models/card_push_transfer_cancel_params.rbi +30 -0
  36. data/rbi/increase/models/card_push_transfer_create_params.rbi +325 -0
  37. data/rbi/increase/models/card_push_transfer_list_params.rbi +329 -0
  38. data/rbi/increase/models/card_push_transfer_retrieve_params.rbi +30 -0
  39. data/rbi/increase/models/card_token.rbi +108 -0
  40. data/rbi/increase/models/card_token_capabilities.rbi +250 -0
  41. data/rbi/increase/models/card_token_capabilities_params.rbi +30 -0
  42. data/rbi/increase/models/card_token_list_params.rbi +146 -0
  43. data/rbi/increase/models/card_token_retrieve_params.rbi +27 -0
  44. data/rbi/increase/models/card_validation.rbi +1438 -0
  45. data/rbi/increase/models/card_validation_create_params.rbi +155 -0
  46. data/rbi/increase/models/card_validation_list_params.rbi +295 -0
  47. data/rbi/increase/models/card_validation_retrieve_params.rbi +30 -0
  48. data/rbi/increase/models/external_account.rbi +7 -0
  49. data/rbi/increase/models/external_account_create_params.rbi +7 -0
  50. data/rbi/increase/models/external_account_update_params.rbi +7 -0
  51. data/rbi/increase/models/simulations/card_token_create_params.rbi +297 -0
  52. data/rbi/increase/models.rbi +32 -0
  53. data/rbi/increase/resources/card_push_transfers.rbi +157 -0
  54. data/rbi/increase/resources/card_tokens.rbi +62 -0
  55. data/rbi/increase/resources/card_validations.rbi +107 -0
  56. data/rbi/increase/resources/simulations/card_tokens.rbi +43 -0
  57. data/rbi/increase/resources/simulations.rbi +3 -0
  58. data/sig/increase/client.rbs +6 -0
  59. data/sig/increase/models/card_push_transfer.rbs +679 -0
  60. data/sig/increase/models/card_push_transfer_approve_params.rbs +15 -0
  61. data/sig/increase/models/card_push_transfer_cancel_params.rbs +15 -0
  62. data/sig/increase/models/card_push_transfer_create_params.rbs +172 -0
  63. data/sig/increase/models/card_push_transfer_list_params.rbs +163 -0
  64. data/sig/increase/models/card_push_transfer_retrieve_params.rbs +15 -0
  65. data/sig/increase/models/card_token.rbs +60 -0
  66. data/sig/increase/models/card_token_capabilities.rbs +104 -0
  67. data/sig/increase/models/card_token_capabilities_params.rbs +15 -0
  68. data/sig/increase/models/card_token_list_params.rbs +79 -0
  69. data/sig/increase/models/card_token_retrieve_params.rbs +15 -0
  70. data/sig/increase/models/card_validation.rbs +634 -0
  71. data/sig/increase/models/card_validation_create_params.rbs +91 -0
  72. data/sig/increase/models/card_validation_list_params.rbs +151 -0
  73. data/sig/increase/models/card_validation_retrieve_params.rbs +15 -0
  74. data/sig/increase/models/external_account.rbs +4 -1
  75. data/sig/increase/models/external_account_create_params.rbs +4 -1
  76. data/sig/increase/models/external_account_update_params.rbs +4 -1
  77. data/sig/increase/models/simulations/card_token_create_params.rbs +129 -0
  78. data/sig/increase/models.rbs +30 -0
  79. data/sig/increase/resources/card_push_transfers.rbs +53 -0
  80. data/sig/increase/resources/card_tokens.rbs +24 -0
  81. data/sig/increase/resources/card_validations.rbs +38 -0
  82. data/sig/increase/resources/simulations/card_tokens.rbs +18 -0
  83. data/sig/increase/resources/simulations.rbs +2 -0
  84. metadata +62 -2
@@ -0,0 +1,1450 @@
1
+ # typed: strong
2
+
3
+ module Increase
4
+ module Models
5
+ class CardPushTransfer < Increase::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Increase::CardPushTransfer, Increase::Internal::AnyHash)
9
+ end
10
+
11
+ # The Card Push Transfer's identifier.
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # If the transfer is accepted by the recipient bank, this will contain
16
+ # supplemental details.
17
+ sig { returns(T.nilable(Increase::CardPushTransfer::Acceptance)) }
18
+ attr_reader :acceptance
19
+
20
+ sig do
21
+ params(
22
+ acceptance: T.nilable(Increase::CardPushTransfer::Acceptance::OrHash)
23
+ ).void
24
+ end
25
+ attr_writer :acceptance
26
+
27
+ # The Account from which the transfer was sent.
28
+ sig { returns(String) }
29
+ attr_accessor :account_id
30
+
31
+ # The transfer amount in USD cents.
32
+ sig { returns(Integer) }
33
+ attr_accessor :amount
34
+
35
+ # If your account requires approvals for transfers and the transfer was approved,
36
+ # this will contain details of the approval.
37
+ sig { returns(T.nilable(Increase::CardPushTransfer::Approval)) }
38
+ attr_reader :approval
39
+
40
+ sig do
41
+ params(
42
+ approval: T.nilable(Increase::CardPushTransfer::Approval::OrHash)
43
+ ).void
44
+ end
45
+ attr_writer :approval
46
+
47
+ # The Business Application Identifier describes the type of transaction being
48
+ # performed. Your program must be approved for the specified Business Application
49
+ # Identifier in order to use it.
50
+ sig do
51
+ returns(
52
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
53
+ )
54
+ end
55
+ attr_accessor :business_application_identifier
56
+
57
+ # If your account requires approvals for transfers and the transfer was not
58
+ # approved, this will contain details of the cancellation.
59
+ sig { returns(T.nilable(Increase::CardPushTransfer::Cancellation)) }
60
+ attr_reader :cancellation
61
+
62
+ sig do
63
+ params(
64
+ cancellation:
65
+ T.nilable(Increase::CardPushTransfer::Cancellation::OrHash)
66
+ ).void
67
+ end
68
+ attr_writer :cancellation
69
+
70
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
71
+ # the transfer was created.
72
+ sig { returns(Time) }
73
+ attr_accessor :created_at
74
+
75
+ # What object created the transfer, either via the API or the dashboard.
76
+ sig { returns(T.nilable(Increase::CardPushTransfer::CreatedBy)) }
77
+ attr_reader :created_by
78
+
79
+ sig do
80
+ params(
81
+ created_by: T.nilable(Increase::CardPushTransfer::CreatedBy::OrHash)
82
+ ).void
83
+ end
84
+ attr_writer :created_by
85
+
86
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
87
+ # currency.
88
+ sig { returns(Increase::CardPushTransfer::Currency::TaggedSymbol) }
89
+ attr_accessor :currency
90
+
91
+ # If the transfer is rejected by the card network or the destination financial
92
+ # institution, this will contain supplemental details.
93
+ sig { returns(T.nilable(Increase::CardPushTransfer::Decline)) }
94
+ attr_reader :decline
95
+
96
+ sig do
97
+ params(
98
+ decline: T.nilable(Increase::CardPushTransfer::Decline::OrHash)
99
+ ).void
100
+ end
101
+ attr_writer :decline
102
+
103
+ # The idempotency key you chose for this object. This value is unique across
104
+ # Increase and is used to ensure that a request is only processed once. Learn more
105
+ # about [idempotency](https://increase.com/documentation/idempotency-keys).
106
+ sig { returns(T.nilable(String)) }
107
+ attr_accessor :idempotency_key
108
+
109
+ # The merchant category code (MCC) of the merchant (generally your business)
110
+ # sending the transfer. This is a four-digit code that describes the type of
111
+ # business or service provided by the merchant. Your program must be approved for
112
+ # the specified MCC in order to use it.
113
+ sig { returns(String) }
114
+ attr_accessor :merchant_category_code
115
+
116
+ # The city name of the merchant (generally your business) sending the transfer.
117
+ sig { returns(String) }
118
+ attr_accessor :merchant_city_name
119
+
120
+ # The merchant name shows up as the statement descriptor for the transfer. This is
121
+ # typically the name of your business or organization.
122
+ sig { returns(String) }
123
+ attr_accessor :merchant_name
124
+
125
+ # For certain Business Application Identifiers, the statement descriptor is
126
+ # `merchant_name_prefix*sender_name`, where the `merchant_name_prefix` is a one to
127
+ # four character prefix that identifies the merchant.
128
+ sig { returns(String) }
129
+ attr_accessor :merchant_name_prefix
130
+
131
+ # The postal code of the merchant (generally your business) sending the transfer.
132
+ sig { returns(String) }
133
+ attr_accessor :merchant_postal_code
134
+
135
+ # The state of the merchant (generally your business) sending the transfer.
136
+ sig { returns(String) }
137
+ attr_accessor :merchant_state
138
+
139
+ # The name of the funds recipient.
140
+ sig { returns(String) }
141
+ attr_accessor :recipient_name
142
+
143
+ # The city of the sender.
144
+ sig { returns(String) }
145
+ attr_accessor :sender_address_city
146
+
147
+ # The address line 1 of the sender.
148
+ sig { returns(String) }
149
+ attr_accessor :sender_address_line1
150
+
151
+ # The postal code of the sender.
152
+ sig { returns(String) }
153
+ attr_accessor :sender_address_postal_code
154
+
155
+ # The state of the sender.
156
+ sig { returns(String) }
157
+ attr_accessor :sender_address_state
158
+
159
+ # The name of the funds originator.
160
+ sig { returns(String) }
161
+ attr_accessor :sender_name
162
+
163
+ # The Account Number the recipient will see as having sent the transfer.
164
+ sig { returns(String) }
165
+ attr_accessor :source_account_number_id
166
+
167
+ # The lifecycle status of the transfer.
168
+ sig { returns(Increase::CardPushTransfer::Status::TaggedSymbol) }
169
+ attr_accessor :status
170
+
171
+ # After the transfer is submitted to the card network, this will contain
172
+ # supplemental details.
173
+ sig { returns(T.nilable(Increase::CardPushTransfer::Submission)) }
174
+ attr_reader :submission
175
+
176
+ sig do
177
+ params(
178
+ submission: T.nilable(Increase::CardPushTransfer::Submission::OrHash)
179
+ ).void
180
+ end
181
+ attr_writer :submission
182
+
183
+ # A constant representing the object's type. For this resource it will always be
184
+ # `card_push_transfer`.
185
+ sig { returns(Increase::CardPushTransfer::Type::TaggedSymbol) }
186
+ attr_accessor :type
187
+
188
+ # Card Push Transfers send funds to a recipient's payment card in real-time.
189
+ sig do
190
+ params(
191
+ id: String,
192
+ acceptance: T.nilable(Increase::CardPushTransfer::Acceptance::OrHash),
193
+ account_id: String,
194
+ amount: Integer,
195
+ approval: T.nilable(Increase::CardPushTransfer::Approval::OrHash),
196
+ business_application_identifier:
197
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::OrSymbol,
198
+ cancellation:
199
+ T.nilable(Increase::CardPushTransfer::Cancellation::OrHash),
200
+ created_at: Time,
201
+ created_by: T.nilable(Increase::CardPushTransfer::CreatedBy::OrHash),
202
+ currency: Increase::CardPushTransfer::Currency::OrSymbol,
203
+ decline: T.nilable(Increase::CardPushTransfer::Decline::OrHash),
204
+ idempotency_key: T.nilable(String),
205
+ merchant_category_code: String,
206
+ merchant_city_name: String,
207
+ merchant_name: String,
208
+ merchant_name_prefix: String,
209
+ merchant_postal_code: String,
210
+ merchant_state: String,
211
+ recipient_name: String,
212
+ sender_address_city: String,
213
+ sender_address_line1: String,
214
+ sender_address_postal_code: String,
215
+ sender_address_state: String,
216
+ sender_name: String,
217
+ source_account_number_id: String,
218
+ status: Increase::CardPushTransfer::Status::OrSymbol,
219
+ submission: T.nilable(Increase::CardPushTransfer::Submission::OrHash),
220
+ type: Increase::CardPushTransfer::Type::OrSymbol
221
+ ).returns(T.attached_class)
222
+ end
223
+ def self.new(
224
+ # The Card Push Transfer's identifier.
225
+ id:,
226
+ # If the transfer is accepted by the recipient bank, this will contain
227
+ # supplemental details.
228
+ acceptance:,
229
+ # The Account from which the transfer was sent.
230
+ account_id:,
231
+ # The transfer amount in USD cents.
232
+ amount:,
233
+ # If your account requires approvals for transfers and the transfer was approved,
234
+ # this will contain details of the approval.
235
+ approval:,
236
+ # The Business Application Identifier describes the type of transaction being
237
+ # performed. Your program must be approved for the specified Business Application
238
+ # Identifier in order to use it.
239
+ business_application_identifier:,
240
+ # If your account requires approvals for transfers and the transfer was not
241
+ # approved, this will contain details of the cancellation.
242
+ cancellation:,
243
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
244
+ # the transfer was created.
245
+ created_at:,
246
+ # What object created the transfer, either via the API or the dashboard.
247
+ created_by:,
248
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
249
+ # currency.
250
+ currency:,
251
+ # If the transfer is rejected by the card network or the destination financial
252
+ # institution, this will contain supplemental details.
253
+ decline:,
254
+ # The idempotency key you chose for this object. This value is unique across
255
+ # Increase and is used to ensure that a request is only processed once. Learn more
256
+ # about [idempotency](https://increase.com/documentation/idempotency-keys).
257
+ idempotency_key:,
258
+ # The merchant category code (MCC) of the merchant (generally your business)
259
+ # sending the transfer. This is a four-digit code that describes the type of
260
+ # business or service provided by the merchant. Your program must be approved for
261
+ # the specified MCC in order to use it.
262
+ merchant_category_code:,
263
+ # The city name of the merchant (generally your business) sending the transfer.
264
+ merchant_city_name:,
265
+ # The merchant name shows up as the statement descriptor for the transfer. This is
266
+ # typically the name of your business or organization.
267
+ merchant_name:,
268
+ # For certain Business Application Identifiers, the statement descriptor is
269
+ # `merchant_name_prefix*sender_name`, where the `merchant_name_prefix` is a one to
270
+ # four character prefix that identifies the merchant.
271
+ merchant_name_prefix:,
272
+ # The postal code of the merchant (generally your business) sending the transfer.
273
+ merchant_postal_code:,
274
+ # The state of the merchant (generally your business) sending the transfer.
275
+ merchant_state:,
276
+ # The name of the funds recipient.
277
+ recipient_name:,
278
+ # The city of the sender.
279
+ sender_address_city:,
280
+ # The address line 1 of the sender.
281
+ sender_address_line1:,
282
+ # The postal code of the sender.
283
+ sender_address_postal_code:,
284
+ # The state of the sender.
285
+ sender_address_state:,
286
+ # The name of the funds originator.
287
+ sender_name:,
288
+ # The Account Number the recipient will see as having sent the transfer.
289
+ source_account_number_id:,
290
+ # The lifecycle status of the transfer.
291
+ status:,
292
+ # After the transfer is submitted to the card network, this will contain
293
+ # supplemental details.
294
+ submission:,
295
+ # A constant representing the object's type. For this resource it will always be
296
+ # `card_push_transfer`.
297
+ type:
298
+ )
299
+ end
300
+
301
+ sig do
302
+ override.returns(
303
+ {
304
+ id: String,
305
+ acceptance: T.nilable(Increase::CardPushTransfer::Acceptance),
306
+ account_id: String,
307
+ amount: Integer,
308
+ approval: T.nilable(Increase::CardPushTransfer::Approval),
309
+ business_application_identifier:
310
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol,
311
+ cancellation: T.nilable(Increase::CardPushTransfer::Cancellation),
312
+ created_at: Time,
313
+ created_by: T.nilable(Increase::CardPushTransfer::CreatedBy),
314
+ currency: Increase::CardPushTransfer::Currency::TaggedSymbol,
315
+ decline: T.nilable(Increase::CardPushTransfer::Decline),
316
+ idempotency_key: T.nilable(String),
317
+ merchant_category_code: String,
318
+ merchant_city_name: String,
319
+ merchant_name: String,
320
+ merchant_name_prefix: String,
321
+ merchant_postal_code: String,
322
+ merchant_state: String,
323
+ recipient_name: String,
324
+ sender_address_city: String,
325
+ sender_address_line1: String,
326
+ sender_address_postal_code: String,
327
+ sender_address_state: String,
328
+ sender_name: String,
329
+ source_account_number_id: String,
330
+ status: Increase::CardPushTransfer::Status::TaggedSymbol,
331
+ submission: T.nilable(Increase::CardPushTransfer::Submission),
332
+ type: Increase::CardPushTransfer::Type::TaggedSymbol
333
+ }
334
+ )
335
+ end
336
+ def to_hash
337
+ end
338
+
339
+ class Acceptance < Increase::Internal::Type::BaseModel
340
+ OrHash =
341
+ T.type_alias do
342
+ T.any(
343
+ Increase::CardPushTransfer::Acceptance,
344
+ Increase::Internal::AnyHash
345
+ )
346
+ end
347
+
348
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
349
+ # the transfer was accepted by the issuing bank.
350
+ sig { returns(Time) }
351
+ attr_accessor :accepted_at
352
+
353
+ # The authorization identification response from the issuing bank.
354
+ sig { returns(String) }
355
+ attr_accessor :authorization_identification_response
356
+
357
+ # The result of the Card Verification Value 2 match.
358
+ sig do
359
+ returns(
360
+ T.nilable(
361
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result::TaggedSymbol
362
+ )
363
+ )
364
+ end
365
+ attr_accessor :card_verification_value2_result
366
+
367
+ # A unique identifier for the transaction on the card network.
368
+ sig { returns(T.nilable(String)) }
369
+ attr_accessor :network_transaction_identifier
370
+
371
+ # If the transfer is accepted by the recipient bank, this will contain
372
+ # supplemental details.
373
+ sig do
374
+ params(
375
+ accepted_at: Time,
376
+ authorization_identification_response: String,
377
+ card_verification_value2_result:
378
+ T.nilable(
379
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result::OrSymbol
380
+ ),
381
+ network_transaction_identifier: T.nilable(String)
382
+ ).returns(T.attached_class)
383
+ end
384
+ def self.new(
385
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
386
+ # the transfer was accepted by the issuing bank.
387
+ accepted_at:,
388
+ # The authorization identification response from the issuing bank.
389
+ authorization_identification_response:,
390
+ # The result of the Card Verification Value 2 match.
391
+ card_verification_value2_result:,
392
+ # A unique identifier for the transaction on the card network.
393
+ network_transaction_identifier:
394
+ )
395
+ end
396
+
397
+ sig do
398
+ override.returns(
399
+ {
400
+ accepted_at: Time,
401
+ authorization_identification_response: String,
402
+ card_verification_value2_result:
403
+ T.nilable(
404
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result::TaggedSymbol
405
+ ),
406
+ network_transaction_identifier: T.nilable(String)
407
+ }
408
+ )
409
+ end
410
+ def to_hash
411
+ end
412
+
413
+ # The result of the Card Verification Value 2 match.
414
+ module CardVerificationValue2Result
415
+ extend Increase::Internal::Type::Enum
416
+
417
+ TaggedSymbol =
418
+ T.type_alias do
419
+ T.all(
420
+ Symbol,
421
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result
422
+ )
423
+ end
424
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
425
+
426
+ # The Card Verification Value 2 (CVV2) matches the expected value.
427
+ MATCH =
428
+ T.let(
429
+ :match,
430
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result::TaggedSymbol
431
+ )
432
+
433
+ # The Card Verification Value 2 (CVV2) does not match the expected value.
434
+ NO_MATCH =
435
+ T.let(
436
+ :no_match,
437
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result::TaggedSymbol
438
+ )
439
+
440
+ sig do
441
+ override.returns(
442
+ T::Array[
443
+ Increase::CardPushTransfer::Acceptance::CardVerificationValue2Result::TaggedSymbol
444
+ ]
445
+ )
446
+ end
447
+ def self.values
448
+ end
449
+ end
450
+ end
451
+
452
+ class Approval < Increase::Internal::Type::BaseModel
453
+ OrHash =
454
+ T.type_alias do
455
+ T.any(
456
+ Increase::CardPushTransfer::Approval,
457
+ Increase::Internal::AnyHash
458
+ )
459
+ end
460
+
461
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
462
+ # the transfer was approved.
463
+ sig { returns(Time) }
464
+ attr_accessor :approved_at
465
+
466
+ # If the Transfer was approved by a user in the dashboard, the email address of
467
+ # that user.
468
+ sig { returns(T.nilable(String)) }
469
+ attr_accessor :approved_by
470
+
471
+ # If your account requires approvals for transfers and the transfer was approved,
472
+ # this will contain details of the approval.
473
+ sig do
474
+ params(approved_at: Time, approved_by: T.nilable(String)).returns(
475
+ T.attached_class
476
+ )
477
+ end
478
+ def self.new(
479
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
480
+ # the transfer was approved.
481
+ approved_at:,
482
+ # If the Transfer was approved by a user in the dashboard, the email address of
483
+ # that user.
484
+ approved_by:
485
+ )
486
+ end
487
+
488
+ sig do
489
+ override.returns(
490
+ { approved_at: Time, approved_by: T.nilable(String) }
491
+ )
492
+ end
493
+ def to_hash
494
+ end
495
+ end
496
+
497
+ # The Business Application Identifier describes the type of transaction being
498
+ # performed. Your program must be approved for the specified Business Application
499
+ # Identifier in order to use it.
500
+ module BusinessApplicationIdentifier
501
+ extend Increase::Internal::Type::Enum
502
+
503
+ TaggedSymbol =
504
+ T.type_alias do
505
+ T.all(
506
+ Symbol,
507
+ Increase::CardPushTransfer::BusinessApplicationIdentifier
508
+ )
509
+ end
510
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
511
+
512
+ # Account to Account
513
+ ACCOUNT_TO_ACCOUNT =
514
+ T.let(
515
+ :account_to_account,
516
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
517
+ )
518
+
519
+ # Business to Business
520
+ BUSINESS_TO_BUSINESS =
521
+ T.let(
522
+ :business_to_business,
523
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
524
+ )
525
+
526
+ # Money Transfer Bank Initiated
527
+ MONEY_TRANSFER_BANK_INITIATED =
528
+ T.let(
529
+ :money_transfer_bank_initiated,
530
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
531
+ )
532
+
533
+ # Non-Card Bill Payment
534
+ NON_CARD_BILL_PAYMENT =
535
+ T.let(
536
+ :non_card_bill_payment,
537
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
538
+ )
539
+
540
+ # Consumer Bill Payment
541
+ CONSUMER_BILL_PAYMENT =
542
+ T.let(
543
+ :consumer_bill_payment,
544
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
545
+ )
546
+
547
+ # Card Bill Payment
548
+ CARD_BILL_PAYMENT =
549
+ T.let(
550
+ :card_bill_payment,
551
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
552
+ )
553
+
554
+ # Funds Disbursement
555
+ FUNDS_DISBURSEMENT =
556
+ T.let(
557
+ :funds_disbursement,
558
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
559
+ )
560
+
561
+ # Funds Transfer
562
+ FUNDS_TRANSFER =
563
+ T.let(
564
+ :funds_transfer,
565
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
566
+ )
567
+
568
+ # Loyalty and Offers
569
+ LOYALTY_AND_OFFERS =
570
+ T.let(
571
+ :loyalty_and_offers,
572
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
573
+ )
574
+
575
+ # Merchant Disbursement
576
+ MERCHANT_DISBURSEMENT =
577
+ T.let(
578
+ :merchant_disbursement,
579
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
580
+ )
581
+
582
+ # Merchant Payment
583
+ MERCHANT_PAYMENT =
584
+ T.let(
585
+ :merchant_payment,
586
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
587
+ )
588
+
589
+ # Person to Person
590
+ PERSON_TO_PERSON =
591
+ T.let(
592
+ :person_to_person,
593
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
594
+ )
595
+
596
+ # Top Up
597
+ TOP_UP =
598
+ T.let(
599
+ :top_up,
600
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
601
+ )
602
+
603
+ # Wallet Transfer
604
+ WALLET_TRANSFER =
605
+ T.let(
606
+ :wallet_transfer,
607
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
608
+ )
609
+
610
+ sig do
611
+ override.returns(
612
+ T::Array[
613
+ Increase::CardPushTransfer::BusinessApplicationIdentifier::TaggedSymbol
614
+ ]
615
+ )
616
+ end
617
+ def self.values
618
+ end
619
+ end
620
+
621
+ class Cancellation < Increase::Internal::Type::BaseModel
622
+ OrHash =
623
+ T.type_alias do
624
+ T.any(
625
+ Increase::CardPushTransfer::Cancellation,
626
+ Increase::Internal::AnyHash
627
+ )
628
+ end
629
+
630
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
631
+ # the Transfer was canceled.
632
+ sig { returns(Time) }
633
+ attr_accessor :canceled_at
634
+
635
+ # If the Transfer was canceled by a user in the dashboard, the email address of
636
+ # that user.
637
+ sig { returns(T.nilable(String)) }
638
+ attr_accessor :canceled_by
639
+
640
+ # If your account requires approvals for transfers and the transfer was not
641
+ # approved, this will contain details of the cancellation.
642
+ sig do
643
+ params(canceled_at: Time, canceled_by: T.nilable(String)).returns(
644
+ T.attached_class
645
+ )
646
+ end
647
+ def self.new(
648
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
649
+ # the Transfer was canceled.
650
+ canceled_at:,
651
+ # If the Transfer was canceled by a user in the dashboard, the email address of
652
+ # that user.
653
+ canceled_by:
654
+ )
655
+ end
656
+
657
+ sig do
658
+ override.returns(
659
+ { canceled_at: Time, canceled_by: T.nilable(String) }
660
+ )
661
+ end
662
+ def to_hash
663
+ end
664
+ end
665
+
666
+ class CreatedBy < Increase::Internal::Type::BaseModel
667
+ OrHash =
668
+ T.type_alias do
669
+ T.any(
670
+ Increase::CardPushTransfer::CreatedBy,
671
+ Increase::Internal::AnyHash
672
+ )
673
+ end
674
+
675
+ # If present, details about the API key that created the transfer.
676
+ sig do
677
+ returns(T.nilable(Increase::CardPushTransfer::CreatedBy::APIKey))
678
+ end
679
+ attr_reader :api_key
680
+
681
+ sig do
682
+ params(
683
+ api_key:
684
+ T.nilable(Increase::CardPushTransfer::CreatedBy::APIKey::OrHash)
685
+ ).void
686
+ end
687
+ attr_writer :api_key
688
+
689
+ # The type of object that created this transfer.
690
+ sig do
691
+ returns(Increase::CardPushTransfer::CreatedBy::Category::TaggedSymbol)
692
+ end
693
+ attr_accessor :category
694
+
695
+ # If present, details about the OAuth Application that created the transfer.
696
+ sig do
697
+ returns(
698
+ T.nilable(Increase::CardPushTransfer::CreatedBy::OAuthApplication)
699
+ )
700
+ end
701
+ attr_reader :oauth_application
702
+
703
+ sig do
704
+ params(
705
+ oauth_application:
706
+ T.nilable(
707
+ Increase::CardPushTransfer::CreatedBy::OAuthApplication::OrHash
708
+ )
709
+ ).void
710
+ end
711
+ attr_writer :oauth_application
712
+
713
+ # If present, details about the User that created the transfer.
714
+ sig { returns(T.nilable(Increase::CardPushTransfer::CreatedBy::User)) }
715
+ attr_reader :user
716
+
717
+ sig do
718
+ params(
719
+ user: T.nilable(Increase::CardPushTransfer::CreatedBy::User::OrHash)
720
+ ).void
721
+ end
722
+ attr_writer :user
723
+
724
+ # What object created the transfer, either via the API or the dashboard.
725
+ sig do
726
+ params(
727
+ api_key:
728
+ T.nilable(Increase::CardPushTransfer::CreatedBy::APIKey::OrHash),
729
+ category: Increase::CardPushTransfer::CreatedBy::Category::OrSymbol,
730
+ oauth_application:
731
+ T.nilable(
732
+ Increase::CardPushTransfer::CreatedBy::OAuthApplication::OrHash
733
+ ),
734
+ user: T.nilable(Increase::CardPushTransfer::CreatedBy::User::OrHash)
735
+ ).returns(T.attached_class)
736
+ end
737
+ def self.new(
738
+ # If present, details about the API key that created the transfer.
739
+ api_key:,
740
+ # The type of object that created this transfer.
741
+ category:,
742
+ # If present, details about the OAuth Application that created the transfer.
743
+ oauth_application:,
744
+ # If present, details about the User that created the transfer.
745
+ user:
746
+ )
747
+ end
748
+
749
+ sig do
750
+ override.returns(
751
+ {
752
+ api_key: T.nilable(Increase::CardPushTransfer::CreatedBy::APIKey),
753
+ category:
754
+ Increase::CardPushTransfer::CreatedBy::Category::TaggedSymbol,
755
+ oauth_application:
756
+ T.nilable(
757
+ Increase::CardPushTransfer::CreatedBy::OAuthApplication
758
+ ),
759
+ user: T.nilable(Increase::CardPushTransfer::CreatedBy::User)
760
+ }
761
+ )
762
+ end
763
+ def to_hash
764
+ end
765
+
766
+ class APIKey < Increase::Internal::Type::BaseModel
767
+ OrHash =
768
+ T.type_alias do
769
+ T.any(
770
+ Increase::CardPushTransfer::CreatedBy::APIKey,
771
+ Increase::Internal::AnyHash
772
+ )
773
+ end
774
+
775
+ # The description set for the API key when it was created.
776
+ sig { returns(T.nilable(String)) }
777
+ attr_accessor :description
778
+
779
+ # If present, details about the API key that created the transfer.
780
+ sig do
781
+ params(description: T.nilable(String)).returns(T.attached_class)
782
+ end
783
+ def self.new(
784
+ # The description set for the API key when it was created.
785
+ description:
786
+ )
787
+ end
788
+
789
+ sig { override.returns({ description: T.nilable(String) }) }
790
+ def to_hash
791
+ end
792
+ end
793
+
794
+ # The type of object that created this transfer.
795
+ module Category
796
+ extend Increase::Internal::Type::Enum
797
+
798
+ TaggedSymbol =
799
+ T.type_alias do
800
+ T.all(Symbol, Increase::CardPushTransfer::CreatedBy::Category)
801
+ end
802
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
803
+
804
+ # An API key. Details will be under the `api_key` object.
805
+ API_KEY =
806
+ T.let(
807
+ :api_key,
808
+ Increase::CardPushTransfer::CreatedBy::Category::TaggedSymbol
809
+ )
810
+
811
+ # An OAuth application you connected to Increase. Details will be under the `oauth_application` object.
812
+ OAUTH_APPLICATION =
813
+ T.let(
814
+ :oauth_application,
815
+ Increase::CardPushTransfer::CreatedBy::Category::TaggedSymbol
816
+ )
817
+
818
+ # A User in the Increase dashboard. Details will be under the `user` object.
819
+ USER =
820
+ T.let(
821
+ :user,
822
+ Increase::CardPushTransfer::CreatedBy::Category::TaggedSymbol
823
+ )
824
+
825
+ sig do
826
+ override.returns(
827
+ T::Array[
828
+ Increase::CardPushTransfer::CreatedBy::Category::TaggedSymbol
829
+ ]
830
+ )
831
+ end
832
+ def self.values
833
+ end
834
+ end
835
+
836
+ class OAuthApplication < Increase::Internal::Type::BaseModel
837
+ OrHash =
838
+ T.type_alias do
839
+ T.any(
840
+ Increase::CardPushTransfer::CreatedBy::OAuthApplication,
841
+ Increase::Internal::AnyHash
842
+ )
843
+ end
844
+
845
+ # The name of the OAuth Application.
846
+ sig { returns(String) }
847
+ attr_accessor :name
848
+
849
+ # If present, details about the OAuth Application that created the transfer.
850
+ sig { params(name: String).returns(T.attached_class) }
851
+ def self.new(
852
+ # The name of the OAuth Application.
853
+ name:
854
+ )
855
+ end
856
+
857
+ sig { override.returns({ name: String }) }
858
+ def to_hash
859
+ end
860
+ end
861
+
862
+ class User < Increase::Internal::Type::BaseModel
863
+ OrHash =
864
+ T.type_alias do
865
+ T.any(
866
+ Increase::CardPushTransfer::CreatedBy::User,
867
+ Increase::Internal::AnyHash
868
+ )
869
+ end
870
+
871
+ # The email address of the User.
872
+ sig { returns(String) }
873
+ attr_accessor :email
874
+
875
+ # If present, details about the User that created the transfer.
876
+ sig { params(email: String).returns(T.attached_class) }
877
+ def self.new(
878
+ # The email address of the User.
879
+ email:
880
+ )
881
+ end
882
+
883
+ sig { override.returns({ email: String }) }
884
+ def to_hash
885
+ end
886
+ end
887
+ end
888
+
889
+ # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
890
+ # currency.
891
+ module Currency
892
+ extend Increase::Internal::Type::Enum
893
+
894
+ TaggedSymbol =
895
+ T.type_alias { T.all(Symbol, Increase::CardPushTransfer::Currency) }
896
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
897
+
898
+ # Canadian Dollar (CAD)
899
+ CAD = T.let(:CAD, Increase::CardPushTransfer::Currency::TaggedSymbol)
900
+
901
+ # Swiss Franc (CHF)
902
+ CHF = T.let(:CHF, Increase::CardPushTransfer::Currency::TaggedSymbol)
903
+
904
+ # Euro (EUR)
905
+ EUR = T.let(:EUR, Increase::CardPushTransfer::Currency::TaggedSymbol)
906
+
907
+ # British Pound (GBP)
908
+ GBP = T.let(:GBP, Increase::CardPushTransfer::Currency::TaggedSymbol)
909
+
910
+ # Japanese Yen (JPY)
911
+ JPY = T.let(:JPY, Increase::CardPushTransfer::Currency::TaggedSymbol)
912
+
913
+ # US Dollar (USD)
914
+ USD = T.let(:USD, Increase::CardPushTransfer::Currency::TaggedSymbol)
915
+
916
+ sig do
917
+ override.returns(
918
+ T::Array[Increase::CardPushTransfer::Currency::TaggedSymbol]
919
+ )
920
+ end
921
+ def self.values
922
+ end
923
+ end
924
+
925
+ class Decline < Increase::Internal::Type::BaseModel
926
+ OrHash =
927
+ T.type_alias do
928
+ T.any(
929
+ Increase::CardPushTransfer::Decline,
930
+ Increase::Internal::AnyHash
931
+ )
932
+ end
933
+
934
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
935
+ # the transfer declined.
936
+ sig { returns(Time) }
937
+ attr_accessor :declined_at
938
+
939
+ # A unique identifier for the transaction on the card network.
940
+ sig { returns(T.nilable(String)) }
941
+ attr_accessor :network_transaction_identifier
942
+
943
+ # The reason why the transfer was declined.
944
+ sig do
945
+ returns(Increase::CardPushTransfer::Decline::Reason::TaggedSymbol)
946
+ end
947
+ attr_accessor :reason
948
+
949
+ # If the transfer is rejected by the card network or the destination financial
950
+ # institution, this will contain supplemental details.
951
+ sig do
952
+ params(
953
+ declined_at: Time,
954
+ network_transaction_identifier: T.nilable(String),
955
+ reason: Increase::CardPushTransfer::Decline::Reason::OrSymbol
956
+ ).returns(T.attached_class)
957
+ end
958
+ def self.new(
959
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
960
+ # the transfer declined.
961
+ declined_at:,
962
+ # A unique identifier for the transaction on the card network.
963
+ network_transaction_identifier:,
964
+ # The reason why the transfer was declined.
965
+ reason:
966
+ )
967
+ end
968
+
969
+ sig do
970
+ override.returns(
971
+ {
972
+ declined_at: Time,
973
+ network_transaction_identifier: T.nilable(String),
974
+ reason: Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
975
+ }
976
+ )
977
+ end
978
+ def to_hash
979
+ end
980
+
981
+ # The reason why the transfer was declined.
982
+ module Reason
983
+ extend Increase::Internal::Type::Enum
984
+
985
+ TaggedSymbol =
986
+ T.type_alias do
987
+ T.all(Symbol, Increase::CardPushTransfer::Decline::Reason)
988
+ end
989
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
990
+
991
+ # The card issuer has declined the transaction without providing a specific reason.
992
+ DO_NOT_HONOR =
993
+ T.let(
994
+ :do_not_honor,
995
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
996
+ )
997
+
998
+ # The number of transactions for the card has exceeded the limit set by the issuer.
999
+ ACTIVITY_COUNT_LIMIT_EXCEEDED =
1000
+ T.let(
1001
+ :activity_count_limit_exceeded,
1002
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1003
+ )
1004
+
1005
+ # The card issuer requires the cardholder to contact them for further information regarding the transaction.
1006
+ REFER_TO_CARD_ISSUER =
1007
+ T.let(
1008
+ :refer_to_card_issuer,
1009
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1010
+ )
1011
+
1012
+ # The card issuer requires the cardholder to contact them due to a special condition related to the transaction.
1013
+ REFER_TO_CARD_ISSUER_SPECIAL_CONDITION =
1014
+ T.let(
1015
+ :refer_to_card_issuer_special_condition,
1016
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1017
+ )
1018
+
1019
+ # The merchant is not valid for this transaction.
1020
+ INVALID_MERCHANT =
1021
+ T.let(
1022
+ :invalid_merchant,
1023
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1024
+ )
1025
+
1026
+ # The card should be retained by the terminal.
1027
+ PICK_UP_CARD =
1028
+ T.let(
1029
+ :pick_up_card,
1030
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1031
+ )
1032
+
1033
+ # An error occurred during processing of the transaction.
1034
+ ERROR =
1035
+ T.let(
1036
+ :error,
1037
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1038
+ )
1039
+
1040
+ # The card should be retained by the terminal due to a special condition.
1041
+ PICK_UP_CARD_SPECIAL =
1042
+ T.let(
1043
+ :pick_up_card_special,
1044
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1045
+ )
1046
+
1047
+ # The transaction is invalid and cannot be processed.
1048
+ INVALID_TRANSACTION =
1049
+ T.let(
1050
+ :invalid_transaction,
1051
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1052
+ )
1053
+
1054
+ # The amount of the transaction is invalid.
1055
+ INVALID_AMOUNT =
1056
+ T.let(
1057
+ :invalid_amount,
1058
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1059
+ )
1060
+
1061
+ # The account number provided is invalid.
1062
+ INVALID_ACCOUNT_NUMBER =
1063
+ T.let(
1064
+ :invalid_account_number,
1065
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1066
+ )
1067
+
1068
+ # The issuer of the card could not be found.
1069
+ NO_SUCH_ISSUER =
1070
+ T.let(
1071
+ :no_such_issuer,
1072
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1073
+ )
1074
+
1075
+ # The transaction should be re-entered for processing.
1076
+ RE_ENTER_TRANSACTION =
1077
+ T.let(
1078
+ :re_enter_transaction,
1079
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1080
+ )
1081
+
1082
+ # There is no credit account associated with the card.
1083
+ NO_CREDIT_ACCOUNT =
1084
+ T.let(
1085
+ :no_credit_account,
1086
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1087
+ )
1088
+
1089
+ # The card should be retained by the terminal because it has been reported lost.
1090
+ PICK_UP_CARD_LOST =
1091
+ T.let(
1092
+ :pick_up_card_lost,
1093
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1094
+ )
1095
+
1096
+ # The card should be retained by the terminal because it has been reported stolen.
1097
+ PICK_UP_CARD_STOLEN =
1098
+ T.let(
1099
+ :pick_up_card_stolen,
1100
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1101
+ )
1102
+
1103
+ # The account associated with the card has been closed.
1104
+ CLOSED_ACCOUNT =
1105
+ T.let(
1106
+ :closed_account,
1107
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1108
+ )
1109
+
1110
+ # There are insufficient funds in the account to complete the transaction.
1111
+ INSUFFICIENT_FUNDS =
1112
+ T.let(
1113
+ :insufficient_funds,
1114
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1115
+ )
1116
+
1117
+ # There is no checking account associated with the card.
1118
+ NO_CHECKING_ACCOUNT =
1119
+ T.let(
1120
+ :no_checking_account,
1121
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1122
+ )
1123
+
1124
+ # There is no savings account associated with the card.
1125
+ NO_SAVINGS_ACCOUNT =
1126
+ T.let(
1127
+ :no_savings_account,
1128
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1129
+ )
1130
+
1131
+ # The card has expired and cannot be used for transactions.
1132
+ EXPIRED_CARD =
1133
+ T.let(
1134
+ :expired_card,
1135
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1136
+ )
1137
+
1138
+ # The transaction is not permitted for this cardholder.
1139
+ TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER =
1140
+ T.let(
1141
+ :transaction_not_permitted_to_cardholder,
1142
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1143
+ )
1144
+
1145
+ # The transaction is not allowed at this terminal.
1146
+ TRANSACTION_NOT_ALLOWED_AT_TERMINAL =
1147
+ T.let(
1148
+ :transaction_not_allowed_at_terminal,
1149
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1150
+ )
1151
+
1152
+ # The transaction has been flagged as suspected fraud and cannot be processed.
1153
+ SUSPECTED_FRAUD =
1154
+ T.let(
1155
+ :suspected_fraud,
1156
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1157
+ )
1158
+
1159
+ # The amount of activity on the card has exceeded the limit set by the issuer.
1160
+ ACTIVITY_AMOUNT_LIMIT_EXCEEDED =
1161
+ T.let(
1162
+ :activity_amount_limit_exceeded,
1163
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1164
+ )
1165
+
1166
+ # The card has restrictions that prevent it from being used for this transaction.
1167
+ RESTRICTED_CARD =
1168
+ T.let(
1169
+ :restricted_card,
1170
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1171
+ )
1172
+
1173
+ # A security violation has occurred, preventing the transaction from being processed.
1174
+ SECURITY_VIOLATION =
1175
+ T.let(
1176
+ :security_violation,
1177
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1178
+ )
1179
+
1180
+ # The transaction does not meet the anti-money laundering requirements set by the issuer.
1181
+ TRANSACTION_DOES_NOT_FULFILL_ANTI_MONEY_LAUNDERING_REQUIREMENT =
1182
+ T.let(
1183
+ :transaction_does_not_fulfill_anti_money_laundering_requirement,
1184
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1185
+ )
1186
+
1187
+ # The first use of the card has been blocked by the issuer.
1188
+ BLOCKED_FIRST_USE =
1189
+ T.let(
1190
+ :blocked_first_use,
1191
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1192
+ )
1193
+
1194
+ # The credit issuer is currently unavailable to process the transaction.
1195
+ CREDIT_ISSUER_UNAVAILABLE =
1196
+ T.let(
1197
+ :credit_issuer_unavailable,
1198
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1199
+ )
1200
+
1201
+ # The card verification value (CVV) results were negative, indicating a potential issue with the card.
1202
+ NEGATIVE_CARD_VERIFICATION_VALUE_RESULTS =
1203
+ T.let(
1204
+ :negative_card_verification_value_results,
1205
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1206
+ )
1207
+
1208
+ # The issuer of the card is currently unavailable to process the transaction.
1209
+ ISSUER_UNAVAILABLE =
1210
+ T.let(
1211
+ :issuer_unavailable,
1212
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1213
+ )
1214
+
1215
+ # The financial institution associated with the card could not be found.
1216
+ FINANCIAL_INSTITUTION_CANNOT_BE_FOUND =
1217
+ T.let(
1218
+ :financial_institution_cannot_be_found,
1219
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1220
+ )
1221
+
1222
+ # The transaction cannot be completed due to an unspecified reason.
1223
+ TRANSACTION_CANNOT_BE_COMPLETED =
1224
+ T.let(
1225
+ :transaction_cannot_be_completed,
1226
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1227
+ )
1228
+
1229
+ # The transaction is a duplicate of a previous transaction and cannot be processed again.
1230
+ DUPLICATE_TRANSACTION =
1231
+ T.let(
1232
+ :duplicate_transaction,
1233
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1234
+ )
1235
+
1236
+ # A system malfunction occurred, preventing the transaction from being processed.
1237
+ SYSTEM_MALFUNCTION =
1238
+ T.let(
1239
+ :system_malfunction,
1240
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1241
+ )
1242
+
1243
+ # Additional customer authentication is required to complete the transaction.
1244
+ ADDITIONAL_CUSTOMER_AUTHENTICATION_REQUIRED =
1245
+ T.let(
1246
+ :additional_customer_authentication_required,
1247
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1248
+ )
1249
+
1250
+ # The surcharge amount applied to the transaction is not permitted by the issuer.
1251
+ SURCHARGE_AMOUNT_NOT_PERMITTED =
1252
+ T.let(
1253
+ :surcharge_amount_not_permitted,
1254
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1255
+ )
1256
+
1257
+ # The transaction was declined due to a failure in verifying the CVV2 code.
1258
+ DECLINE_FOR_CVV2_FAILURE =
1259
+ T.let(
1260
+ :decline_for_cvv2_failure,
1261
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1262
+ )
1263
+
1264
+ # A stop payment order has been placed on this transaction.
1265
+ STOP_PAYMENT_ORDER =
1266
+ T.let(
1267
+ :stop_payment_order,
1268
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1269
+ )
1270
+
1271
+ # An order has been placed to revoke authorization for this transaction.
1272
+ REVOCATION_OF_AUTHORIZATION_ORDER =
1273
+ T.let(
1274
+ :revocation_of_authorization_order,
1275
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1276
+ )
1277
+
1278
+ # An order has been placed to revoke all authorizations for this cardholder.
1279
+ REVOCATION_OF_ALL_AUTHORIZATIONS_ORDER =
1280
+ T.let(
1281
+ :revocation_of_all_authorizations_order,
1282
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1283
+ )
1284
+
1285
+ sig do
1286
+ override.returns(
1287
+ T::Array[
1288
+ Increase::CardPushTransfer::Decline::Reason::TaggedSymbol
1289
+ ]
1290
+ )
1291
+ end
1292
+ def self.values
1293
+ end
1294
+ end
1295
+ end
1296
+
1297
+ # The lifecycle status of the transfer.
1298
+ module Status
1299
+ extend Increase::Internal::Type::Enum
1300
+
1301
+ TaggedSymbol =
1302
+ T.type_alias { T.all(Symbol, Increase::CardPushTransfer::Status) }
1303
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1304
+
1305
+ # The transfer is pending approval.
1306
+ PENDING_APPROVAL =
1307
+ T.let(
1308
+ :pending_approval,
1309
+ Increase::CardPushTransfer::Status::TaggedSymbol
1310
+ )
1311
+
1312
+ # The transfer has been canceled.
1313
+ CANCELED =
1314
+ T.let(:canceled, Increase::CardPushTransfer::Status::TaggedSymbol)
1315
+
1316
+ # The transfer is pending review by Increase.
1317
+ PENDING_REVIEWING =
1318
+ T.let(
1319
+ :pending_reviewing,
1320
+ Increase::CardPushTransfer::Status::TaggedSymbol
1321
+ )
1322
+
1323
+ # The transfer requires attention from an Increase operator.
1324
+ REQUIRES_ATTENTION =
1325
+ T.let(
1326
+ :requires_attention,
1327
+ Increase::CardPushTransfer::Status::TaggedSymbol
1328
+ )
1329
+
1330
+ # The transfer is queued to be submitted to the card network.
1331
+ PENDING_SUBMISSION =
1332
+ T.let(
1333
+ :pending_submission,
1334
+ Increase::CardPushTransfer::Status::TaggedSymbol
1335
+ )
1336
+
1337
+ # The transfer has been submitted and is pending a response from the card network.
1338
+ SUBMITTED =
1339
+ T.let(:submitted, Increase::CardPushTransfer::Status::TaggedSymbol)
1340
+
1341
+ # The transfer has been sent successfully and is complete.
1342
+ COMPLETE =
1343
+ T.let(:complete, Increase::CardPushTransfer::Status::TaggedSymbol)
1344
+
1345
+ # The transfer was declined by the network or the recipient's bank.
1346
+ DECLINED =
1347
+ T.let(:declined, Increase::CardPushTransfer::Status::TaggedSymbol)
1348
+
1349
+ sig do
1350
+ override.returns(
1351
+ T::Array[Increase::CardPushTransfer::Status::TaggedSymbol]
1352
+ )
1353
+ end
1354
+ def self.values
1355
+ end
1356
+ end
1357
+
1358
+ class Submission < Increase::Internal::Type::BaseModel
1359
+ OrHash =
1360
+ T.type_alias do
1361
+ T.any(
1362
+ Increase::CardPushTransfer::Submission,
1363
+ Increase::Internal::AnyHash
1364
+ )
1365
+ end
1366
+
1367
+ # A 12-digit retrieval reference number that identifies the transfer. Usually a
1368
+ # combination of a timestamp and the trace number.
1369
+ sig { returns(String) }
1370
+ attr_accessor :retrieval_reference_number
1371
+
1372
+ # A unique reference for the transfer.
1373
+ sig { returns(String) }
1374
+ attr_accessor :sender_reference
1375
+
1376
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
1377
+ # the transfer was submitted to card network.
1378
+ sig { returns(Time) }
1379
+ attr_accessor :submitted_at
1380
+
1381
+ # A 6-digit trace number that identifies the transfer within a small window of
1382
+ # time.
1383
+ sig { returns(String) }
1384
+ attr_accessor :trace_number
1385
+
1386
+ # After the transfer is submitted to the card network, this will contain
1387
+ # supplemental details.
1388
+ sig do
1389
+ params(
1390
+ retrieval_reference_number: String,
1391
+ sender_reference: String,
1392
+ submitted_at: Time,
1393
+ trace_number: String
1394
+ ).returns(T.attached_class)
1395
+ end
1396
+ def self.new(
1397
+ # A 12-digit retrieval reference number that identifies the transfer. Usually a
1398
+ # combination of a timestamp and the trace number.
1399
+ retrieval_reference_number:,
1400
+ # A unique reference for the transfer.
1401
+ sender_reference:,
1402
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
1403
+ # the transfer was submitted to card network.
1404
+ submitted_at:,
1405
+ # A 6-digit trace number that identifies the transfer within a small window of
1406
+ # time.
1407
+ trace_number:
1408
+ )
1409
+ end
1410
+
1411
+ sig do
1412
+ override.returns(
1413
+ {
1414
+ retrieval_reference_number: String,
1415
+ sender_reference: String,
1416
+ submitted_at: Time,
1417
+ trace_number: String
1418
+ }
1419
+ )
1420
+ end
1421
+ def to_hash
1422
+ end
1423
+ end
1424
+
1425
+ # A constant representing the object's type. For this resource it will always be
1426
+ # `card_push_transfer`.
1427
+ module Type
1428
+ extend Increase::Internal::Type::Enum
1429
+
1430
+ TaggedSymbol =
1431
+ T.type_alias { T.all(Symbol, Increase::CardPushTransfer::Type) }
1432
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1433
+
1434
+ CARD_PUSH_TRANSFER =
1435
+ T.let(
1436
+ :card_push_transfer,
1437
+ Increase::CardPushTransfer::Type::TaggedSymbol
1438
+ )
1439
+
1440
+ sig do
1441
+ override.returns(
1442
+ T::Array[Increase::CardPushTransfer::Type::TaggedSymbol]
1443
+ )
1444
+ end
1445
+ def self.values
1446
+ end
1447
+ end
1448
+ end
1449
+ end
1450
+ end