increase 1.113.0 → 1.115.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +1 -1
- data/lib/increase/client.rb +8 -0
- data/lib/increase/models/card_payment.rb +160 -4
- data/lib/increase/models/declined_transaction.rb +40 -1
- data/lib/increase/models/fednow_transfer.rb +516 -0
- data/lib/increase/models/fednow_transfer_approve_params.rb +14 -0
- data/lib/increase/models/fednow_transfer_cancel_params.rb +14 -0
- data/lib/increase/models/fednow_transfer_create_params.rb +188 -0
- data/lib/increase/models/fednow_transfer_list_params.rb +170 -0
- data/lib/increase/models/fednow_transfer_retrieve_params.rb +14 -0
- data/lib/increase/models/inbound_fednow_transfer.rb +278 -0
- data/lib/increase/models/inbound_fednow_transfer_list_params.rb +100 -0
- data/lib/increase/models/inbound_fednow_transfer_retrieve_params.rb +14 -0
- data/lib/increase/models/pending_transaction.rb +42 -1
- data/lib/increase/models/real_time_decision.rb +40 -1
- data/lib/increase/models/simulations/inbound_fednow_transfer_create_params.rb +64 -0
- data/lib/increase/models/transaction.rb +40 -1
- data/lib/increase/models.rb +18 -0
- data/lib/increase/resources/fednow_transfers.rb +159 -0
- data/lib/increase/resources/inbound_fednow_transfers.rb +68 -0
- data/lib/increase/resources/simulations/inbound_fednow_transfers.rb +49 -0
- data/lib/increase/resources/simulations.rb +4 -0
- data/lib/increase/version.rb +1 -1
- data/lib/increase.rb +13 -0
- data/rbi/increase/client.rbi +6 -0
- data/rbi/increase/models/card_payment.rbi +288 -0
- data/rbi/increase/models/declined_transaction.rbi +72 -0
- data/rbi/increase/models/fednow_transfer.rbi +877 -0
- data/rbi/increase/models/fednow_transfer_approve_params.rbi +30 -0
- data/rbi/increase/models/fednow_transfer_cancel_params.rbi +30 -0
- data/rbi/increase/models/fednow_transfer_create_params.rbi +289 -0
- data/rbi/increase/models/fednow_transfer_list_params.rbi +334 -0
- data/rbi/increase/models/fednow_transfer_retrieve_params.rbi +30 -0
- data/rbi/increase/models/inbound_fednow_transfer.rbi +444 -0
- data/rbi/increase/models/inbound_fednow_transfer_list_params.rbi +177 -0
- data/rbi/increase/models/inbound_fednow_transfer_retrieve_params.rbi +30 -0
- data/rbi/increase/models/pending_transaction.rbi +72 -0
- data/rbi/increase/models/real_time_decision.rbi +72 -0
- data/rbi/increase/models/simulations/inbound_fednow_transfer_create_params.rbi +100 -0
- data/rbi/increase/models/transaction.rbi +72 -0
- data/rbi/increase/models.rbi +20 -0
- data/rbi/increase/resources/fednow_transfers.rbi +138 -0
- data/rbi/increase/resources/inbound_fednow_transfers.rbi +54 -0
- data/rbi/increase/resources/simulations/inbound_fednow_transfers.rbi +44 -0
- data/rbi/increase/resources/simulations.rbi +3 -0
- data/sig/increase/client.rbs +4 -0
- data/sig/increase/models/card_payment.rbs +68 -0
- data/sig/increase/models/declined_transaction.rbs +17 -0
- data/sig/increase/models/fednow_transfer.rbs +404 -0
- data/sig/increase/models/fednow_transfer_approve_params.rbs +15 -0
- data/sig/increase/models/fednow_transfer_cancel_params.rbs +15 -0
- data/sig/increase/models/fednow_transfer_create_params.rbs +155 -0
- data/sig/increase/models/fednow_transfer_list_params.rbs +174 -0
- data/sig/increase/models/fednow_transfer_retrieve_params.rbs +15 -0
- data/sig/increase/models/inbound_fednow_transfer.rbs +223 -0
- data/sig/increase/models/inbound_fednow_transfer_list_params.rbs +93 -0
- data/sig/increase/models/inbound_fednow_transfer_retrieve_params.rbs +15 -0
- data/sig/increase/models/pending_transaction.rbs +17 -0
- data/sig/increase/models/real_time_decision.rbs +17 -0
- data/sig/increase/models/simulations/inbound_fednow_transfer_create_params.rbs +61 -0
- data/sig/increase/models/transaction.rbs +17 -0
- data/sig/increase/models.rbs +18 -0
- data/sig/increase/resources/fednow_transfers.rbs +49 -0
- data/sig/increase/resources/inbound_fednow_transfers.rbs +21 -0
- data/sig/increase/resources/simulations/inbound_fednow_transfers.rbs +19 -0
- data/sig/increase/resources/simulations.rbs +2 -0
- metadata +41 -2
| @@ -0,0 +1,877 @@ | |
| 1 | 
            +
            # typed: strong
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Increase
         | 
| 4 | 
            +
              module Models
         | 
| 5 | 
            +
                class FednowTransfer < Increase::Internal::Type::BaseModel
         | 
| 6 | 
            +
                  OrHash =
         | 
| 7 | 
            +
                    T.type_alias do
         | 
| 8 | 
            +
                      T.any(Increase::FednowTransfer, Increase::Internal::AnyHash)
         | 
| 9 | 
            +
                    end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  # The FedNow Transfer's identifier.
         | 
| 12 | 
            +
                  sig { returns(String) }
         | 
| 13 | 
            +
                  attr_accessor :id
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                  # The Account from which the transfer was sent.
         | 
| 16 | 
            +
                  sig { returns(String) }
         | 
| 17 | 
            +
                  attr_accessor :account_id
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  # The destination account number.
         | 
| 20 | 
            +
                  sig { returns(String) }
         | 
| 21 | 
            +
                  attr_accessor :account_number
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  # If the transfer is acknowledged by the recipient bank, this will contain
         | 
| 24 | 
            +
                  # supplemental details.
         | 
| 25 | 
            +
                  sig { returns(T.nilable(Increase::FednowTransfer::Acknowledgement)) }
         | 
| 26 | 
            +
                  attr_reader :acknowledgement
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  sig do
         | 
| 29 | 
            +
                    params(
         | 
| 30 | 
            +
                      acknowledgement:
         | 
| 31 | 
            +
                        T.nilable(Increase::FednowTransfer::Acknowledgement::OrHash)
         | 
| 32 | 
            +
                    ).void
         | 
| 33 | 
            +
                  end
         | 
| 34 | 
            +
                  attr_writer :acknowledgement
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  # The transfer amount in USD cents.
         | 
| 37 | 
            +
                  sig { returns(Integer) }
         | 
| 38 | 
            +
                  attr_accessor :amount
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                  # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
         | 
| 41 | 
            +
                  # the transfer was created.
         | 
| 42 | 
            +
                  sig { returns(Time) }
         | 
| 43 | 
            +
                  attr_accessor :created_at
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                  # What object created the transfer, either via the API or the dashboard.
         | 
| 46 | 
            +
                  sig { returns(T.nilable(Increase::FednowTransfer::CreatedBy)) }
         | 
| 47 | 
            +
                  attr_reader :created_by
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                  sig do
         | 
| 50 | 
            +
                    params(
         | 
| 51 | 
            +
                      created_by: T.nilable(Increase::FednowTransfer::CreatedBy::OrHash)
         | 
| 52 | 
            +
                    ).void
         | 
| 53 | 
            +
                  end
         | 
| 54 | 
            +
                  attr_writer :created_by
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  # The name of the transfer's recipient. This is set by the sender when creating
         | 
| 57 | 
            +
                  # the transfer.
         | 
| 58 | 
            +
                  sig { returns(String) }
         | 
| 59 | 
            +
                  attr_accessor :creditor_name
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
         | 
| 62 | 
            +
                  # currency. For FedNow transfers this is always equal to `USD`.
         | 
| 63 | 
            +
                  sig { returns(Increase::FednowTransfer::Currency::TaggedSymbol) }
         | 
| 64 | 
            +
                  attr_accessor :currency
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                  # The name of the transfer's sender. If not provided, defaults to the name of the
         | 
| 67 | 
            +
                  # account's entity.
         | 
| 68 | 
            +
                  sig { returns(String) }
         | 
| 69 | 
            +
                  attr_accessor :debtor_name
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                  # The identifier of the External Account the transfer was made to, if any.
         | 
| 72 | 
            +
                  sig { returns(T.nilable(String)) }
         | 
| 73 | 
            +
                  attr_accessor :external_account_id
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  # The idempotency key you chose for this object. This value is unique across
         | 
| 76 | 
            +
                  # Increase and is used to ensure that a request is only processed once. Learn more
         | 
| 77 | 
            +
                  # about [idempotency](https://increase.com/documentation/idempotency-keys).
         | 
| 78 | 
            +
                  sig { returns(T.nilable(String)) }
         | 
| 79 | 
            +
                  attr_accessor :idempotency_key
         | 
| 80 | 
            +
             | 
| 81 | 
            +
                  # The ID for the pending transaction representing the transfer.
         | 
| 82 | 
            +
                  sig { returns(T.nilable(String)) }
         | 
| 83 | 
            +
                  attr_accessor :pending_transaction_id
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                  # If the transfer is rejected by FedNow or the destination financial institution,
         | 
| 86 | 
            +
                  # this will contain supplemental details.
         | 
| 87 | 
            +
                  sig { returns(T.nilable(Increase::FednowTransfer::Rejection)) }
         | 
| 88 | 
            +
                  attr_reader :rejection
         | 
| 89 | 
            +
             | 
| 90 | 
            +
                  sig do
         | 
| 91 | 
            +
                    params(
         | 
| 92 | 
            +
                      rejection: T.nilable(Increase::FednowTransfer::Rejection::OrHash)
         | 
| 93 | 
            +
                    ).void
         | 
| 94 | 
            +
                  end
         | 
| 95 | 
            +
                  attr_writer :rejection
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                  # The destination American Bankers' Association (ABA) Routing Transit Number
         | 
| 98 | 
            +
                  # (RTN).
         | 
| 99 | 
            +
                  sig { returns(String) }
         | 
| 100 | 
            +
                  attr_accessor :routing_number
         | 
| 101 | 
            +
             | 
| 102 | 
            +
                  # The Account Number the recipient will see as having sent the transfer.
         | 
| 103 | 
            +
                  sig { returns(String) }
         | 
| 104 | 
            +
                  attr_accessor :source_account_number_id
         | 
| 105 | 
            +
             | 
| 106 | 
            +
                  # The lifecycle status of the transfer.
         | 
| 107 | 
            +
                  sig { returns(Increase::FednowTransfer::Status::TaggedSymbol) }
         | 
| 108 | 
            +
                  attr_accessor :status
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                  # After the transfer is submitted to FedNow, this will contain supplemental
         | 
| 111 | 
            +
                  # details.
         | 
| 112 | 
            +
                  sig { returns(T.nilable(Increase::FednowTransfer::Submission)) }
         | 
| 113 | 
            +
                  attr_reader :submission
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                  sig do
         | 
| 116 | 
            +
                    params(
         | 
| 117 | 
            +
                      submission: T.nilable(Increase::FednowTransfer::Submission::OrHash)
         | 
| 118 | 
            +
                    ).void
         | 
| 119 | 
            +
                  end
         | 
| 120 | 
            +
                  attr_writer :submission
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                  # The Transaction funding the transfer once it is complete.
         | 
| 123 | 
            +
                  sig { returns(T.nilable(String)) }
         | 
| 124 | 
            +
                  attr_accessor :transaction_id
         | 
| 125 | 
            +
             | 
| 126 | 
            +
                  # A constant representing the object's type. For this resource it will always be
         | 
| 127 | 
            +
                  # `fednow_transfer`.
         | 
| 128 | 
            +
                  sig { returns(Increase::FednowTransfer::Type::TaggedSymbol) }
         | 
| 129 | 
            +
                  attr_accessor :type
         | 
| 130 | 
            +
             | 
| 131 | 
            +
                  # The Unique End-to-end Transaction Reference
         | 
| 132 | 
            +
                  # ([UETR](https://www.swift.com/payments/what-unique-end-end-transaction-reference-uetr))
         | 
| 133 | 
            +
                  # of the transfer.
         | 
| 134 | 
            +
                  sig { returns(String) }
         | 
| 135 | 
            +
                  attr_accessor :unique_end_to_end_transaction_reference
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                  # Unstructured information that will show on the recipient's bank statement.
         | 
| 138 | 
            +
                  sig { returns(String) }
         | 
| 139 | 
            +
                  attr_accessor :unstructured_remittance_information
         | 
| 140 | 
            +
             | 
| 141 | 
            +
                  # FedNow transfers move funds, within seconds, between your Increase account and
         | 
| 142 | 
            +
                  # any other account supporting FedNow.
         | 
| 143 | 
            +
                  sig do
         | 
| 144 | 
            +
                    params(
         | 
| 145 | 
            +
                      id: String,
         | 
| 146 | 
            +
                      account_id: String,
         | 
| 147 | 
            +
                      account_number: String,
         | 
| 148 | 
            +
                      acknowledgement:
         | 
| 149 | 
            +
                        T.nilable(Increase::FednowTransfer::Acknowledgement::OrHash),
         | 
| 150 | 
            +
                      amount: Integer,
         | 
| 151 | 
            +
                      created_at: Time,
         | 
| 152 | 
            +
                      created_by: T.nilable(Increase::FednowTransfer::CreatedBy::OrHash),
         | 
| 153 | 
            +
                      creditor_name: String,
         | 
| 154 | 
            +
                      currency: Increase::FednowTransfer::Currency::OrSymbol,
         | 
| 155 | 
            +
                      debtor_name: String,
         | 
| 156 | 
            +
                      external_account_id: T.nilable(String),
         | 
| 157 | 
            +
                      idempotency_key: T.nilable(String),
         | 
| 158 | 
            +
                      pending_transaction_id: T.nilable(String),
         | 
| 159 | 
            +
                      rejection: T.nilable(Increase::FednowTransfer::Rejection::OrHash),
         | 
| 160 | 
            +
                      routing_number: String,
         | 
| 161 | 
            +
                      source_account_number_id: String,
         | 
| 162 | 
            +
                      status: Increase::FednowTransfer::Status::OrSymbol,
         | 
| 163 | 
            +
                      submission: T.nilable(Increase::FednowTransfer::Submission::OrHash),
         | 
| 164 | 
            +
                      transaction_id: T.nilable(String),
         | 
| 165 | 
            +
                      type: Increase::FednowTransfer::Type::OrSymbol,
         | 
| 166 | 
            +
                      unique_end_to_end_transaction_reference: String,
         | 
| 167 | 
            +
                      unstructured_remittance_information: String
         | 
| 168 | 
            +
                    ).returns(T.attached_class)
         | 
| 169 | 
            +
                  end
         | 
| 170 | 
            +
                  def self.new(
         | 
| 171 | 
            +
                    # The FedNow Transfer's identifier.
         | 
| 172 | 
            +
                    id:,
         | 
| 173 | 
            +
                    # The Account from which the transfer was sent.
         | 
| 174 | 
            +
                    account_id:,
         | 
| 175 | 
            +
                    # The destination account number.
         | 
| 176 | 
            +
                    account_number:,
         | 
| 177 | 
            +
                    # If the transfer is acknowledged by the recipient bank, this will contain
         | 
| 178 | 
            +
                    # supplemental details.
         | 
| 179 | 
            +
                    acknowledgement:,
         | 
| 180 | 
            +
                    # The transfer amount in USD cents.
         | 
| 181 | 
            +
                    amount:,
         | 
| 182 | 
            +
                    # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
         | 
| 183 | 
            +
                    # the transfer was created.
         | 
| 184 | 
            +
                    created_at:,
         | 
| 185 | 
            +
                    # What object created the transfer, either via the API or the dashboard.
         | 
| 186 | 
            +
                    created_by:,
         | 
| 187 | 
            +
                    # The name of the transfer's recipient. This is set by the sender when creating
         | 
| 188 | 
            +
                    # the transfer.
         | 
| 189 | 
            +
                    creditor_name:,
         | 
| 190 | 
            +
                    # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
         | 
| 191 | 
            +
                    # currency. For FedNow transfers this is always equal to `USD`.
         | 
| 192 | 
            +
                    currency:,
         | 
| 193 | 
            +
                    # The name of the transfer's sender. If not provided, defaults to the name of the
         | 
| 194 | 
            +
                    # account's entity.
         | 
| 195 | 
            +
                    debtor_name:,
         | 
| 196 | 
            +
                    # The identifier of the External Account the transfer was made to, if any.
         | 
| 197 | 
            +
                    external_account_id:,
         | 
| 198 | 
            +
                    # The idempotency key you chose for this object. This value is unique across
         | 
| 199 | 
            +
                    # Increase and is used to ensure that a request is only processed once. Learn more
         | 
| 200 | 
            +
                    # about [idempotency](https://increase.com/documentation/idempotency-keys).
         | 
| 201 | 
            +
                    idempotency_key:,
         | 
| 202 | 
            +
                    # The ID for the pending transaction representing the transfer.
         | 
| 203 | 
            +
                    pending_transaction_id:,
         | 
| 204 | 
            +
                    # If the transfer is rejected by FedNow or the destination financial institution,
         | 
| 205 | 
            +
                    # this will contain supplemental details.
         | 
| 206 | 
            +
                    rejection:,
         | 
| 207 | 
            +
                    # The destination American Bankers' Association (ABA) Routing Transit Number
         | 
| 208 | 
            +
                    # (RTN).
         | 
| 209 | 
            +
                    routing_number:,
         | 
| 210 | 
            +
                    # The Account Number the recipient will see as having sent the transfer.
         | 
| 211 | 
            +
                    source_account_number_id:,
         | 
| 212 | 
            +
                    # The lifecycle status of the transfer.
         | 
| 213 | 
            +
                    status:,
         | 
| 214 | 
            +
                    # After the transfer is submitted to FedNow, this will contain supplemental
         | 
| 215 | 
            +
                    # details.
         | 
| 216 | 
            +
                    submission:,
         | 
| 217 | 
            +
                    # The Transaction funding the transfer once it is complete.
         | 
| 218 | 
            +
                    transaction_id:,
         | 
| 219 | 
            +
                    # A constant representing the object's type. For this resource it will always be
         | 
| 220 | 
            +
                    # `fednow_transfer`.
         | 
| 221 | 
            +
                    type:,
         | 
| 222 | 
            +
                    # The Unique End-to-end Transaction Reference
         | 
| 223 | 
            +
                    # ([UETR](https://www.swift.com/payments/what-unique-end-end-transaction-reference-uetr))
         | 
| 224 | 
            +
                    # of the transfer.
         | 
| 225 | 
            +
                    unique_end_to_end_transaction_reference:,
         | 
| 226 | 
            +
                    # Unstructured information that will show on the recipient's bank statement.
         | 
| 227 | 
            +
                    unstructured_remittance_information:
         | 
| 228 | 
            +
                  )
         | 
| 229 | 
            +
                  end
         | 
| 230 | 
            +
             | 
| 231 | 
            +
                  sig do
         | 
| 232 | 
            +
                    override.returns(
         | 
| 233 | 
            +
                      {
         | 
| 234 | 
            +
                        id: String,
         | 
| 235 | 
            +
                        account_id: String,
         | 
| 236 | 
            +
                        account_number: String,
         | 
| 237 | 
            +
                        acknowledgement:
         | 
| 238 | 
            +
                          T.nilable(Increase::FednowTransfer::Acknowledgement),
         | 
| 239 | 
            +
                        amount: Integer,
         | 
| 240 | 
            +
                        created_at: Time,
         | 
| 241 | 
            +
                        created_by: T.nilable(Increase::FednowTransfer::CreatedBy),
         | 
| 242 | 
            +
                        creditor_name: String,
         | 
| 243 | 
            +
                        currency: Increase::FednowTransfer::Currency::TaggedSymbol,
         | 
| 244 | 
            +
                        debtor_name: String,
         | 
| 245 | 
            +
                        external_account_id: T.nilable(String),
         | 
| 246 | 
            +
                        idempotency_key: T.nilable(String),
         | 
| 247 | 
            +
                        pending_transaction_id: T.nilable(String),
         | 
| 248 | 
            +
                        rejection: T.nilable(Increase::FednowTransfer::Rejection),
         | 
| 249 | 
            +
                        routing_number: String,
         | 
| 250 | 
            +
                        source_account_number_id: String,
         | 
| 251 | 
            +
                        status: Increase::FednowTransfer::Status::TaggedSymbol,
         | 
| 252 | 
            +
                        submission: T.nilable(Increase::FednowTransfer::Submission),
         | 
| 253 | 
            +
                        transaction_id: T.nilable(String),
         | 
| 254 | 
            +
                        type: Increase::FednowTransfer::Type::TaggedSymbol,
         | 
| 255 | 
            +
                        unique_end_to_end_transaction_reference: String,
         | 
| 256 | 
            +
                        unstructured_remittance_information: String
         | 
| 257 | 
            +
                      }
         | 
| 258 | 
            +
                    )
         | 
| 259 | 
            +
                  end
         | 
| 260 | 
            +
                  def to_hash
         | 
| 261 | 
            +
                  end
         | 
| 262 | 
            +
             | 
| 263 | 
            +
                  class Acknowledgement < Increase::Internal::Type::BaseModel
         | 
| 264 | 
            +
                    OrHash =
         | 
| 265 | 
            +
                      T.type_alias do
         | 
| 266 | 
            +
                        T.any(
         | 
| 267 | 
            +
                          Increase::FednowTransfer::Acknowledgement,
         | 
| 268 | 
            +
                          Increase::Internal::AnyHash
         | 
| 269 | 
            +
                        )
         | 
| 270 | 
            +
                      end
         | 
| 271 | 
            +
             | 
| 272 | 
            +
                    # When the transfer was acknowledged.
         | 
| 273 | 
            +
                    sig { returns(Time) }
         | 
| 274 | 
            +
                    attr_accessor :acknowledged_at
         | 
| 275 | 
            +
             | 
| 276 | 
            +
                    # If the transfer is acknowledged by the recipient bank, this will contain
         | 
| 277 | 
            +
                    # supplemental details.
         | 
| 278 | 
            +
                    sig { params(acknowledged_at: Time).returns(T.attached_class) }
         | 
| 279 | 
            +
                    def self.new(
         | 
| 280 | 
            +
                      # When the transfer was acknowledged.
         | 
| 281 | 
            +
                      acknowledged_at:
         | 
| 282 | 
            +
                    )
         | 
| 283 | 
            +
                    end
         | 
| 284 | 
            +
             | 
| 285 | 
            +
                    sig { override.returns({ acknowledged_at: Time }) }
         | 
| 286 | 
            +
                    def to_hash
         | 
| 287 | 
            +
                    end
         | 
| 288 | 
            +
                  end
         | 
| 289 | 
            +
             | 
| 290 | 
            +
                  class CreatedBy < Increase::Internal::Type::BaseModel
         | 
| 291 | 
            +
                    OrHash =
         | 
| 292 | 
            +
                      T.type_alias do
         | 
| 293 | 
            +
                        T.any(
         | 
| 294 | 
            +
                          Increase::FednowTransfer::CreatedBy,
         | 
| 295 | 
            +
                          Increase::Internal::AnyHash
         | 
| 296 | 
            +
                        )
         | 
| 297 | 
            +
                      end
         | 
| 298 | 
            +
             | 
| 299 | 
            +
                    # If present, details about the API key that created the transfer.
         | 
| 300 | 
            +
                    sig { returns(T.nilable(Increase::FednowTransfer::CreatedBy::APIKey)) }
         | 
| 301 | 
            +
                    attr_reader :api_key
         | 
| 302 | 
            +
             | 
| 303 | 
            +
                    sig do
         | 
| 304 | 
            +
                      params(
         | 
| 305 | 
            +
                        api_key:
         | 
| 306 | 
            +
                          T.nilable(Increase::FednowTransfer::CreatedBy::APIKey::OrHash)
         | 
| 307 | 
            +
                      ).void
         | 
| 308 | 
            +
                    end
         | 
| 309 | 
            +
                    attr_writer :api_key
         | 
| 310 | 
            +
             | 
| 311 | 
            +
                    # The type of object that created this transfer.
         | 
| 312 | 
            +
                    sig do
         | 
| 313 | 
            +
                      returns(Increase::FednowTransfer::CreatedBy::Category::TaggedSymbol)
         | 
| 314 | 
            +
                    end
         | 
| 315 | 
            +
                    attr_accessor :category
         | 
| 316 | 
            +
             | 
| 317 | 
            +
                    # If present, details about the OAuth Application that created the transfer.
         | 
| 318 | 
            +
                    sig do
         | 
| 319 | 
            +
                      returns(
         | 
| 320 | 
            +
                        T.nilable(Increase::FednowTransfer::CreatedBy::OAuthApplication)
         | 
| 321 | 
            +
                      )
         | 
| 322 | 
            +
                    end
         | 
| 323 | 
            +
                    attr_reader :oauth_application
         | 
| 324 | 
            +
             | 
| 325 | 
            +
                    sig do
         | 
| 326 | 
            +
                      params(
         | 
| 327 | 
            +
                        oauth_application:
         | 
| 328 | 
            +
                          T.nilable(
         | 
| 329 | 
            +
                            Increase::FednowTransfer::CreatedBy::OAuthApplication::OrHash
         | 
| 330 | 
            +
                          )
         | 
| 331 | 
            +
                      ).void
         | 
| 332 | 
            +
                    end
         | 
| 333 | 
            +
                    attr_writer :oauth_application
         | 
| 334 | 
            +
             | 
| 335 | 
            +
                    # If present, details about the User that created the transfer.
         | 
| 336 | 
            +
                    sig { returns(T.nilable(Increase::FednowTransfer::CreatedBy::User)) }
         | 
| 337 | 
            +
                    attr_reader :user
         | 
| 338 | 
            +
             | 
| 339 | 
            +
                    sig do
         | 
| 340 | 
            +
                      params(
         | 
| 341 | 
            +
                        user: T.nilable(Increase::FednowTransfer::CreatedBy::User::OrHash)
         | 
| 342 | 
            +
                      ).void
         | 
| 343 | 
            +
                    end
         | 
| 344 | 
            +
                    attr_writer :user
         | 
| 345 | 
            +
             | 
| 346 | 
            +
                    # What object created the transfer, either via the API or the dashboard.
         | 
| 347 | 
            +
                    sig do
         | 
| 348 | 
            +
                      params(
         | 
| 349 | 
            +
                        api_key:
         | 
| 350 | 
            +
                          T.nilable(Increase::FednowTransfer::CreatedBy::APIKey::OrHash),
         | 
| 351 | 
            +
                        category: Increase::FednowTransfer::CreatedBy::Category::OrSymbol,
         | 
| 352 | 
            +
                        oauth_application:
         | 
| 353 | 
            +
                          T.nilable(
         | 
| 354 | 
            +
                            Increase::FednowTransfer::CreatedBy::OAuthApplication::OrHash
         | 
| 355 | 
            +
                          ),
         | 
| 356 | 
            +
                        user: T.nilable(Increase::FednowTransfer::CreatedBy::User::OrHash)
         | 
| 357 | 
            +
                      ).returns(T.attached_class)
         | 
| 358 | 
            +
                    end
         | 
| 359 | 
            +
                    def self.new(
         | 
| 360 | 
            +
                      # If present, details about the API key that created the transfer.
         | 
| 361 | 
            +
                      api_key:,
         | 
| 362 | 
            +
                      # The type of object that created this transfer.
         | 
| 363 | 
            +
                      category:,
         | 
| 364 | 
            +
                      # If present, details about the OAuth Application that created the transfer.
         | 
| 365 | 
            +
                      oauth_application:,
         | 
| 366 | 
            +
                      # If present, details about the User that created the transfer.
         | 
| 367 | 
            +
                      user:
         | 
| 368 | 
            +
                    )
         | 
| 369 | 
            +
                    end
         | 
| 370 | 
            +
             | 
| 371 | 
            +
                    sig do
         | 
| 372 | 
            +
                      override.returns(
         | 
| 373 | 
            +
                        {
         | 
| 374 | 
            +
                          api_key: T.nilable(Increase::FednowTransfer::CreatedBy::APIKey),
         | 
| 375 | 
            +
                          category:
         | 
| 376 | 
            +
                            Increase::FednowTransfer::CreatedBy::Category::TaggedSymbol,
         | 
| 377 | 
            +
                          oauth_application:
         | 
| 378 | 
            +
                            T.nilable(
         | 
| 379 | 
            +
                              Increase::FednowTransfer::CreatedBy::OAuthApplication
         | 
| 380 | 
            +
                            ),
         | 
| 381 | 
            +
                          user: T.nilable(Increase::FednowTransfer::CreatedBy::User)
         | 
| 382 | 
            +
                        }
         | 
| 383 | 
            +
                      )
         | 
| 384 | 
            +
                    end
         | 
| 385 | 
            +
                    def to_hash
         | 
| 386 | 
            +
                    end
         | 
| 387 | 
            +
             | 
| 388 | 
            +
                    class APIKey < Increase::Internal::Type::BaseModel
         | 
| 389 | 
            +
                      OrHash =
         | 
| 390 | 
            +
                        T.type_alias do
         | 
| 391 | 
            +
                          T.any(
         | 
| 392 | 
            +
                            Increase::FednowTransfer::CreatedBy::APIKey,
         | 
| 393 | 
            +
                            Increase::Internal::AnyHash
         | 
| 394 | 
            +
                          )
         | 
| 395 | 
            +
                        end
         | 
| 396 | 
            +
             | 
| 397 | 
            +
                      # The description set for the API key when it was created.
         | 
| 398 | 
            +
                      sig { returns(T.nilable(String)) }
         | 
| 399 | 
            +
                      attr_accessor :description
         | 
| 400 | 
            +
             | 
| 401 | 
            +
                      # If present, details about the API key that created the transfer.
         | 
| 402 | 
            +
                      sig do
         | 
| 403 | 
            +
                        params(description: T.nilable(String)).returns(T.attached_class)
         | 
| 404 | 
            +
                      end
         | 
| 405 | 
            +
                      def self.new(
         | 
| 406 | 
            +
                        # The description set for the API key when it was created.
         | 
| 407 | 
            +
                        description:
         | 
| 408 | 
            +
                      )
         | 
| 409 | 
            +
                      end
         | 
| 410 | 
            +
             | 
| 411 | 
            +
                      sig { override.returns({ description: T.nilable(String) }) }
         | 
| 412 | 
            +
                      def to_hash
         | 
| 413 | 
            +
                      end
         | 
| 414 | 
            +
                    end
         | 
| 415 | 
            +
             | 
| 416 | 
            +
                    # The type of object that created this transfer.
         | 
| 417 | 
            +
                    module Category
         | 
| 418 | 
            +
                      extend Increase::Internal::Type::Enum
         | 
| 419 | 
            +
             | 
| 420 | 
            +
                      TaggedSymbol =
         | 
| 421 | 
            +
                        T.type_alias do
         | 
| 422 | 
            +
                          T.all(Symbol, Increase::FednowTransfer::CreatedBy::Category)
         | 
| 423 | 
            +
                        end
         | 
| 424 | 
            +
                      OrSymbol = T.type_alias { T.any(Symbol, String) }
         | 
| 425 | 
            +
             | 
| 426 | 
            +
                      # An API key. Details will be under the `api_key` object.
         | 
| 427 | 
            +
                      API_KEY =
         | 
| 428 | 
            +
                        T.let(
         | 
| 429 | 
            +
                          :api_key,
         | 
| 430 | 
            +
                          Increase::FednowTransfer::CreatedBy::Category::TaggedSymbol
         | 
| 431 | 
            +
                        )
         | 
| 432 | 
            +
             | 
| 433 | 
            +
                      # An OAuth application you connected to Increase. Details will be under the `oauth_application` object.
         | 
| 434 | 
            +
                      OAUTH_APPLICATION =
         | 
| 435 | 
            +
                        T.let(
         | 
| 436 | 
            +
                          :oauth_application,
         | 
| 437 | 
            +
                          Increase::FednowTransfer::CreatedBy::Category::TaggedSymbol
         | 
| 438 | 
            +
                        )
         | 
| 439 | 
            +
             | 
| 440 | 
            +
                      # A User in the Increase dashboard. Details will be under the `user` object.
         | 
| 441 | 
            +
                      USER =
         | 
| 442 | 
            +
                        T.let(
         | 
| 443 | 
            +
                          :user,
         | 
| 444 | 
            +
                          Increase::FednowTransfer::CreatedBy::Category::TaggedSymbol
         | 
| 445 | 
            +
                        )
         | 
| 446 | 
            +
             | 
| 447 | 
            +
                      sig do
         | 
| 448 | 
            +
                        override.returns(
         | 
| 449 | 
            +
                          T::Array[
         | 
| 450 | 
            +
                            Increase::FednowTransfer::CreatedBy::Category::TaggedSymbol
         | 
| 451 | 
            +
                          ]
         | 
| 452 | 
            +
                        )
         | 
| 453 | 
            +
                      end
         | 
| 454 | 
            +
                      def self.values
         | 
| 455 | 
            +
                      end
         | 
| 456 | 
            +
                    end
         | 
| 457 | 
            +
             | 
| 458 | 
            +
                    class OAuthApplication < Increase::Internal::Type::BaseModel
         | 
| 459 | 
            +
                      OrHash =
         | 
| 460 | 
            +
                        T.type_alias do
         | 
| 461 | 
            +
                          T.any(
         | 
| 462 | 
            +
                            Increase::FednowTransfer::CreatedBy::OAuthApplication,
         | 
| 463 | 
            +
                            Increase::Internal::AnyHash
         | 
| 464 | 
            +
                          )
         | 
| 465 | 
            +
                        end
         | 
| 466 | 
            +
             | 
| 467 | 
            +
                      # The name of the OAuth Application.
         | 
| 468 | 
            +
                      sig { returns(String) }
         | 
| 469 | 
            +
                      attr_accessor :name
         | 
| 470 | 
            +
             | 
| 471 | 
            +
                      # If present, details about the OAuth Application that created the transfer.
         | 
| 472 | 
            +
                      sig { params(name: String).returns(T.attached_class) }
         | 
| 473 | 
            +
                      def self.new(
         | 
| 474 | 
            +
                        # The name of the OAuth Application.
         | 
| 475 | 
            +
                        name:
         | 
| 476 | 
            +
                      )
         | 
| 477 | 
            +
                      end
         | 
| 478 | 
            +
             | 
| 479 | 
            +
                      sig { override.returns({ name: String }) }
         | 
| 480 | 
            +
                      def to_hash
         | 
| 481 | 
            +
                      end
         | 
| 482 | 
            +
                    end
         | 
| 483 | 
            +
             | 
| 484 | 
            +
                    class User < Increase::Internal::Type::BaseModel
         | 
| 485 | 
            +
                      OrHash =
         | 
| 486 | 
            +
                        T.type_alias do
         | 
| 487 | 
            +
                          T.any(
         | 
| 488 | 
            +
                            Increase::FednowTransfer::CreatedBy::User,
         | 
| 489 | 
            +
                            Increase::Internal::AnyHash
         | 
| 490 | 
            +
                          )
         | 
| 491 | 
            +
                        end
         | 
| 492 | 
            +
             | 
| 493 | 
            +
                      # The email address of the User.
         | 
| 494 | 
            +
                      sig { returns(String) }
         | 
| 495 | 
            +
                      attr_accessor :email
         | 
| 496 | 
            +
             | 
| 497 | 
            +
                      # If present, details about the User that created the transfer.
         | 
| 498 | 
            +
                      sig { params(email: String).returns(T.attached_class) }
         | 
| 499 | 
            +
                      def self.new(
         | 
| 500 | 
            +
                        # The email address of the User.
         | 
| 501 | 
            +
                        email:
         | 
| 502 | 
            +
                      )
         | 
| 503 | 
            +
                      end
         | 
| 504 | 
            +
             | 
| 505 | 
            +
                      sig { override.returns({ email: String }) }
         | 
| 506 | 
            +
                      def to_hash
         | 
| 507 | 
            +
                      end
         | 
| 508 | 
            +
                    end
         | 
| 509 | 
            +
                  end
         | 
| 510 | 
            +
             | 
| 511 | 
            +
                  # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's
         | 
| 512 | 
            +
                  # currency. For FedNow transfers this is always equal to `USD`.
         | 
| 513 | 
            +
                  module Currency
         | 
| 514 | 
            +
                    extend Increase::Internal::Type::Enum
         | 
| 515 | 
            +
             | 
| 516 | 
            +
                    TaggedSymbol =
         | 
| 517 | 
            +
                      T.type_alias { T.all(Symbol, Increase::FednowTransfer::Currency) }
         | 
| 518 | 
            +
                    OrSymbol = T.type_alias { T.any(Symbol, String) }
         | 
| 519 | 
            +
             | 
| 520 | 
            +
                    # Canadian Dollar (CAD)
         | 
| 521 | 
            +
                    CAD = T.let(:CAD, Increase::FednowTransfer::Currency::TaggedSymbol)
         | 
| 522 | 
            +
             | 
| 523 | 
            +
                    # Swiss Franc (CHF)
         | 
| 524 | 
            +
                    CHF = T.let(:CHF, Increase::FednowTransfer::Currency::TaggedSymbol)
         | 
| 525 | 
            +
             | 
| 526 | 
            +
                    # Euro (EUR)
         | 
| 527 | 
            +
                    EUR = T.let(:EUR, Increase::FednowTransfer::Currency::TaggedSymbol)
         | 
| 528 | 
            +
             | 
| 529 | 
            +
                    # British Pound (GBP)
         | 
| 530 | 
            +
                    GBP = T.let(:GBP, Increase::FednowTransfer::Currency::TaggedSymbol)
         | 
| 531 | 
            +
             | 
| 532 | 
            +
                    # Japanese Yen (JPY)
         | 
| 533 | 
            +
                    JPY = T.let(:JPY, Increase::FednowTransfer::Currency::TaggedSymbol)
         | 
| 534 | 
            +
             | 
| 535 | 
            +
                    # US Dollar (USD)
         | 
| 536 | 
            +
                    USD = T.let(:USD, Increase::FednowTransfer::Currency::TaggedSymbol)
         | 
| 537 | 
            +
             | 
| 538 | 
            +
                    sig do
         | 
| 539 | 
            +
                      override.returns(
         | 
| 540 | 
            +
                        T::Array[Increase::FednowTransfer::Currency::TaggedSymbol]
         | 
| 541 | 
            +
                      )
         | 
| 542 | 
            +
                    end
         | 
| 543 | 
            +
                    def self.values
         | 
| 544 | 
            +
                    end
         | 
| 545 | 
            +
                  end
         | 
| 546 | 
            +
             | 
| 547 | 
            +
                  class Rejection < Increase::Internal::Type::BaseModel
         | 
| 548 | 
            +
                    OrHash =
         | 
| 549 | 
            +
                      T.type_alias do
         | 
| 550 | 
            +
                        T.any(
         | 
| 551 | 
            +
                          Increase::FednowTransfer::Rejection,
         | 
| 552 | 
            +
                          Increase::Internal::AnyHash
         | 
| 553 | 
            +
                        )
         | 
| 554 | 
            +
                      end
         | 
| 555 | 
            +
             | 
| 556 | 
            +
                    # Additional information about the rejection provided by the recipient bank.
         | 
| 557 | 
            +
                    sig { returns(T.nilable(String)) }
         | 
| 558 | 
            +
                    attr_accessor :reject_reason_additional_information
         | 
| 559 | 
            +
             | 
| 560 | 
            +
                    # The reason the transfer was rejected as provided by the recipient bank or the
         | 
| 561 | 
            +
                    # FedNow network.
         | 
| 562 | 
            +
                    sig do
         | 
| 563 | 
            +
                      returns(
         | 
| 564 | 
            +
                        Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 565 | 
            +
                      )
         | 
| 566 | 
            +
                    end
         | 
| 567 | 
            +
                    attr_accessor :reject_reason_code
         | 
| 568 | 
            +
             | 
| 569 | 
            +
                    # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
         | 
| 570 | 
            +
                    # the transfer was rejected.
         | 
| 571 | 
            +
                    sig { returns(T.nilable(Time)) }
         | 
| 572 | 
            +
                    attr_accessor :rejected_at
         | 
| 573 | 
            +
             | 
| 574 | 
            +
                    # If the transfer is rejected by FedNow or the destination financial institution,
         | 
| 575 | 
            +
                    # this will contain supplemental details.
         | 
| 576 | 
            +
                    sig do
         | 
| 577 | 
            +
                      params(
         | 
| 578 | 
            +
                        reject_reason_additional_information: T.nilable(String),
         | 
| 579 | 
            +
                        reject_reason_code:
         | 
| 580 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::OrSymbol,
         | 
| 581 | 
            +
                        rejected_at: T.nilable(Time)
         | 
| 582 | 
            +
                      ).returns(T.attached_class)
         | 
| 583 | 
            +
                    end
         | 
| 584 | 
            +
                    def self.new(
         | 
| 585 | 
            +
                      # Additional information about the rejection provided by the recipient bank.
         | 
| 586 | 
            +
                      reject_reason_additional_information:,
         | 
| 587 | 
            +
                      # The reason the transfer was rejected as provided by the recipient bank or the
         | 
| 588 | 
            +
                      # FedNow network.
         | 
| 589 | 
            +
                      reject_reason_code:,
         | 
| 590 | 
            +
                      # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
         | 
| 591 | 
            +
                      # the transfer was rejected.
         | 
| 592 | 
            +
                      rejected_at:
         | 
| 593 | 
            +
                    )
         | 
| 594 | 
            +
                    end
         | 
| 595 | 
            +
             | 
| 596 | 
            +
                    sig do
         | 
| 597 | 
            +
                      override.returns(
         | 
| 598 | 
            +
                        {
         | 
| 599 | 
            +
                          reject_reason_additional_information: T.nilable(String),
         | 
| 600 | 
            +
                          reject_reason_code:
         | 
| 601 | 
            +
                            Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol,
         | 
| 602 | 
            +
                          rejected_at: T.nilable(Time)
         | 
| 603 | 
            +
                        }
         | 
| 604 | 
            +
                      )
         | 
| 605 | 
            +
                    end
         | 
| 606 | 
            +
                    def to_hash
         | 
| 607 | 
            +
                    end
         | 
| 608 | 
            +
             | 
| 609 | 
            +
                    # The reason the transfer was rejected as provided by the recipient bank or the
         | 
| 610 | 
            +
                    # FedNow network.
         | 
| 611 | 
            +
                    module RejectReasonCode
         | 
| 612 | 
            +
                      extend Increase::Internal::Type::Enum
         | 
| 613 | 
            +
             | 
| 614 | 
            +
                      TaggedSymbol =
         | 
| 615 | 
            +
                        T.type_alias do
         | 
| 616 | 
            +
                          T.all(
         | 
| 617 | 
            +
                            Symbol,
         | 
| 618 | 
            +
                            Increase::FednowTransfer::Rejection::RejectReasonCode
         | 
| 619 | 
            +
                          )
         | 
| 620 | 
            +
                        end
         | 
| 621 | 
            +
                      OrSymbol = T.type_alias { T.any(Symbol, String) }
         | 
| 622 | 
            +
             | 
| 623 | 
            +
                      # The destination account is closed. Corresponds to the FedNow reason code `AC04`.
         | 
| 624 | 
            +
                      ACCOUNT_CLOSED =
         | 
| 625 | 
            +
                        T.let(
         | 
| 626 | 
            +
                          :account_closed,
         | 
| 627 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 628 | 
            +
                        )
         | 
| 629 | 
            +
             | 
| 630 | 
            +
                      # The destination account is currently blocked from receiving transactions. Corresponds to the FedNow reason code `AC06`.
         | 
| 631 | 
            +
                      ACCOUNT_BLOCKED =
         | 
| 632 | 
            +
                        T.let(
         | 
| 633 | 
            +
                          :account_blocked,
         | 
| 634 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 635 | 
            +
                        )
         | 
| 636 | 
            +
             | 
| 637 | 
            +
                      # The destination account is ineligible to receive FedNow transfers. Corresponds to the FedNow reason code `AC14`.
         | 
| 638 | 
            +
                      INVALID_CREDITOR_ACCOUNT_TYPE =
         | 
| 639 | 
            +
                        T.let(
         | 
| 640 | 
            +
                          :invalid_creditor_account_type,
         | 
| 641 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 642 | 
            +
                        )
         | 
| 643 | 
            +
             | 
| 644 | 
            +
                      # The destination account does not exist. Corresponds to the FedNow reason code `AC03`.
         | 
| 645 | 
            +
                      INVALID_CREDITOR_ACCOUNT_NUMBER =
         | 
| 646 | 
            +
                        T.let(
         | 
| 647 | 
            +
                          :invalid_creditor_account_number,
         | 
| 648 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 649 | 
            +
                        )
         | 
| 650 | 
            +
             | 
| 651 | 
            +
                      # The destination routing number is invalid. Corresponds to the FedNow reason code `RC04`.
         | 
| 652 | 
            +
                      INVALID_CREDITOR_FINANCIAL_INSTITUTION_IDENTIFIER =
         | 
| 653 | 
            +
                        T.let(
         | 
| 654 | 
            +
                          :invalid_creditor_financial_institution_identifier,
         | 
| 655 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 656 | 
            +
                        )
         | 
| 657 | 
            +
             | 
| 658 | 
            +
                      # The destination account holder is deceased. Corresponds to the FedNow reason code `MD07`.
         | 
| 659 | 
            +
                      END_CUSTOMER_DECEASED =
         | 
| 660 | 
            +
                        T.let(
         | 
| 661 | 
            +
                          :end_customer_deceased,
         | 
| 662 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 663 | 
            +
                        )
         | 
| 664 | 
            +
             | 
| 665 | 
            +
                      # The reason is provided as narrative information in the additional information field. Corresponds to the FedNow reason code `NARR`.
         | 
| 666 | 
            +
                      NARRATIVE =
         | 
| 667 | 
            +
                        T.let(
         | 
| 668 | 
            +
                          :narrative,
         | 
| 669 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 670 | 
            +
                        )
         | 
| 671 | 
            +
             | 
| 672 | 
            +
                      # FedNow transfers are not allowed to the destination account. Corresponds to the FedNow reason code `AG01`.
         | 
| 673 | 
            +
                      TRANSACTION_FORBIDDEN =
         | 
| 674 | 
            +
                        T.let(
         | 
| 675 | 
            +
                          :transaction_forbidden,
         | 
| 676 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 677 | 
            +
                        )
         | 
| 678 | 
            +
             | 
| 679 | 
            +
                      # FedNow transfers are not enabled for the destination account. Corresponds to the FedNow reason code `AG03`.
         | 
| 680 | 
            +
                      TRANSACTION_TYPE_NOT_SUPPORTED =
         | 
| 681 | 
            +
                        T.let(
         | 
| 682 | 
            +
                          :transaction_type_not_supported,
         | 
| 683 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 684 | 
            +
                        )
         | 
| 685 | 
            +
             | 
| 686 | 
            +
                      # The amount is higher than the recipient is authorized to send or receive. Corresponds to the FedNow reason code `E990`.
         | 
| 687 | 
            +
                      AMOUNT_EXCEEDS_BANK_LIMITS =
         | 
| 688 | 
            +
                        T.let(
         | 
| 689 | 
            +
                          :amount_exceeds_bank_limits,
         | 
| 690 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 691 | 
            +
                        )
         | 
| 692 | 
            +
             | 
| 693 | 
            +
                      # The creditor's address is required, but missing or invalid. Corresponds to the FedNow reason code `BE04`.
         | 
| 694 | 
            +
                      INVALID_CREDITOR_ADDRESS =
         | 
| 695 | 
            +
                        T.let(
         | 
| 696 | 
            +
                          :invalid_creditor_address,
         | 
| 697 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 698 | 
            +
                        )
         | 
| 699 | 
            +
             | 
| 700 | 
            +
                      # The debtor's address is required, but missing or invalid. Corresponds to the FedNow reason code `BE07`.
         | 
| 701 | 
            +
                      INVALID_DEBTOR_ADDRESS =
         | 
| 702 | 
            +
                        T.let(
         | 
| 703 | 
            +
                          :invalid_debtor_address,
         | 
| 704 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 705 | 
            +
                        )
         | 
| 706 | 
            +
             | 
| 707 | 
            +
                      # There was a timeout processing the transfer. Corresponds to the FedNow reason code `E997`.
         | 
| 708 | 
            +
                      TIMEOUT =
         | 
| 709 | 
            +
                        T.let(
         | 
| 710 | 
            +
                          :timeout,
         | 
| 711 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 712 | 
            +
                        )
         | 
| 713 | 
            +
             | 
| 714 | 
            +
                      # The transfer was rejected due to an internal Increase issue. We have been notified.
         | 
| 715 | 
            +
                      PROCESSING_ERROR =
         | 
| 716 | 
            +
                        T.let(
         | 
| 717 | 
            +
                          :processing_error,
         | 
| 718 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 719 | 
            +
                        )
         | 
| 720 | 
            +
             | 
| 721 | 
            +
                      # Some other error or issue has occurred.
         | 
| 722 | 
            +
                      OTHER =
         | 
| 723 | 
            +
                        T.let(
         | 
| 724 | 
            +
                          :other,
         | 
| 725 | 
            +
                          Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 726 | 
            +
                        )
         | 
| 727 | 
            +
             | 
| 728 | 
            +
                      sig do
         | 
| 729 | 
            +
                        override.returns(
         | 
| 730 | 
            +
                          T::Array[
         | 
| 731 | 
            +
                            Increase::FednowTransfer::Rejection::RejectReasonCode::TaggedSymbol
         | 
| 732 | 
            +
                          ]
         | 
| 733 | 
            +
                        )
         | 
| 734 | 
            +
                      end
         | 
| 735 | 
            +
                      def self.values
         | 
| 736 | 
            +
                      end
         | 
| 737 | 
            +
                    end
         | 
| 738 | 
            +
                  end
         | 
| 739 | 
            +
             | 
| 740 | 
            +
                  # The lifecycle status of the transfer.
         | 
| 741 | 
            +
                  module Status
         | 
| 742 | 
            +
                    extend Increase::Internal::Type::Enum
         | 
| 743 | 
            +
             | 
| 744 | 
            +
                    TaggedSymbol =
         | 
| 745 | 
            +
                      T.type_alias { T.all(Symbol, Increase::FednowTransfer::Status) }
         | 
| 746 | 
            +
                    OrSymbol = T.type_alias { T.any(Symbol, String) }
         | 
| 747 | 
            +
             | 
| 748 | 
            +
                    # The transfer is pending review by Increase.
         | 
| 749 | 
            +
                    PENDING_REVIEWING =
         | 
| 750 | 
            +
                      T.let(
         | 
| 751 | 
            +
                        :pending_reviewing,
         | 
| 752 | 
            +
                        Increase::FednowTransfer::Status::TaggedSymbol
         | 
| 753 | 
            +
                      )
         | 
| 754 | 
            +
             | 
| 755 | 
            +
                    # The transfer has been canceled.
         | 
| 756 | 
            +
                    CANCELED =
         | 
| 757 | 
            +
                      T.let(:canceled, Increase::FednowTransfer::Status::TaggedSymbol)
         | 
| 758 | 
            +
             | 
| 759 | 
            +
                    # The transfer has been rejected by Increase.
         | 
| 760 | 
            +
                    REVIEWING_REJECTED =
         | 
| 761 | 
            +
                      T.let(
         | 
| 762 | 
            +
                        :reviewing_rejected,
         | 
| 763 | 
            +
                        Increase::FednowTransfer::Status::TaggedSymbol
         | 
| 764 | 
            +
                      )
         | 
| 765 | 
            +
             | 
| 766 | 
            +
                    # The transfer requires attention from an Increase operator.
         | 
| 767 | 
            +
                    REQUIRES_ATTENTION =
         | 
| 768 | 
            +
                      T.let(
         | 
| 769 | 
            +
                        :requires_attention,
         | 
| 770 | 
            +
                        Increase::FednowTransfer::Status::TaggedSymbol
         | 
| 771 | 
            +
                      )
         | 
| 772 | 
            +
             | 
| 773 | 
            +
                    # The transfer is pending approval.
         | 
| 774 | 
            +
                    PENDING_APPROVAL =
         | 
| 775 | 
            +
                      T.let(
         | 
| 776 | 
            +
                        :pending_approval,
         | 
| 777 | 
            +
                        Increase::FednowTransfer::Status::TaggedSymbol
         | 
| 778 | 
            +
                      )
         | 
| 779 | 
            +
             | 
| 780 | 
            +
                    # The transfer is queued to be submitted to FedNow.
         | 
| 781 | 
            +
                    PENDING_SUBMITTING =
         | 
| 782 | 
            +
                      T.let(
         | 
| 783 | 
            +
                        :pending_submitting,
         | 
| 784 | 
            +
                        Increase::FednowTransfer::Status::TaggedSymbol
         | 
| 785 | 
            +
                      )
         | 
| 786 | 
            +
             | 
| 787 | 
            +
                    # The transfer has been submitted and is pending a response from FedNow.
         | 
| 788 | 
            +
                    PENDING_RESPONSE =
         | 
| 789 | 
            +
                      T.let(
         | 
| 790 | 
            +
                        :pending_response,
         | 
| 791 | 
            +
                        Increase::FednowTransfer::Status::TaggedSymbol
         | 
| 792 | 
            +
                      )
         | 
| 793 | 
            +
             | 
| 794 | 
            +
                    # The transfer has been sent successfully and is complete.
         | 
| 795 | 
            +
                    COMPLETE =
         | 
| 796 | 
            +
                      T.let(:complete, Increase::FednowTransfer::Status::TaggedSymbol)
         | 
| 797 | 
            +
             | 
| 798 | 
            +
                    # The transfer was rejected by the network or the recipient's bank.
         | 
| 799 | 
            +
                    REJECTED =
         | 
| 800 | 
            +
                      T.let(:rejected, Increase::FednowTransfer::Status::TaggedSymbol)
         | 
| 801 | 
            +
             | 
| 802 | 
            +
                    sig do
         | 
| 803 | 
            +
                      override.returns(
         | 
| 804 | 
            +
                        T::Array[Increase::FednowTransfer::Status::TaggedSymbol]
         | 
| 805 | 
            +
                      )
         | 
| 806 | 
            +
                    end
         | 
| 807 | 
            +
                    def self.values
         | 
| 808 | 
            +
                    end
         | 
| 809 | 
            +
                  end
         | 
| 810 | 
            +
             | 
| 811 | 
            +
                  class Submission < Increase::Internal::Type::BaseModel
         | 
| 812 | 
            +
                    OrHash =
         | 
| 813 | 
            +
                      T.type_alias do
         | 
| 814 | 
            +
                        T.any(
         | 
| 815 | 
            +
                          Increase::FednowTransfer::Submission,
         | 
| 816 | 
            +
                          Increase::Internal::AnyHash
         | 
| 817 | 
            +
                        )
         | 
| 818 | 
            +
                      end
         | 
| 819 | 
            +
             | 
| 820 | 
            +
                    # The FedNow network identification of the message submitted.
         | 
| 821 | 
            +
                    sig { returns(String) }
         | 
| 822 | 
            +
                    attr_accessor :message_identification
         | 
| 823 | 
            +
             | 
| 824 | 
            +
                    # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
         | 
| 825 | 
            +
                    # the transfer was submitted to FedNow.
         | 
| 826 | 
            +
                    sig { returns(T.nilable(Time)) }
         | 
| 827 | 
            +
                    attr_accessor :submitted_at
         | 
| 828 | 
            +
             | 
| 829 | 
            +
                    # After the transfer is submitted to FedNow, this will contain supplemental
         | 
| 830 | 
            +
                    # details.
         | 
| 831 | 
            +
                    sig do
         | 
| 832 | 
            +
                      params(
         | 
| 833 | 
            +
                        message_identification: String,
         | 
| 834 | 
            +
                        submitted_at: T.nilable(Time)
         | 
| 835 | 
            +
                      ).returns(T.attached_class)
         | 
| 836 | 
            +
                    end
         | 
| 837 | 
            +
                    def self.new(
         | 
| 838 | 
            +
                      # The FedNow network identification of the message submitted.
         | 
| 839 | 
            +
                      message_identification:,
         | 
| 840 | 
            +
                      # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which
         | 
| 841 | 
            +
                      # the transfer was submitted to FedNow.
         | 
| 842 | 
            +
                      submitted_at:
         | 
| 843 | 
            +
                    )
         | 
| 844 | 
            +
                    end
         | 
| 845 | 
            +
             | 
| 846 | 
            +
                    sig do
         | 
| 847 | 
            +
                      override.returns(
         | 
| 848 | 
            +
                        { message_identification: String, submitted_at: T.nilable(Time) }
         | 
| 849 | 
            +
                      )
         | 
| 850 | 
            +
                    end
         | 
| 851 | 
            +
                    def to_hash
         | 
| 852 | 
            +
                    end
         | 
| 853 | 
            +
                  end
         | 
| 854 | 
            +
             | 
| 855 | 
            +
                  # A constant representing the object's type. For this resource it will always be
         | 
| 856 | 
            +
                  # `fednow_transfer`.
         | 
| 857 | 
            +
                  module Type
         | 
| 858 | 
            +
                    extend Increase::Internal::Type::Enum
         | 
| 859 | 
            +
             | 
| 860 | 
            +
                    TaggedSymbol =
         | 
| 861 | 
            +
                      T.type_alias { T.all(Symbol, Increase::FednowTransfer::Type) }
         | 
| 862 | 
            +
                    OrSymbol = T.type_alias { T.any(Symbol, String) }
         | 
| 863 | 
            +
             | 
| 864 | 
            +
                    FEDNOW_TRANSFER =
         | 
| 865 | 
            +
                      T.let(:fednow_transfer, Increase::FednowTransfer::Type::TaggedSymbol)
         | 
| 866 | 
            +
             | 
| 867 | 
            +
                    sig do
         | 
| 868 | 
            +
                      override.returns(
         | 
| 869 | 
            +
                        T::Array[Increase::FednowTransfer::Type::TaggedSymbol]
         | 
| 870 | 
            +
                      )
         | 
| 871 | 
            +
                    end
         | 
| 872 | 
            +
                    def self.values
         | 
| 873 | 
            +
                    end
         | 
| 874 | 
            +
                  end
         | 
| 875 | 
            +
                end
         | 
| 876 | 
            +
              end
         | 
| 877 | 
            +
            end
         |