increase 1.361.0 → 1.362.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.
@@ -3,16 +3,27 @@
3
3
  module Increase
4
4
  module Resources
5
5
  class ACHTransfers
6
- # Create an ACH Transfer
6
+ # An ACH Transfer has two primary descriptive fields:
7
+ # [`company_name`](/documentation/api/ach-transfers#create-an-ach-transfer.company_name)
8
+ # and
9
+ # [`individual_name`](/documentation/api/ach-transfers#create-an-ach-transfer.individual_name).
10
+ # You should set both of these, in addition to the required amount and account
11
+ # fields.
7
12
  #
8
13
  # @overload create(account_id:, amount:, statement_descriptor:, account_number: nil, addenda: nil, company_descriptive_date: nil, company_discretionary_data: nil, company_entry_description: nil, company_name: nil, destination_account_holder: nil, external_account_id: nil, funding: nil, individual_id: nil, individual_name: nil, preferred_effective_date: nil, require_approval: nil, routing_number: nil, standard_entry_class_code: nil, request_options: {})
9
14
  #
10
- # @param account_id [String] The Increase identifier for the account that will send the transfer.
15
+ # @param account_id [String]
16
+ # The Increase identifier for the account that will originate the transfer. For
17
+ # credit transfers (transfers with a positive `amount`), this is the account that
18
+ # funds will be sent from. For debit transfers (transfers with a negative
19
+ # `amount`), this is the account that funds will be pulled into.
11
20
  #
12
21
  # @param amount [Integer]
13
22
  # The transfer amount in USD cents. A positive amount originates a credit transfer
14
- # pushing funds to the receiving account. A negative amount originates a debit
15
- # transfer pulling funds from the receiving account.
23
+ # pushing funds from Increase to the account at the other bank. A negative amount
24
+ # originates a debit transfer pulling funds from the account at the other bank
25
+ # into Increase. Debit transfers
26
+ # [might result in a hold before funds are available](/documentation/sending-ach-debit-transfers).
16
27
  #
17
28
  # @param statement_descriptor [String]
18
29
  # A description you choose to give the transfer. This will be saved with the
@@ -23,9 +34,10 @@ module Increase
23
34
  # `individual_name` and `company_name` instead of relying on this fallback.
24
35
  #
25
36
  # @param account_number [String]
26
- # The receiver's account number. For credit transfers (positive `amount`) this is
27
- # the account that funds will be sent to. For debit transfers (negative `amount`)
28
- # this is the account that funds will be pulled from.
37
+ # The receiver's account number. For credit transfers (transfers with a positive
38
+ # `amount`), this is the account that funds will be sent to. For debit transfers
39
+ # (transfers with a negative `amount`), this is the account that funds will be
40
+ # pulled from.
29
41
  #
30
42
  # @param addenda [Increase::Models::ACHTransferCreateParams::Addenda]
31
43
  # Additional information passed through to the receiving bank with the transfer.
@@ -39,21 +51,26 @@ module Increase
39
51
  # settlement timing, or returns. Only set this if your recipient has asked for it.
40
52
  #
41
53
  # @param company_discretionary_data [String]
42
- # Custom data sent in the company batch header. This value is informational and
43
- # does not affect funds movement, settlement timing, or returns. Most ACH
44
- # transfers do not need this. Only set this if your recipient has asked for it.
54
+ # Custom data sent in the company batch header, meant as metadata for the
55
+ # originator. This value is informational and does not affect funds movement,
56
+ # settlement timing, or returns. Most ACH transfers do not need this; we recommend
57
+ # storing metadata in your own application instead.
45
58
  #
46
59
  # @param company_entry_description [String]
47
- # A short description sent in the company batch header. Most receivers do not
48
- # surface this. Only set this if your recipient has asked for a specific value or
49
- # if Nacha mandates one for your Standard Entry Class (SEC) code and use case. For
50
- # example, Prearranged Payment and Deposit (PPD) payroll credits must use
51
- # `PAYROLL`, and reversals must use `REVERSAL`.
60
+ # A short description sent in the company batch header, meant to provide the
61
+ # receiver with a reason for the transfer. Many receivers do not surface this data
62
+ # on the receiver's bank statement. Only set this if your recipient has asked for
63
+ # a specific value or if Nacha mandates one for your Standard Entry Class (SEC)
64
+ # code and use case. For example, some use cases require constants like
65
+ # `ACCTVERIFY`, `PURCHASE`, `PAYROLL`, or `REVERSAL`.
52
66
  #
53
67
  # @param company_name [String]
54
- # The name by which the recipient knows you, sent in the company batch header. We
55
- # recommend setting this on every transfer; if you do not, we fall back to the
56
- # `statement_descriptor`.
68
+ # The name by which the recipient knows the counterparty of this transaction. If
69
+ # you're processing payments on behalf of another party, use their name, not your
70
+ # own, so that it's more likely the recipient understands the context of the
71
+ # payment. This value is usually displayed to the recipient on their bank
72
+ # statement. We recommend setting this on every transfer; if you do not, we fall
73
+ # back to the `statement_descriptor`.
57
74
  #
58
75
  # @param destination_account_holder [Symbol, Increase::Models::ACHTransferCreateParams::DestinationAccountHolder]
59
76
  # The type of entity that owns the receiver's account.
@@ -68,12 +85,16 @@ module Increase
68
85
  # Defaults to `checking`.
69
86
  #
70
87
  # @param individual_id [String]
71
- # Your internal identifier for the transfer recipient. This value is informational
72
- # and not verified by the recipient's bank. Most callers can leave this unset.
88
+ # Your internal identifier for the recipient. This value is informational and
89
+ # generally not verified by the recipient's bank. Most callers can leave this
90
+ # unset. For the specific case of person-to-person credits with the WEB standard
91
+ # entry class code, this must include the name of the payer.
73
92
  #
74
93
  # @param individual_name [String]
75
- # The name of the transfer recipient. This value is informational and not verified
76
- # by the recipient's bank.
94
+ # The name of the transfer recipient. This value is informational and generally
95
+ # not verified by the recipient's bank. This value is usually displayed to the
96
+ # recipient on their bank statement. We recommend setting this on every transfer;
97
+ # if you do not, we fall back to the `statement_descriptor`.
77
98
  #
78
99
  # @param preferred_effective_date [Increase::Models::ACHTransferCreateParams::PreferredEffectiveDate]
79
100
  # Configuration for how the effective date of the transfer will be set. This
@@ -6,21 +6,31 @@ module Increase
6
6
  class WireDrawdownRequests
7
7
  # Simulates a Wire Drawdown Request being refused by the debtor.
8
8
  #
9
- # @overload refuse(wire_drawdown_request_id, request_options: {})
9
+ # @overload refuse(wire_drawdown_request_id, refusal_reason_additional_information: nil, refusal_reason_code: nil, request_options: {})
10
10
  #
11
11
  # @param wire_drawdown_request_id [String] The identifier of the Wire Drawdown Request you wish to refuse.
12
12
  #
13
+ # @param refusal_reason_additional_information [String]
14
+ # Additional information about the refusal that the simulated refusal will have.
15
+ #
16
+ # @param refusal_reason_code [Symbol, Increase::Models::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode]
17
+ # The reason code that the simulated refusal will have.
18
+ #
19
+ # Defaults to `other`.
20
+ #
13
21
  # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil]
14
22
  #
15
23
  # @return [Increase::Models::WireDrawdownRequest]
16
24
  #
17
25
  # @see Increase::Models::Simulations::WireDrawdownRequestRefuseParams
18
26
  def refuse(wire_drawdown_request_id, params = {})
27
+ parsed, options = Increase::Simulations::WireDrawdownRequestRefuseParams.dump_request(params)
19
28
  @client.request(
20
29
  method: :post,
21
30
  path: ["simulations/wire_drawdown_requests/%1$s/refuse", wire_drawdown_request_id],
31
+ body: parsed,
22
32
  model: Increase::WireDrawdownRequest,
23
- options: params[:request_options]
33
+ options: options
24
34
  )
25
35
  end
26
36
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Increase
4
- VERSION = "1.361.0"
4
+ VERSION = "1.362.0"
5
5
  end
@@ -363,7 +363,9 @@ module Increase
363
363
  #
364
364
  # https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#special-considerations-for-multipart-content
365
365
  sig do
366
- params(body: T.anything).returns([String, T::Enumerable[String]])
366
+ params(body: T.anything).returns(
367
+ [String, T.proc.returns(T::Enumerable[String])]
368
+ )
367
369
  end
368
370
  private def encode_multipart_streaming(body)
369
371
  end
@@ -11,13 +11,18 @@ module Increase
11
11
  T.any(Increase::ACHTransferCreateParams, Increase::Internal::AnyHash)
12
12
  end
13
13
 
14
- # The Increase identifier for the account that will send the transfer.
14
+ # The Increase identifier for the account that will originate the transfer. For
15
+ # credit transfers (transfers with a positive `amount`), this is the account that
16
+ # funds will be sent from. For debit transfers (transfers with a negative
17
+ # `amount`), this is the account that funds will be pulled into.
15
18
  sig { returns(String) }
16
19
  attr_accessor :account_id
17
20
 
18
21
  # The transfer amount in USD cents. A positive amount originates a credit transfer
19
- # pushing funds to the receiving account. A negative amount originates a debit
20
- # transfer pulling funds from the receiving account.
22
+ # pushing funds from Increase to the account at the other bank. A negative amount
23
+ # originates a debit transfer pulling funds from the account at the other bank
24
+ # into Increase. Debit transfers
25
+ # [might result in a hold before funds are available](/documentation/sending-ach-debit-transfers).
21
26
  sig { returns(Integer) }
22
27
  attr_accessor :amount
23
28
 
@@ -30,9 +35,10 @@ module Increase
30
35
  sig { returns(String) }
31
36
  attr_accessor :statement_descriptor
32
37
 
33
- # The receiver's account number. For credit transfers (positive `amount`) this is
34
- # the account that funds will be sent to. For debit transfers (negative `amount`)
35
- # this is the account that funds will be pulled from.
38
+ # The receiver's account number. For credit transfers (transfers with a positive
39
+ # `amount`), this is the account that funds will be sent to. For debit transfers
40
+ # (transfers with a negative `amount`), this is the account that funds will be
41
+ # pulled from.
36
42
  sig { returns(T.nilable(String)) }
37
43
  attr_reader :account_number
38
44
 
@@ -60,29 +66,34 @@ module Increase
60
66
  sig { params(company_descriptive_date: String).void }
61
67
  attr_writer :company_descriptive_date
62
68
 
63
- # Custom data sent in the company batch header. This value is informational and
64
- # does not affect funds movement, settlement timing, or returns. Most ACH
65
- # transfers do not need this. Only set this if your recipient has asked for it.
69
+ # Custom data sent in the company batch header, meant as metadata for the
70
+ # originator. This value is informational and does not affect funds movement,
71
+ # settlement timing, or returns. Most ACH transfers do not need this; we recommend
72
+ # storing metadata in your own application instead.
66
73
  sig { returns(T.nilable(String)) }
67
74
  attr_reader :company_discretionary_data
68
75
 
69
76
  sig { params(company_discretionary_data: String).void }
70
77
  attr_writer :company_discretionary_data
71
78
 
72
- # A short description sent in the company batch header. Most receivers do not
73
- # surface this. Only set this if your recipient has asked for a specific value or
74
- # if Nacha mandates one for your Standard Entry Class (SEC) code and use case. For
75
- # example, Prearranged Payment and Deposit (PPD) payroll credits must use
76
- # `PAYROLL`, and reversals must use `REVERSAL`.
79
+ # A short description sent in the company batch header, meant to provide the
80
+ # receiver with a reason for the transfer. Many receivers do not surface this data
81
+ # on the receiver's bank statement. Only set this if your recipient has asked for
82
+ # a specific value or if Nacha mandates one for your Standard Entry Class (SEC)
83
+ # code and use case. For example, some use cases require constants like
84
+ # `ACCTVERIFY`, `PURCHASE`, `PAYROLL`, or `REVERSAL`.
77
85
  sig { returns(T.nilable(String)) }
78
86
  attr_reader :company_entry_description
79
87
 
80
88
  sig { params(company_entry_description: String).void }
81
89
  attr_writer :company_entry_description
82
90
 
83
- # The name by which the recipient knows you, sent in the company batch header. We
84
- # recommend setting this on every transfer; if you do not, we fall back to the
85
- # `statement_descriptor`.
91
+ # The name by which the recipient knows the counterparty of this transaction. If
92
+ # you're processing payments on behalf of another party, use their name, not your
93
+ # own, so that it's more likely the recipient understands the context of the
94
+ # payment. This value is usually displayed to the recipient on their bank
95
+ # statement. We recommend setting this on every transfer; if you do not, we fall
96
+ # back to the `statement_descriptor`.
86
97
  sig { returns(T.nilable(String)) }
87
98
  attr_reader :company_name
88
99
 
@@ -130,16 +141,20 @@ module Increase
130
141
  end
131
142
  attr_writer :funding
132
143
 
133
- # Your internal identifier for the transfer recipient. This value is informational
134
- # and not verified by the recipient's bank. Most callers can leave this unset.
144
+ # Your internal identifier for the recipient. This value is informational and
145
+ # generally not verified by the recipient's bank. Most callers can leave this
146
+ # unset. For the specific case of person-to-person credits with the WEB standard
147
+ # entry class code, this must include the name of the payer.
135
148
  sig { returns(T.nilable(String)) }
136
149
  attr_reader :individual_id
137
150
 
138
151
  sig { params(individual_id: String).void }
139
152
  attr_writer :individual_id
140
153
 
141
- # The name of the transfer recipient. This value is informational and not verified
142
- # by the recipient's bank.
154
+ # The name of the transfer recipient. This value is informational and generally
155
+ # not verified by the recipient's bank. This value is usually displayed to the
156
+ # recipient on their bank statement. We recommend setting this on every transfer;
157
+ # if you do not, we fall back to the `statement_descriptor`.
143
158
  sig { returns(T.nilable(String)) }
144
159
  attr_reader :individual_name
145
160
 
@@ -228,11 +243,16 @@ module Increase
228
243
  ).returns(T.attached_class)
229
244
  end
230
245
  def self.new(
231
- # The Increase identifier for the account that will send the transfer.
246
+ # The Increase identifier for the account that will originate the transfer. For
247
+ # credit transfers (transfers with a positive `amount`), this is the account that
248
+ # funds will be sent from. For debit transfers (transfers with a negative
249
+ # `amount`), this is the account that funds will be pulled into.
232
250
  account_id:,
233
251
  # The transfer amount in USD cents. A positive amount originates a credit transfer
234
- # pushing funds to the receiving account. A negative amount originates a debit
235
- # transfer pulling funds from the receiving account.
252
+ # pushing funds from Increase to the account at the other bank. A negative amount
253
+ # originates a debit transfer pulling funds from the account at the other bank
254
+ # into Increase. Debit transfers
255
+ # [might result in a hold before funds are available](/documentation/sending-ach-debit-transfers).
236
256
  amount:,
237
257
  # A description you choose to give the transfer. This will be saved with the
238
258
  # transfer details, displayed in the dashboard, and returned by the API. If
@@ -241,9 +261,10 @@ module Increase
241
261
  # help the customer recognize the transfer. You are highly encouraged to pass
242
262
  # `individual_name` and `company_name` instead of relying on this fallback.
243
263
  statement_descriptor:,
244
- # The receiver's account number. For credit transfers (positive `amount`) this is
245
- # the account that funds will be sent to. For debit transfers (negative `amount`)
246
- # this is the account that funds will be pulled from.
264
+ # The receiver's account number. For credit transfers (transfers with a positive
265
+ # `amount`), this is the account that funds will be sent to. For debit transfers
266
+ # (transfers with a negative `amount`), this is the account that funds will be
267
+ # pulled from.
247
268
  account_number: nil,
248
269
  # Additional information passed through to the receiving bank with the transfer.
249
270
  # Most ACH transfers do not need this. Only set this if your recipient has asked
@@ -254,19 +275,24 @@ module Increase
254
275
  # batch header. This value is informational and does not affect funds movement,
255
276
  # settlement timing, or returns. Only set this if your recipient has asked for it.
256
277
  company_descriptive_date: nil,
257
- # Custom data sent in the company batch header. This value is informational and
258
- # does not affect funds movement, settlement timing, or returns. Most ACH
259
- # transfers do not need this. Only set this if your recipient has asked for it.
278
+ # Custom data sent in the company batch header, meant as metadata for the
279
+ # originator. This value is informational and does not affect funds movement,
280
+ # settlement timing, or returns. Most ACH transfers do not need this; we recommend
281
+ # storing metadata in your own application instead.
260
282
  company_discretionary_data: nil,
261
- # A short description sent in the company batch header. Most receivers do not
262
- # surface this. Only set this if your recipient has asked for a specific value or
263
- # if Nacha mandates one for your Standard Entry Class (SEC) code and use case. For
264
- # example, Prearranged Payment and Deposit (PPD) payroll credits must use
265
- # `PAYROLL`, and reversals must use `REVERSAL`.
283
+ # A short description sent in the company batch header, meant to provide the
284
+ # receiver with a reason for the transfer. Many receivers do not surface this data
285
+ # on the receiver's bank statement. Only set this if your recipient has asked for
286
+ # a specific value or if Nacha mandates one for your Standard Entry Class (SEC)
287
+ # code and use case. For example, some use cases require constants like
288
+ # `ACCTVERIFY`, `PURCHASE`, `PAYROLL`, or `REVERSAL`.
266
289
  company_entry_description: nil,
267
- # The name by which the recipient knows you, sent in the company batch header. We
268
- # recommend setting this on every transfer; if you do not, we fall back to the
269
- # `statement_descriptor`.
290
+ # The name by which the recipient knows the counterparty of this transaction. If
291
+ # you're processing payments on behalf of another party, use their name, not your
292
+ # own, so that it's more likely the recipient understands the context of the
293
+ # payment. This value is usually displayed to the recipient on their bank
294
+ # statement. We recommend setting this on every transfer; if you do not, we fall
295
+ # back to the `statement_descriptor`.
270
296
  company_name: nil,
271
297
  # The type of entity that owns the receiver's account.
272
298
  destination_account_holder: nil,
@@ -277,11 +303,15 @@ module Increase
277
303
  #
278
304
  # Defaults to `checking`.
279
305
  funding: nil,
280
- # Your internal identifier for the transfer recipient. This value is informational
281
- # and not verified by the recipient's bank. Most callers can leave this unset.
306
+ # Your internal identifier for the recipient. This value is informational and
307
+ # generally not verified by the recipient's bank. Most callers can leave this
308
+ # unset. For the specific case of person-to-person credits with the WEB standard
309
+ # entry class code, this must include the name of the payer.
282
310
  individual_id: nil,
283
- # The name of the transfer recipient. This value is informational and not verified
284
- # by the recipient's bank.
311
+ # The name of the transfer recipient. This value is informational and generally
312
+ # not verified by the recipient's bank. This value is usually displayed to the
313
+ # recipient on their bank statement. We recommend setting this on every transfer;
314
+ # if you do not, we fall back to the `statement_descriptor`.
285
315
  individual_name: nil,
286
316
  # Configuration for how the effective date of the transfer will be set. This
287
317
  # determines same-day vs future-dated settlement timing. If not set, defaults to a
@@ -149,6 +149,25 @@ module Increase
149
149
  end
150
150
  attr_writer :accept_chargeback
151
151
 
152
+ # The parameters for accepting the user prearbitration. Required if and only if
153
+ # `action` is `accept_user_prearbitration`.
154
+ sig do
155
+ returns(
156
+ T.nilable(
157
+ Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration
158
+ )
159
+ )
160
+ end
161
+ attr_reader :accept_user_prearbitration
162
+
163
+ sig do
164
+ params(
165
+ accept_user_prearbitration:
166
+ Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration::OrHash
167
+ ).void
168
+ end
169
+ attr_writer :accept_user_prearbitration
170
+
152
171
  # The parameters for accepting the user submission. Required if and only if
153
172
  # `action` is `accept_user_submission`.
154
173
  sig do
@@ -347,6 +366,8 @@ module Increase
347
366
  Increase::Simulations::CardDisputeActionParams::Visa::Action::OrSymbol,
348
367
  accept_chargeback:
349
368
  Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback::OrHash,
369
+ accept_user_prearbitration:
370
+ Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration::OrHash,
350
371
  accept_user_submission:
351
372
  Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserSubmission::OrHash,
352
373
  decline_user_prearbitration:
@@ -376,6 +397,9 @@ module Increase
376
397
  # The parameters for accepting the chargeback. Required if and only if `action` is
377
398
  # `accept_chargeback`.
378
399
  accept_chargeback: nil,
400
+ # The parameters for accepting the user prearbitration. Required if and only if
401
+ # `action` is `accept_user_prearbitration`.
402
+ accept_user_prearbitration: nil,
379
403
  # The parameters for accepting the user submission. Required if and only if
380
404
  # `action` is `accept_user_submission`.
381
405
  accept_user_submission: nil,
@@ -416,6 +440,8 @@ module Increase
416
440
  Increase::Simulations::CardDisputeActionParams::Visa::Action::OrSymbol,
417
441
  accept_chargeback:
418
442
  Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback,
443
+ accept_user_prearbitration:
444
+ Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration,
419
445
  accept_user_submission:
420
446
  Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserSubmission,
421
447
  decline_user_prearbitration:
@@ -463,6 +489,13 @@ module Increase
463
489
  Increase::Simulations::CardDisputeActionParams::Visa::Action::TaggedSymbol
464
490
  )
465
491
 
492
+ # Simulate the merchant accepting the user's pre-arbitration. This will move the dispute to a `won` state.
493
+ ACCEPT_USER_PREARBITRATION =
494
+ T.let(
495
+ :accept_user_prearbitration,
496
+ Increase::Simulations::CardDisputeActionParams::Visa::Action::TaggedSymbol
497
+ )
498
+
466
499
  # Accept the user's submission and transmit it to the network. This will move the dispute to a `pending_response` state.
467
500
  ACCEPT_USER_SUBMISSION =
468
501
  T.let(
@@ -477,7 +510,7 @@ module Increase
477
510
  Increase::Simulations::CardDisputeActionParams::Visa::Action::TaggedSymbol
478
511
  )
479
512
 
480
- # Simulate the merchant issuing pre-arbitration. This will move the dispute to a `user_submission_required` state.
513
+ # Simulate the merchant issuing pre-arbitration. Only available for disputes in the fraud or authorization category. This will move the dispute to a `user_submission_required` state.
481
514
  RECEIVE_MERCHANT_PREARBITRATION =
482
515
  T.let(
483
516
  :receive_merchant_prearbitration,
@@ -491,7 +524,7 @@ module Increase
491
524
  Increase::Simulations::CardDisputeActionParams::Visa::Action::TaggedSymbol
492
525
  )
493
526
 
494
- # Simulate the merchant re-presenting the dispute. This will move the dispute to a `user_submission_required` state.
527
+ # Simulate the merchant re-presenting the dispute. Only available for disputes in a consumer or processing error category. This will move the dispute to a `user_submission_required` state.
495
528
  REPRESENT =
496
529
  T.let(
497
530
  :represent,
@@ -526,7 +559,7 @@ module Increase
526
559
  Increase::Simulations::CardDisputeActionParams::Visa::Action::TaggedSymbol
527
560
  )
528
561
 
529
- # Simulate the merchant timing out responding to a user pre-arbitration. This will move the dispute to a `win` state.
562
+ # Simulate the merchant timing out responding to a user pre-arbitration. This will move the dispute to a `won` state.
530
563
  TIME_OUT_USER_PREARBITRATION =
531
564
  T.let(
532
565
  :time_out_user_prearbitration,
@@ -564,6 +597,26 @@ module Increase
564
597
  end
565
598
  end
566
599
 
600
+ class AcceptUserPrearbitration < Increase::Internal::Type::BaseModel
601
+ OrHash =
602
+ T.type_alias do
603
+ T.any(
604
+ Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration,
605
+ Increase::Internal::AnyHash
606
+ )
607
+ end
608
+
609
+ # The parameters for accepting the user prearbitration. Required if and only if
610
+ # `action` is `accept_user_prearbitration`.
611
+ sig { returns(T.attached_class) }
612
+ def self.new
613
+ end
614
+
615
+ sig { override.returns({}) }
616
+ def to_hash
617
+ end
618
+ end
619
+
567
620
  class AcceptUserSubmission < Increase::Internal::Type::BaseModel
568
621
  OrHash =
569
622
  T.type_alias do
@@ -19,15 +19,51 @@ module Increase
19
19
  sig { returns(String) }
20
20
  attr_accessor :wire_drawdown_request_id
21
21
 
22
+ # Additional information about the refusal that the simulated refusal will have.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :refusal_reason_additional_information
25
+
26
+ sig { params(refusal_reason_additional_information: String).void }
27
+ attr_writer :refusal_reason_additional_information
28
+
29
+ # The reason code that the simulated refusal will have.
30
+ #
31
+ # Defaults to `other`.
32
+ sig do
33
+ returns(
34
+ T.nilable(
35
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::OrSymbol
36
+ )
37
+ )
38
+ end
39
+ attr_reader :refusal_reason_code
40
+
41
+ sig do
42
+ params(
43
+ refusal_reason_code:
44
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::OrSymbol
45
+ ).void
46
+ end
47
+ attr_writer :refusal_reason_code
48
+
22
49
  sig do
23
50
  params(
24
51
  wire_drawdown_request_id: String,
52
+ refusal_reason_additional_information: String,
53
+ refusal_reason_code:
54
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::OrSymbol,
25
55
  request_options: Increase::RequestOptions::OrHash
26
56
  ).returns(T.attached_class)
27
57
  end
28
58
  def self.new(
29
59
  # The identifier of the Wire Drawdown Request you wish to refuse.
30
60
  wire_drawdown_request_id:,
61
+ # Additional information about the refusal that the simulated refusal will have.
62
+ refusal_reason_additional_information: nil,
63
+ # The reason code that the simulated refusal will have.
64
+ #
65
+ # Defaults to `other`.
66
+ refusal_reason_code: nil,
31
67
  request_options: {}
32
68
  )
33
69
  end
@@ -36,12 +72,83 @@ module Increase
36
72
  override.returns(
37
73
  {
38
74
  wire_drawdown_request_id: String,
75
+ refusal_reason_additional_information: String,
76
+ refusal_reason_code:
77
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::OrSymbol,
39
78
  request_options: Increase::RequestOptions
40
79
  }
41
80
  )
42
81
  end
43
82
  def to_hash
44
83
  end
84
+
85
+ # The reason code that the simulated refusal will have.
86
+ #
87
+ # Defaults to `other`.
88
+ module RefusalReasonCode
89
+ extend Increase::Internal::Type::Enum
90
+
91
+ TaggedSymbol =
92
+ T.type_alias do
93
+ T.all(
94
+ Symbol,
95
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode
96
+ )
97
+ end
98
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
99
+
100
+ # The debtor's account number is invalid or missing. Corresponds to the Fedwire reason code `AC02`.
101
+ INVALID_DEBTOR_ACCOUNT_NUMBER =
102
+ T.let(
103
+ :invalid_debtor_account_number,
104
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
105
+ )
106
+
107
+ # The debtor account does not allow drawdown requests. Corresponds to the Fedwire reason code `AG01`.
108
+ TRANSACTION_FORBIDDEN =
109
+ T.let(
110
+ :transaction_forbidden,
111
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
112
+ )
113
+
114
+ # The debtor account cannot be debited for a generic reason. Corresponds to the Fedwire reason code `AG07`.
115
+ UNSUCCESSFUL_DIRECT_DEBIT =
116
+ T.let(
117
+ :unsuccessful_direct_debit,
118
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
119
+ )
120
+
121
+ # The debtor's identification is inconsistent with the debtor account number. Corresponds to the Fedwire reason code `BE01`.
122
+ INCONSISTENT_WITH_END_CUSTOMER =
123
+ T.let(
124
+ :inconsistent_with_end_customer,
125
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
126
+ )
127
+
128
+ # The reason is provided as narrative information in the additional information field. Corresponds to the Fedwire reason code `NARR`.
129
+ NARRATIVE =
130
+ T.let(
131
+ :narrative,
132
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
133
+ )
134
+
135
+ # Some other error or issue has occurred.
136
+ OTHER =
137
+ T.let(
138
+ :other,
139
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
140
+ )
141
+
142
+ sig do
143
+ override.returns(
144
+ T::Array[
145
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::TaggedSymbol
146
+ ]
147
+ )
148
+ end
149
+ def self.values
150
+ end
151
+ end
45
152
  end
46
153
  end
47
154
  end