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.
@@ -95,6 +95,18 @@ module Increase
95
95
  sig { returns(T.nilable(String)) }
96
96
  attr_accessor :idempotency_key
97
97
 
98
+ # If the debtor refuses the drawdown request, this will contain supplemental
99
+ # details.
100
+ sig { returns(T.nilable(Increase::WireDrawdownRequest::Refusal)) }
101
+ attr_reader :refusal
102
+
103
+ sig do
104
+ params(
105
+ refusal: T.nilable(Increase::WireDrawdownRequest::Refusal::OrHash)
106
+ ).void
107
+ end
108
+ attr_writer :refusal
109
+
98
110
  # The lifecycle status of the drawdown request.
99
111
  sig { returns(Increase::WireDrawdownRequest::Status::TaggedSymbol) }
100
112
  attr_accessor :status
@@ -152,6 +164,7 @@ module Increase
152
164
  end_to_end_identification: T.nilable(String),
153
165
  fulfillment_inbound_wire_transfer_id: T.nilable(String),
154
166
  idempotency_key: T.nilable(String),
167
+ refusal: T.nilable(Increase::WireDrawdownRequest::Refusal::OrHash),
155
168
  status: Increase::WireDrawdownRequest::Status::OrSymbol,
156
169
  submission:
157
170
  T.nilable(Increase::WireDrawdownRequest::Submission::OrHash),
@@ -201,6 +214,9 @@ module Increase
201
214
  # Increase and is used to ensure that a request is only processed once. Learn more
202
215
  # about [idempotency](https://increase.com/documentation/idempotency-keys).
203
216
  idempotency_key:,
217
+ # If the debtor refuses the drawdown request, this will contain supplemental
218
+ # details.
219
+ refusal:,
204
220
  # The lifecycle status of the drawdown request.
205
221
  status:,
206
222
  # After the drawdown request is submitted to Fedwire, this will contain
@@ -237,6 +253,7 @@ module Increase
237
253
  end_to_end_identification: T.nilable(String),
238
254
  fulfillment_inbound_wire_transfer_id: T.nilable(String),
239
255
  idempotency_key: T.nilable(String),
256
+ refusal: T.nilable(Increase::WireDrawdownRequest::Refusal),
240
257
  status: Increase::WireDrawdownRequest::Status::TaggedSymbol,
241
258
  submission: T.nilable(Increase::WireDrawdownRequest::Submission),
242
259
  type: Increase::WireDrawdownRequest::Type::TaggedSymbol,
@@ -408,6 +425,135 @@ module Increase
408
425
  end
409
426
  end
410
427
 
428
+ class Refusal < Increase::Internal::Type::BaseModel
429
+ OrHash =
430
+ T.type_alias do
431
+ T.any(
432
+ Increase::WireDrawdownRequest::Refusal,
433
+ Increase::Internal::AnyHash
434
+ )
435
+ end
436
+
437
+ # Additional information about the refusal provided by the debtor bank. This is
438
+ # typically present when the `refusal_reason_code` is `narrative`.
439
+ sig { returns(T.nilable(String)) }
440
+ attr_accessor :refusal_reason_additional_information
441
+
442
+ # The reason the wire drawdown request was refused as provided by the debtor bank.
443
+ sig do
444
+ returns(
445
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
446
+ )
447
+ end
448
+ attr_accessor :refusal_reason_code
449
+
450
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
451
+ # the wire drawdown request was refused.
452
+ sig { returns(Time) }
453
+ attr_accessor :refused_at
454
+
455
+ # If the debtor refuses the drawdown request, this will contain supplemental
456
+ # details.
457
+ sig do
458
+ params(
459
+ refusal_reason_additional_information: T.nilable(String),
460
+ refusal_reason_code:
461
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::OrSymbol,
462
+ refused_at: Time
463
+ ).returns(T.attached_class)
464
+ end
465
+ def self.new(
466
+ # Additional information about the refusal provided by the debtor bank. This is
467
+ # typically present when the `refusal_reason_code` is `narrative`.
468
+ refusal_reason_additional_information:,
469
+ # The reason the wire drawdown request was refused as provided by the debtor bank.
470
+ refusal_reason_code:,
471
+ # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
472
+ # the wire drawdown request was refused.
473
+ refused_at:
474
+ )
475
+ end
476
+
477
+ sig do
478
+ override.returns(
479
+ {
480
+ refusal_reason_additional_information: T.nilable(String),
481
+ refusal_reason_code:
482
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol,
483
+ refused_at: Time
484
+ }
485
+ )
486
+ end
487
+ def to_hash
488
+ end
489
+
490
+ # The reason the wire drawdown request was refused as provided by the debtor bank.
491
+ module RefusalReasonCode
492
+ extend Increase::Internal::Type::Enum
493
+
494
+ TaggedSymbol =
495
+ T.type_alias do
496
+ T.all(
497
+ Symbol,
498
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode
499
+ )
500
+ end
501
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
502
+
503
+ # The debtor's account number is invalid or missing. Corresponds to the Fedwire reason code `AC02`.
504
+ INVALID_DEBTOR_ACCOUNT_NUMBER =
505
+ T.let(
506
+ :invalid_debtor_account_number,
507
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
508
+ )
509
+
510
+ # The debtor account does not allow drawdown requests. Corresponds to the Fedwire reason code `AG01`.
511
+ TRANSACTION_FORBIDDEN =
512
+ T.let(
513
+ :transaction_forbidden,
514
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
515
+ )
516
+
517
+ # The debtor account cannot be debited for a generic reason. Corresponds to the Fedwire reason code `AG07`.
518
+ UNSUCCESSFUL_DIRECT_DEBIT =
519
+ T.let(
520
+ :unsuccessful_direct_debit,
521
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
522
+ )
523
+
524
+ # The debtor's identification is inconsistent with the debtor account number. Corresponds to the Fedwire reason code `BE01`.
525
+ INCONSISTENT_WITH_END_CUSTOMER =
526
+ T.let(
527
+ :inconsistent_with_end_customer,
528
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
529
+ )
530
+
531
+ # The reason is provided as narrative information in the additional information field. Corresponds to the Fedwire reason code `NARR`.
532
+ NARRATIVE =
533
+ T.let(
534
+ :narrative,
535
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
536
+ )
537
+
538
+ # Some other error or issue has occurred.
539
+ OTHER =
540
+ T.let(
541
+ :other,
542
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
543
+ )
544
+
545
+ sig do
546
+ override.returns(
547
+ T::Array[
548
+ Increase::WireDrawdownRequest::Refusal::RefusalReasonCode::TaggedSymbol
549
+ ]
550
+ )
551
+ end
552
+ def self.values
553
+ end
554
+ end
555
+ end
556
+
411
557
  # The lifecycle status of the drawdown request.
412
558
  module Status
413
559
  extend Increase::Internal::Type::Enum
@@ -3,7 +3,12 @@
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
  sig do
8
13
  params(
9
14
  account_id: String,
@@ -31,11 +36,16 @@ module Increase
31
36
  ).returns(Increase::ACHTransfer)
32
37
  end
33
38
  def create(
34
- # The Increase identifier for the account that will send the transfer.
39
+ # The Increase identifier for the account that will originate the transfer. For
40
+ # credit transfers (transfers with a positive `amount`), this is the account that
41
+ # funds will be sent from. For debit transfers (transfers with a negative
42
+ # `amount`), this is the account that funds will be pulled into.
35
43
  account_id:,
36
44
  # The transfer amount in USD cents. A positive amount originates a credit transfer
37
- # pushing funds to the receiving account. A negative amount originates a debit
38
- # transfer pulling funds from the receiving account.
45
+ # pushing funds from Increase to the account at the other bank. A negative amount
46
+ # originates a debit transfer pulling funds from the account at the other bank
47
+ # into Increase. Debit transfers
48
+ # [might result in a hold before funds are available](/documentation/sending-ach-debit-transfers).
39
49
  amount:,
40
50
  # A description you choose to give the transfer. This will be saved with the
41
51
  # transfer details, displayed in the dashboard, and returned by the API. If
@@ -44,9 +54,10 @@ module Increase
44
54
  # help the customer recognize the transfer. You are highly encouraged to pass
45
55
  # `individual_name` and `company_name` instead of relying on this fallback.
46
56
  statement_descriptor:,
47
- # The receiver's account number. For credit transfers (positive `amount`) this is
48
- # the account that funds will be sent to. For debit transfers (negative `amount`)
49
- # this is the account that funds will be pulled from.
57
+ # The receiver's account number. For credit transfers (transfers with a positive
58
+ # `amount`), this is the account that funds will be sent to. For debit transfers
59
+ # (transfers with a negative `amount`), this is the account that funds will be
60
+ # pulled from.
50
61
  account_number: nil,
51
62
  # Additional information passed through to the receiving bank with the transfer.
52
63
  # Most ACH transfers do not need this. Only set this if your recipient has asked
@@ -57,19 +68,24 @@ module Increase
57
68
  # batch header. This value is informational and does not affect funds movement,
58
69
  # settlement timing, or returns. Only set this if your recipient has asked for it.
59
70
  company_descriptive_date: nil,
60
- # Custom data sent in the company batch header. This value is informational and
61
- # does not affect funds movement, settlement timing, or returns. Most ACH
62
- # transfers do not need this. Only set this if your recipient has asked for it.
71
+ # Custom data sent in the company batch header, meant as metadata for the
72
+ # originator. This value is informational and does not affect funds movement,
73
+ # settlement timing, or returns. Most ACH transfers do not need this; we recommend
74
+ # storing metadata in your own application instead.
63
75
  company_discretionary_data: nil,
64
- # A short description sent in the company batch header. Most receivers do not
65
- # surface this. Only set this if your recipient has asked for a specific value or
66
- # if Nacha mandates one for your Standard Entry Class (SEC) code and use case. For
67
- # example, Prearranged Payment and Deposit (PPD) payroll credits must use
68
- # `PAYROLL`, and reversals must use `REVERSAL`.
76
+ # A short description sent in the company batch header, meant to provide the
77
+ # receiver with a reason for the transfer. Many receivers do not surface this data
78
+ # on the receiver's bank statement. Only set this if your recipient has asked for
79
+ # a specific value or if Nacha mandates one for your Standard Entry Class (SEC)
80
+ # code and use case. For example, some use cases require constants like
81
+ # `ACCTVERIFY`, `PURCHASE`, `PAYROLL`, or `REVERSAL`.
69
82
  company_entry_description: nil,
70
- # The name by which the recipient knows you, sent in the company batch header. We
71
- # recommend setting this on every transfer; if you do not, we fall back to the
72
- # `statement_descriptor`.
83
+ # The name by which the recipient knows the counterparty of this transaction. If
84
+ # you're processing payments on behalf of another party, use their name, not your
85
+ # own, so that it's more likely the recipient understands the context of the
86
+ # payment. This value is usually displayed to the recipient on their bank
87
+ # statement. We recommend setting this on every transfer; if you do not, we fall
88
+ # back to the `statement_descriptor`.
73
89
  company_name: nil,
74
90
  # The type of entity that owns the receiver's account.
75
91
  destination_account_holder: nil,
@@ -80,11 +96,15 @@ module Increase
80
96
  #
81
97
  # Defaults to `checking`.
82
98
  funding: nil,
83
- # Your internal identifier for the transfer recipient. This value is informational
84
- # and not verified by the recipient's bank. Most callers can leave this unset.
99
+ # Your internal identifier for the recipient. This value is informational and
100
+ # generally not verified by the recipient's bank. Most callers can leave this
101
+ # unset. For the specific case of person-to-person credits with the WEB standard
102
+ # entry class code, this must include the name of the payer.
85
103
  individual_id: nil,
86
- # The name of the transfer recipient. This value is informational and not verified
87
- # by the recipient's bank.
104
+ # The name of the transfer recipient. This value is informational and generally
105
+ # not verified by the recipient's bank. This value is usually displayed to the
106
+ # recipient on their bank statement. We recommend setting this on every transfer;
107
+ # if you do not, we fall back to the `statement_descriptor`.
88
108
  individual_name: nil,
89
109
  # Configuration for how the effective date of the transfer will be set. This
90
110
  # determines same-day vs future-dated settlement timing. If not set, defaults to a
@@ -8,12 +8,21 @@ module Increase
8
8
  sig do
9
9
  params(
10
10
  wire_drawdown_request_id: String,
11
+ refusal_reason_additional_information: String,
12
+ refusal_reason_code:
13
+ Increase::Simulations::WireDrawdownRequestRefuseParams::RefusalReasonCode::OrSymbol,
11
14
  request_options: Increase::RequestOptions::OrHash
12
15
  ).returns(Increase::WireDrawdownRequest)
13
16
  end
14
17
  def refuse(
15
18
  # The identifier of the Wire Drawdown Request you wish to refuse.
16
19
  wire_drawdown_request_id,
20
+ # Additional information about the refusal that the simulated refusal will have.
21
+ refusal_reason_additional_information: nil,
22
+ # The reason code that the simulated refusal will have.
23
+ #
24
+ # Defaults to `other`.
25
+ refusal_reason_code: nil,
17
26
  request_options: {}
18
27
  )
19
28
  end
@@ -137,7 +137,7 @@ module Increase
137
137
 
138
138
  def self?.encode_multipart_streaming: (
139
139
  top body
140
- ) -> [String, Enumerable[String]]
140
+ ) -> [String, (^-> Enumerable[String])]
141
141
 
142
142
  def self?.encode_content: (
143
143
  ::Hash[String, String] headers,
@@ -52,6 +52,7 @@ module Increase
52
52
  {
53
53
  action: Increase::Models::Simulations::CardDisputeActionParams::Visa::action,
54
54
  accept_chargeback: Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback,
55
+ accept_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration,
55
56
  accept_user_submission: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserSubmission,
56
57
  decline_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::DeclineUserPrearbitration,
57
58
  receive_merchant_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::ReceiveMerchantPrearbitration,
@@ -73,6 +74,12 @@ module Increase
73
74
  Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback
74
75
  ) -> Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback
75
76
 
77
+ attr_reader accept_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration?
78
+
79
+ def accept_user_prearbitration=: (
80
+ Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration
81
+ ) -> Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration
82
+
76
83
  attr_reader accept_user_submission: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserSubmission?
77
84
 
78
85
  def accept_user_submission=: (
@@ -136,6 +143,7 @@ module Increase
136
143
  def initialize: (
137
144
  action: Increase::Models::Simulations::CardDisputeActionParams::Visa::action,
138
145
  ?accept_chargeback: Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback,
146
+ ?accept_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration,
139
147
  ?accept_user_submission: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserSubmission,
140
148
  ?decline_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::DeclineUserPrearbitration,
141
149
  ?receive_merchant_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::ReceiveMerchantPrearbitration,
@@ -151,6 +159,7 @@ module Increase
151
159
  def to_hash: -> {
152
160
  action: Increase::Models::Simulations::CardDisputeActionParams::Visa::action,
153
161
  accept_chargeback: Increase::Simulations::CardDisputeActionParams::Visa::AcceptChargeback,
162
+ accept_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserPrearbitration,
154
163
  accept_user_submission: Increase::Simulations::CardDisputeActionParams::Visa::AcceptUserSubmission,
155
164
  decline_user_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::DeclineUserPrearbitration,
156
165
  receive_merchant_prearbitration: Increase::Simulations::CardDisputeActionParams::Visa::ReceiveMerchantPrearbitration,
@@ -165,6 +174,7 @@ module Increase
165
174
 
166
175
  type action =
167
176
  :accept_chargeback
177
+ | :accept_user_prearbitration
168
178
  | :accept_user_submission
169
179
  | :decline_user_prearbitration
170
180
  | :receive_merchant_prearbitration
@@ -182,19 +192,22 @@ module Increase
182
192
  # Simulate the merchant accepting the chargeback. This will move the dispute to a `won` state.
183
193
  ACCEPT_CHARGEBACK: :accept_chargeback
184
194
 
195
+ # Simulate the merchant accepting the user's pre-arbitration. This will move the dispute to a `won` state.
196
+ ACCEPT_USER_PREARBITRATION: :accept_user_prearbitration
197
+
185
198
  # Accept the user's submission and transmit it to the network. This will move the dispute to a `pending_response` state.
186
199
  ACCEPT_USER_SUBMISSION: :accept_user_submission
187
200
 
188
201
  # Simulate the merchant declining the user's pre-arbitration. This will move the dispute to a `lost` state.
189
202
  DECLINE_USER_PREARBITRATION: :decline_user_prearbitration
190
203
 
191
- # Simulate the merchant issuing pre-arbitration. This will move the dispute to a `user_submission_required` state.
204
+ # 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.
192
205
  RECEIVE_MERCHANT_PREARBITRATION: :receive_merchant_prearbitration
193
206
 
194
207
  # Simulate the dispute being rejected before it is submitted to the network. This will move the dispute to a `rejected` state.
195
208
  REJECT: :reject
196
209
 
197
- # Simulate the merchant re-presenting the dispute. This will move the dispute to a `user_submission_required` state.
210
+ # 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.
198
211
  REPRESENT: :represent
199
212
 
200
213
  # Simulate further information being requested from the user. This will move the dispute to a `user_submission_required` state.
@@ -209,7 +222,7 @@ module Increase
209
222
  # Simulate the user timing out responding to a merchant re-presentment. This will move the dispute to a `lost` state.
210
223
  TIME_OUT_REPRESENTMENT: :time_out_representment
211
224
 
212
- # Simulate the merchant timing out responding to a user pre-arbitration. This will move the dispute to a `win` state.
225
+ # Simulate the merchant timing out responding to a user pre-arbitration. This will move the dispute to a `won` state.
213
226
  TIME_OUT_USER_PREARBITRATION: :time_out_user_prearbitration
214
227
 
215
228
  def self?.values: -> ::Array[Increase::Models::Simulations::CardDisputeActionParams::Visa::action]
@@ -223,6 +236,14 @@ module Increase
223
236
  def to_hash: -> { }
224
237
  end
225
238
 
239
+ type accept_user_prearbitration = { }
240
+
241
+ class AcceptUserPrearbitration < Increase::Internal::Type::BaseModel
242
+ def initialize: -> void
243
+
244
+ def to_hash: -> { }
245
+ end
246
+
226
247
  type accept_user_submission = { }
227
248
 
228
249
  class AcceptUserSubmission < Increase::Internal::Type::BaseModel
@@ -2,7 +2,11 @@ module Increase
2
2
  module Models
3
3
  module Simulations
4
4
  type wire_drawdown_request_refuse_params =
5
- { wire_drawdown_request_id: String }
5
+ {
6
+ wire_drawdown_request_id: String,
7
+ refusal_reason_additional_information: String,
8
+ refusal_reason_code: Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code
9
+ }
6
10
  & Increase::Internal::Type::request_parameters
7
11
 
8
12
  class WireDrawdownRequestRefuseParams < Increase::Internal::Type::BaseModel
@@ -11,15 +15,61 @@ module Increase
11
15
 
12
16
  attr_accessor wire_drawdown_request_id: String
13
17
 
18
+ attr_reader refusal_reason_additional_information: String?
19
+
20
+ def refusal_reason_additional_information=: (String) -> String
21
+
22
+ attr_reader refusal_reason_code: Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code?
23
+
24
+ def refusal_reason_code=: (
25
+ Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code
26
+ ) -> Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code
27
+
14
28
  def initialize: (
15
29
  wire_drawdown_request_id: String,
30
+ ?refusal_reason_additional_information: String,
31
+ ?refusal_reason_code: Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code,
16
32
  ?request_options: Increase::request_opts
17
33
  ) -> void
18
34
 
19
35
  def to_hash: -> {
20
36
  wire_drawdown_request_id: String,
37
+ refusal_reason_additional_information: String,
38
+ refusal_reason_code: Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code,
21
39
  request_options: Increase::RequestOptions
22
40
  }
41
+
42
+ type refusal_reason_code =
43
+ :invalid_debtor_account_number
44
+ | :transaction_forbidden
45
+ | :unsuccessful_direct_debit
46
+ | :inconsistent_with_end_customer
47
+ | :narrative
48
+ | :other
49
+
50
+ module RefusalReasonCode
51
+ extend Increase::Internal::Type::Enum
52
+
53
+ # The debtor's account number is invalid or missing. Corresponds to the Fedwire reason code `AC02`.
54
+ INVALID_DEBTOR_ACCOUNT_NUMBER: :invalid_debtor_account_number
55
+
56
+ # The debtor account does not allow drawdown requests. Corresponds to the Fedwire reason code `AG01`.
57
+ TRANSACTION_FORBIDDEN: :transaction_forbidden
58
+
59
+ # The debtor account cannot be debited for a generic reason. Corresponds to the Fedwire reason code `AG07`.
60
+ UNSUCCESSFUL_DIRECT_DEBIT: :unsuccessful_direct_debit
61
+
62
+ # The debtor's identification is inconsistent with the debtor account number. Corresponds to the Fedwire reason code `BE01`.
63
+ INCONSISTENT_WITH_END_CUSTOMER: :inconsistent_with_end_customer
64
+
65
+ # The reason is provided as narrative information in the additional information field. Corresponds to the Fedwire reason code `NARR`.
66
+ NARRATIVE: :narrative
67
+
68
+ # Some other error or issue has occurred.
69
+ OTHER: :other
70
+
71
+ def self?.values: -> ::Array[Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code]
72
+ end
23
73
  end
24
74
  end
25
75
  end
@@ -18,6 +18,7 @@ module Increase
18
18
  end_to_end_identification: String?,
19
19
  fulfillment_inbound_wire_transfer_id: String?,
20
20
  idempotency_key: String?,
21
+ refusal: Increase::WireDrawdownRequest::Refusal?,
21
22
  status: Increase::Models::WireDrawdownRequest::status,
22
23
  submission: Increase::WireDrawdownRequest::Submission?,
23
24
  type: Increase::Models::WireDrawdownRequest::type_,
@@ -58,6 +59,8 @@ module Increase
58
59
 
59
60
  attr_accessor idempotency_key: String?
60
61
 
62
+ attr_accessor refusal: Increase::WireDrawdownRequest::Refusal?
63
+
61
64
  attr_accessor status: Increase::Models::WireDrawdownRequest::status
62
65
 
63
66
  attr_accessor submission: Increase::WireDrawdownRequest::Submission?
@@ -85,6 +88,7 @@ module Increase
85
88
  end_to_end_identification: String?,
86
89
  fulfillment_inbound_wire_transfer_id: String?,
87
90
  idempotency_key: String?,
91
+ refusal: Increase::WireDrawdownRequest::Refusal?,
88
92
  status: Increase::Models::WireDrawdownRequest::status,
89
93
  submission: Increase::WireDrawdownRequest::Submission?,
90
94
  type: Increase::Models::WireDrawdownRequest::type_,
@@ -109,6 +113,7 @@ module Increase
109
113
  end_to_end_identification: String?,
110
114
  fulfillment_inbound_wire_transfer_id: String?,
111
115
  idempotency_key: String?,
116
+ refusal: Increase::WireDrawdownRequest::Refusal?,
112
117
  status: Increase::Models::WireDrawdownRequest::status,
113
118
  submission: Increase::WireDrawdownRequest::Submission?,
114
119
  type: Increase::Models::WireDrawdownRequest::type_,
@@ -200,6 +205,65 @@ module Increase
200
205
  }
201
206
  end
202
207
 
208
+ type refusal =
209
+ {
210
+ refusal_reason_additional_information: String?,
211
+ refusal_reason_code: Increase::Models::WireDrawdownRequest::Refusal::refusal_reason_code,
212
+ refused_at: Time
213
+ }
214
+
215
+ class Refusal < Increase::Internal::Type::BaseModel
216
+ attr_accessor refusal_reason_additional_information: String?
217
+
218
+ attr_accessor refusal_reason_code: Increase::Models::WireDrawdownRequest::Refusal::refusal_reason_code
219
+
220
+ attr_accessor refused_at: Time
221
+
222
+ def initialize: (
223
+ refusal_reason_additional_information: String?,
224
+ refusal_reason_code: Increase::Models::WireDrawdownRequest::Refusal::refusal_reason_code,
225
+ refused_at: Time
226
+ ) -> void
227
+
228
+ def to_hash: -> {
229
+ refusal_reason_additional_information: String?,
230
+ refusal_reason_code: Increase::Models::WireDrawdownRequest::Refusal::refusal_reason_code,
231
+ refused_at: Time
232
+ }
233
+
234
+ type refusal_reason_code =
235
+ :invalid_debtor_account_number
236
+ | :transaction_forbidden
237
+ | :unsuccessful_direct_debit
238
+ | :inconsistent_with_end_customer
239
+ | :narrative
240
+ | :other
241
+
242
+ module RefusalReasonCode
243
+ extend Increase::Internal::Type::Enum
244
+
245
+ # The debtor's account number is invalid or missing. Corresponds to the Fedwire reason code `AC02`.
246
+ INVALID_DEBTOR_ACCOUNT_NUMBER: :invalid_debtor_account_number
247
+
248
+ # The debtor account does not allow drawdown requests. Corresponds to the Fedwire reason code `AG01`.
249
+ TRANSACTION_FORBIDDEN: :transaction_forbidden
250
+
251
+ # The debtor account cannot be debited for a generic reason. Corresponds to the Fedwire reason code `AG07`.
252
+ UNSUCCESSFUL_DIRECT_DEBIT: :unsuccessful_direct_debit
253
+
254
+ # The debtor's identification is inconsistent with the debtor account number. Corresponds to the Fedwire reason code `BE01`.
255
+ INCONSISTENT_WITH_END_CUSTOMER: :inconsistent_with_end_customer
256
+
257
+ # The reason is provided as narrative information in the additional information field. Corresponds to the Fedwire reason code `NARR`.
258
+ NARRATIVE: :narrative
259
+
260
+ # Some other error or issue has occurred.
261
+ OTHER: :other
262
+
263
+ def self?.values: -> ::Array[Increase::Models::WireDrawdownRequest::Refusal::refusal_reason_code]
264
+ end
265
+ end
266
+
203
267
  type status =
204
268
  :pending_submission | :pending_response | :fulfilled | :refused
205
269
 
@@ -4,6 +4,8 @@ module Increase
4
4
  class WireDrawdownRequests
5
5
  def refuse: (
6
6
  String wire_drawdown_request_id,
7
+ ?refusal_reason_additional_information: String,
8
+ ?refusal_reason_code: Increase::Models::Simulations::WireDrawdownRequestRefuseParams::refusal_reason_code,
7
9
  ?request_options: Increase::request_opts
8
10
  ) -> Increase::WireDrawdownRequest
9
11
 
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: increase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.361.0
4
+ version: 1.362.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Increase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-27 00:00:00.000000000 Z
11
+ date: 2026-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: cgi
15
29
  requirement: !ruby/object:Gem::Requirement