Class: ThePlaidApi::Transfer
- Defined in:
- lib/the_plaid_api/models/transfer.rb
Overview
Represents a transfer within the Transfers API.
Instance Attribute Summary collapse
-
#account_id ⇒ String
The Plaid ‘account_id` corresponding to the end-user account that will be debited or credited.
-
#ach_class ⇒ AchClass
Specifies the use case of the transfer.
-
#amount ⇒ String
The amount of the transfer (decimal string with two digits of precision e.g. “10.00”).
-
#authorization_id ⇒ String
Plaid’s unique identifier for a transfer authorization.
-
#cancellable ⇒ TrueClass | FalseClass
When ‘true`, you can still cancel this transfer.
-
#created ⇒ DateTime
The datetime when this transfer was created.
-
#credit_funds_source ⇒ TransferCreditFundsSource
The expected sweep settlement schedule of this transfer, assuming this transfer is not ‘returned`.
-
#description ⇒ String
The description of the transfer.
-
#expected_funds_available_date ⇒ Date
The expected date when funds from a transfer will be made available and can be withdrawn from the associated ledger balance, assuming the debit does not return before this date.
-
#expected_settlement_date ⇒ Date
Deprecated for Plaid Ledger clients, use ‘expected_funds_available_date` instead.
-
#expected_sweep_settlement_schedule ⇒ Array[TransferExpectedSweepSettlementScheduleItem]
The expected sweep settlement schedule of this transfer, assuming this transfer is not ‘returned`.
-
#facilitator_fee ⇒ String
The amount to deduct from ‘transfer.amount` and distribute to the platform’s Ledger balance as a facilitator fee (decimal string with two digits of precision e.g. “10.00”).
-
#failure_reason ⇒ TransferFailure
The failure reason if the event type for a transfer is ‘“failed”` or `“returned”`.
-
#funding_account_id ⇒ String
The id of the associated funding account, available in the Plaid Dashboard.
-
#guarantee_decision ⇒ TransferAuthorizationGuaranteeDecision
Indicates whether the transfer is guaranteed by Plaid (Guarantee customers only).
-
#guarantee_decision_rationale ⇒ TransferAuthorizationGuaranteeDecisionRationale
The rationale for Plaid’s decision to not guarantee a transfer.
-
#id ⇒ String
Plaid’s unique identifier for a transfer.
-
#iso_currency_code ⇒ String
The currency of the transfer amount, e.g.
-
#ledger_id ⇒ String
Plaid’s unique identifier for a Plaid Ledger Balance.
-
#metadata ⇒ Hash[String, String]
The Metadata object is a mapping of client-provided string fields to any string value.
-
#network ⇒ TransferNetwork
The network or rails used for the transfer.
-
#network_trace_id ⇒ String
The trace identifier for the transfer based on its network.
-
#origination_account_id ⇒ String
Plaid’s unique identifier for the origination account that was used for this transfer.
-
#originator_client_id ⇒ String
The Plaid client ID that is the originator of this transfer.
-
#recurring_transfer_id ⇒ String
The id of the recurring transfer if this transfer belongs to a recurring transfer.
-
#refunds ⇒ Array[TransferRefund]
A list of refunds associated with this transfer.
-
#standard_return_window ⇒ Date
The date 3 business days from settlement date indicating the following ACH returns can no longer happen: R01, R02, R03, R29.
-
#status ⇒ TransferStatus
The status of the transfer.
-
#sweep_status ⇒ TransferSweepStatus
The status of the sweep for the transfer.
-
#type ⇒ TransferType1
The type of transfer.
-
#unauthorized_return_window ⇒ Date
The date 61 business days from settlement date indicating the following ACH returns can no longer happen: R05, R07, R10, R11, R51, R33, R37, R38, R51, R52, R53.
-
#user ⇒ TransferUserInResponse
The legal name and other information for the account holder.
-
#wire_details ⇒ TransferWireDetails
Information specific to wire transfers.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
Instance Method Summary collapse
-
#initialize(id:, authorization_id:, funding_account_id:, type:, user:, amount:, description:, created:, status:, network:, cancellable:, failure_reason:, metadata:, origination_account_id:, guarantee_decision:, guarantee_decision_rationale:, iso_currency_code:, standard_return_window:, unauthorized_return_window:, expected_settlement_date:, originator_client_id:, refunds:, recurring_transfer_id:, credit_funds_source:, ach_class: SKIP, account_id: SKIP, ledger_id: SKIP, sweep_status: SKIP, wire_details: SKIP, expected_funds_available_date: SKIP, expected_sweep_settlement_schedule: SKIP, facilitator_fee: SKIP, network_trace_id: SKIP, additional_properties: nil) ⇒ Transfer
constructor
A new instance of Transfer.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
- #to_custom_created ⇒ Object
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(id:, authorization_id:, funding_account_id:, type:, user:, amount:, description:, created:, status:, network:, cancellable:, failure_reason:, metadata:, origination_account_id:, guarantee_decision:, guarantee_decision_rationale:, iso_currency_code:, standard_return_window:, unauthorized_return_window:, expected_settlement_date:, originator_client_id:, refunds:, recurring_transfer_id:, credit_funds_source:, ach_class: SKIP, account_id: SKIP, ledger_id: SKIP, sweep_status: SKIP, wire_details: SKIP, expected_funds_available_date: SKIP, expected_sweep_settlement_schedule: SKIP, facilitator_fee: SKIP, network_trace_id: SKIP, additional_properties: nil) ⇒ Transfer
Returns a new instance of Transfer.
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 |
# File 'lib/the_plaid_api/models/transfer.rb', line 338 def initialize(id:, authorization_id:, funding_account_id:, type:, user:, amount:, description:, created:, status:, network:, cancellable:, failure_reason:, metadata:, origination_account_id:, guarantee_decision:, guarantee_decision_rationale:, iso_currency_code:, standard_return_window:, unauthorized_return_window:, expected_settlement_date:, originator_client_id:, refunds:, recurring_transfer_id:, credit_funds_source:, ach_class: SKIP, account_id: SKIP, ledger_id: SKIP, sweep_status: SKIP, wire_details: SKIP, expected_funds_available_date: SKIP, expected_sweep_settlement_schedule: SKIP, facilitator_fee: SKIP, network_trace_id: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @id = id @authorization_id = @ach_class = ach_class unless ach_class == SKIP @account_id = account_id unless account_id == SKIP @funding_account_id = funding_account_id @ledger_id = ledger_id unless ledger_id == SKIP @type = type @user = user @amount = amount @description = description @created = created @status = status @sweep_status = sweep_status unless sweep_status == SKIP @network = network @wire_details = wire_details unless wire_details == SKIP @cancellable = cancellable @failure_reason = failure_reason @metadata = @origination_account_id = origination_account_id @guarantee_decision = guarantee_decision @guarantee_decision_rationale = guarantee_decision_rationale @iso_currency_code = iso_currency_code @standard_return_window = standard_return_window @unauthorized_return_window = @expected_settlement_date = expected_settlement_date unless expected_funds_available_date == SKIP @expected_funds_available_date = expected_funds_available_date end @originator_client_id = originator_client_id @refunds = refunds @recurring_transfer_id = recurring_transfer_id unless expected_sweep_settlement_schedule == SKIP @expected_sweep_settlement_schedule = expected_sweep_settlement_schedule end @credit_funds_source = credit_funds_source @facilitator_fee = facilitator_fee unless facilitator_fee == SKIP @network_trace_id = network_trace_id unless network_trace_id == SKIP @additional_properties = additional_properties end |
Instance Attribute Details
#account_id ⇒ String
The Plaid ‘account_id` corresponding to the end-user account that will be debited or credited.
45 46 47 |
# File 'lib/the_plaid_api/models/transfer.rb', line 45 def account_id @account_id end |
#ach_class ⇒ AchClass
Specifies the use case of the transfer. Required for transfers on an ACH network. For more details, see [ACH SEC codes](plaid.com/docs/transfer/creating-transfers/#ach-sec-codes). Codes supported for credits: ‘ccd`, `ppd` Codes supported for debits: `ccd`, `tel`, `web` `“ccd”` - Corporate Credit or Debit - fund transfer between two corporate bank accounts `“ppd”` - Prearranged Payment or Deposit - The transfer is part of a pre-existing relationship with a consumer. Authorization was obtained in writing either in person or via an electronic document signing, e.g. Docusign, by the consumer. Can be used for credits or debits. `“web”` - Internet-Initiated Entry. The transfer debits a consumer’s bank account. Authorization from the consumer is obtained over the Internet (e.g. a web or mobile application). Can be used for single debits or recurring debits. `“tel”` - Telephone-Initiated Entry. The transfer debits a consumer. Debit authorization has been received orally over the telephone via a recorded call.
40 41 42 |
# File 'lib/the_plaid_api/models/transfer.rb', line 40 def ach_class @ach_class end |
#amount ⇒ String
The amount of the transfer (decimal string with two digits of precision e.g. “10.00”). When calling ‘/transfer/authorization/create`, specify the maximum amount to authorize. When calling `/transfer/create`, specify the exact amount of the transfer, up to a maximum of the amount authorized. If this field is left blank when calling `/transfer/create`, the maximum amount authorized in the `authorization_id` will be sent.
74 75 76 |
# File 'lib/the_plaid_api/models/transfer.rb', line 74 def amount @amount end |
#authorization_id ⇒ String
Plaid’s unique identifier for a transfer authorization.
19 20 21 |
# File 'lib/the_plaid_api/models/transfer.rb', line 19 def @authorization_id end |
#cancellable ⇒ TrueClass | FalseClass
When ‘true`, you can still cancel this transfer.
155 156 157 |
# File 'lib/the_plaid_api/models/transfer.rb', line 155 def cancellable @cancellable end |
#created ⇒ DateTime
The datetime when this transfer was created. This will be of the form ‘2006-01-02T15:04:05Z`
83 84 85 |
# File 'lib/the_plaid_api/models/transfer.rb', line 83 def created @created end |
#credit_funds_source ⇒ TransferCreditFundsSource
The expected sweep settlement schedule of this transfer, assuming this transfer is not ‘returned`. Only applies to ACH debit transfers.
241 242 243 |
# File 'lib/the_plaid_api/models/transfer.rb', line 241 def credit_funds_source @credit_funds_source end |
#description ⇒ String
The description of the transfer.
78 79 80 |
# File 'lib/the_plaid_api/models/transfer.rb', line 78 def description @description end |
#expected_funds_available_date ⇒ Date
The expected date when funds from a transfer will be made available and can be withdrawn from the associated ledger balance, assuming the debit does not return before this date. If the transfer does return before this date, this field will be null. Only applies to debit transfers. This will be of the form YYYY-MM-DD.
215 216 217 |
# File 'lib/the_plaid_api/models/transfer.rb', line 215 def expected_funds_available_date @expected_funds_available_date end |
#expected_settlement_date ⇒ Date
Deprecated for Plaid Ledger clients, use ‘expected_funds_available_date` instead.
207 208 209 |
# File 'lib/the_plaid_api/models/transfer.rb', line 207 def expected_settlement_date @expected_settlement_date end |
#expected_sweep_settlement_schedule ⇒ Array[TransferExpectedSweepSettlementScheduleItem]
The expected sweep settlement schedule of this transfer, assuming this transfer is not ‘returned`. Only applies to ACH debit transfers.
236 237 238 |
# File 'lib/the_plaid_api/models/transfer.rb', line 236 def expected_sweep_settlement_schedule @expected_sweep_settlement_schedule end |
#facilitator_fee ⇒ String
The amount to deduct from ‘transfer.amount` and distribute to the platform’s Ledger balance as a facilitator fee (decimal string with two digits of precision e.g. “10.00”). The remainder will go to the end-customer’s Ledger balance. This must be value greater than 0 and less than or equal to the `transfer.amount`.
249 250 251 |
# File 'lib/the_plaid_api/models/transfer.rb', line 249 def facilitator_fee @facilitator_fee end |
#failure_reason ⇒ TransferFailure
The failure reason if the event type for a transfer is ‘“failed”` or `“returned”`. Null value otherwise.
160 161 162 |
# File 'lib/the_plaid_api/models/transfer.rb', line 160 def failure_reason @failure_reason end |
#funding_account_id ⇒ String
The id of the associated funding account, available in the Plaid Dashboard. If present, this indicates which of your business checking accounts will be credited or debited.
51 52 53 |
# File 'lib/the_plaid_api/models/transfer.rb', line 51 def funding_account_id @funding_account_id end |
#guarantee_decision ⇒ TransferAuthorizationGuaranteeDecision
Indicates whether the transfer is guaranteed by Plaid (Guarantee customers only). This field will contain either ‘GUARANTEED` or `NOT_GUARANTEED` indicating whether Plaid will guarantee the transfer.
181 182 183 |
# File 'lib/the_plaid_api/models/transfer.rb', line 181 def guarantee_decision @guarantee_decision end |
#guarantee_decision_rationale ⇒ TransferAuthorizationGuaranteeDecisionRationale
The rationale for Plaid’s decision to not guarantee a transfer. Will be ‘null` unless `guarantee_decision` is `NOT_GUARANTEED`.
186 187 188 |
# File 'lib/the_plaid_api/models/transfer.rb', line 186 def guarantee_decision_rationale @guarantee_decision_rationale end |
#id ⇒ String
Plaid’s unique identifier for a transfer.
15 16 17 |
# File 'lib/the_plaid_api/models/transfer.rb', line 15 def id @id end |
#iso_currency_code ⇒ String
The currency of the transfer amount, e.g. “USD”
190 191 192 |
# File 'lib/the_plaid_api/models/transfer.rb', line 190 def iso_currency_code @iso_currency_code end |
#ledger_id ⇒ String
Plaid’s unique identifier for a Plaid Ledger Balance.
55 56 57 |
# File 'lib/the_plaid_api/models/transfer.rb', line 55 def ledger_id @ledger_id end |
#metadata ⇒ Hash[String, String]
The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters
170 171 172 |
# File 'lib/the_plaid_api/models/transfer.rb', line 170 def @metadata end |
#network ⇒ TransferNetwork
The network or rails used for the transfer. For transfers submitted as ‘ach` or `same-day-ach`, the Standard ACH cutoff is 8:30 PM Eastern Time. For transfers submitted as `same-day-ach`, the Same Day ACH cutoff is 3:00 PM Eastern Time. It is recommended to send the request 15 minutes prior to the cutoff to ensure that it will be processed in time for submission before the cutoff. If the transfer is processed after this cutoff but before the Standard ACH cutoff, it will be sent over Standard ACH rails and will not incur same-day charges; this will apply to both legs of the transfer if applicable. The transaction limit for a Same Day ACH transfer is $1,000,000. Authorization requests sent with an amount greater than $1,000,000 will fail. For transfers submitted as `rtp`, Plaid will automatically route between Real Time Payment rail by TCH or FedNow rails as necessary. If a transfer is submitted as `rtp` and the counterparty account is not eligible for RTP, the `/transfer/authorization/create` request will fail with an `INVALID_FIELD` error code. To pre-check to determine whether a counterparty account can support RTP, call `/transfer/capabilities/get` before calling `/transfer/authorization/create`. Wire transfers are currently in early availability. To request access to `wire` as a payment network, contact your Account Manager. For transfers submitted as `wire`, the `type` must be `credit`; wire debits are not supported. The cutoff to submit a wire payment is 6:30 PM Eastern Time on a business day; wires submitted after that time will be processed on the next business day. The transaction limit for a wire is $999,999.99. Authorization requests sent with an amount greater than $999,999.99 will fail.
147 148 149 |
# File 'lib/the_plaid_api/models/transfer.rb', line 147 def network @network end |
#network_trace_id ⇒ String
The trace identifier for the transfer based on its network. This will only be set after the transfer has posted. For ‘ach` or `same-day-ach` transfers, this is the ACH trace number. For `rtp` transfers, this is the Transaction Identification number. For `wire` transfers, this is the IMAD (Input Message Accountability Data) number.
258 259 260 |
# File 'lib/the_plaid_api/models/transfer.rb', line 258 def network_trace_id @network_trace_id end |
#origination_account_id ⇒ String
Plaid’s unique identifier for the origination account that was used for this transfer.
175 176 177 |
# File 'lib/the_plaid_api/models/transfer.rb', line 175 def origination_account_id @origination_account_id end |
#originator_client_id ⇒ String
The Plaid client ID that is the originator of this transfer. Only present if created on behalf of another client as a [Platform customer](plaid.com/docs/transfer/application/#originators-vs-plat forms).
222 223 224 |
# File 'lib/the_plaid_api/models/transfer.rb', line 222 def originator_client_id @originator_client_id end |
#recurring_transfer_id ⇒ String
The id of the recurring transfer if this transfer belongs to a recurring transfer.
231 232 233 |
# File 'lib/the_plaid_api/models/transfer.rb', line 231 def recurring_transfer_id @recurring_transfer_id end |
#refunds ⇒ Array[TransferRefund]
A list of refunds associated with this transfer.
226 227 228 |
# File 'lib/the_plaid_api/models/transfer.rb', line 226 def refunds @refunds end |
#standard_return_window ⇒ Date
The date 3 business days from settlement date indicating the following ACH returns can no longer happen: R01, R02, R03, R29. This will be of the form YYYY-MM-DD.
196 197 198 |
# File 'lib/the_plaid_api/models/transfer.rb', line 196 def standard_return_window @standard_return_window end |
#status ⇒ TransferStatus
The status of the transfer. ‘pending`: A new transfer was created; it is in the pending state. `posted`: The transfer has been successfully submitted to the payment network. `settled`: The transfer was successfully completed by the payment network. Note that funds from received debits are not available to be moved out of the Ledger until the transfer reaches `funds_available` status. For credit transactions, `settled` means the funds have been delivered to the receiving bank account. This is the terminal state of a successful credit transfer. `funds_available`: Funds from the transfer have been released from hold and applied to the ledger’s available balance. (Only applicable to ACH debits.) This is the terminal state of a successful debit transfer. ‘cancelled`: The transfer was cancelled by the client. This is the terminal state of a cancelled transfer. `failed`: The transfer failed, no funds were moved. This is the terminal state of a failed transfer. `returned`: A posted transfer was returned. This is the terminal state of a returned transfer.
105 106 107 |
# File 'lib/the_plaid_api/models/transfer.rb', line 105 def status @status end |
#sweep_status ⇒ TransferSweepStatus
The status of the sweep for the transfer. ‘unswept`: The transfer hasn’t been swept yet. ‘swept`: The transfer was swept to the sweep account. `swept_settled`: Credits are available to be withdrawn or debits have been deducted from the customer’s business checking account. `return_swept`: The transfer was returned, funds were pulled back or pushed back to the sweep account. `null`: The transfer will never be swept (e.g. if the transfer is cancelled or returned before being swept)
117 118 119 |
# File 'lib/the_plaid_api/models/transfer.rb', line 117 def sweep_status @sweep_status end |
#type ⇒ TransferType1
The type of transfer. This will be either ‘debit` or `credit`. A `debit` indicates a transfer of money into the origination account; a `credit` indicates a transfer of money out of the origination account.
61 62 63 |
# File 'lib/the_plaid_api/models/transfer.rb', line 61 def type @type end |
#unauthorized_return_window ⇒ Date
The date 61 business days from settlement date indicating the following ACH returns can no longer happen: R05, R07, R10, R11, R51, R33, R37, R38, R51, R52, R53. This will be of the form YYYY-MM-DD.
202 203 204 |
# File 'lib/the_plaid_api/models/transfer.rb', line 202 def @unauthorized_return_window end |
#user ⇒ TransferUserInResponse
The legal name and other information for the account holder.
65 66 67 |
# File 'lib/the_plaid_api/models/transfer.rb', line 65 def user @user end |
#wire_details ⇒ TransferWireDetails
Information specific to wire transfers.
151 152 153 |
# File 'lib/the_plaid_api/models/transfer.rb', line 151 def wire_details @wire_details end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 |
# File 'lib/the_plaid_api/models/transfer.rb', line 398 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. id = hash.key?('id') ? hash['id'] : nil = hash.key?('authorization_id') ? hash['authorization_id'] : nil funding_account_id = hash.key?('funding_account_id') ? hash['funding_account_id'] : nil type = hash.key?('type') ? hash['type'] : nil user = TransferUserInResponse.from_hash(hash['user']) if hash['user'] amount = hash.key?('amount') ? hash['amount'] : nil description = hash.key?('description') ? hash['description'] : nil created = if hash.key?('created') (DateTimeHelper.from_rfc3339(hash['created']) if hash['created']) end status = hash.key?('status') ? hash['status'] : nil network = hash.key?('network') ? hash['network'] : nil cancellable = hash.key?('cancellable') ? hash['cancellable'] : nil failure_reason = TransferFailure.from_hash(hash['failure_reason']) if hash['failure_reason'] = hash.key?('metadata') ? hash['metadata'] : nil origination_account_id = hash.key?('origination_account_id') ? hash['origination_account_id'] : nil guarantee_decision = hash.key?('guarantee_decision') ? hash['guarantee_decision'] : nil if hash['guarantee_decision_rationale'] guarantee_decision_rationale = TransferAuthorizationGuaranteeDecisionRationale.from_hash(hash['guarantee_decision_rationale']) end iso_currency_code = hash.key?('iso_currency_code') ? hash['iso_currency_code'] : nil standard_return_window = hash.key?('standard_return_window') ? hash['standard_return_window'] : nil = hash.key?('unauthorized_return_window') ? hash['unauthorized_return_window'] : nil expected_settlement_date = hash.key?('expected_settlement_date') ? hash['expected_settlement_date'] : nil originator_client_id = hash.key?('originator_client_id') ? hash['originator_client_id'] : nil # Parameter is an array, so we need to iterate through it refunds = nil unless hash['refunds'].nil? refunds = [] hash['refunds'].each do |structure| refunds << (TransferRefund.from_hash(structure) if structure) end end refunds = nil unless hash.key?('refunds') recurring_transfer_id = hash.key?('recurring_transfer_id') ? hash['recurring_transfer_id'] : nil credit_funds_source = hash.key?('credit_funds_source') ? hash['credit_funds_source'] : nil ach_class = hash.key?('ach_class') ? hash['ach_class'] : SKIP account_id = hash.key?('account_id') ? hash['account_id'] : SKIP ledger_id = hash.key?('ledger_id') ? hash['ledger_id'] : SKIP sweep_status = hash.key?('sweep_status') ? hash['sweep_status'] : SKIP wire_details = TransferWireDetails.from_hash(hash['wire_details']) if hash['wire_details'] expected_funds_available_date = hash.key?('expected_funds_available_date') ? hash['expected_funds_available_date'] : SKIP # Parameter is an array, so we need to iterate through it expected_sweep_settlement_schedule = nil unless hash['expected_sweep_settlement_schedule'].nil? expected_sweep_settlement_schedule = [] hash['expected_sweep_settlement_schedule'].each do |structure| expected_sweep_settlement_schedule << (TransferExpectedSweepSettlementScheduleItem.from_hash(structure) if structure) end end expected_sweep_settlement_schedule = SKIP unless hash.key?('expected_sweep_settlement_schedule') facilitator_fee = hash.key?('facilitator_fee') ? hash['facilitator_fee'] : SKIP network_trace_id = hash.key?('network_trace_id') ? hash['network_trace_id'] : SKIP # Create a new hash for additional properties, removing known properties. new_hash = hash.reject { |k, _| names.value?(k) } additional_properties = APIHelper.get_additional_properties( new_hash, proc { |value| value } ) # Create object from extracted values. Transfer.new(id: id, authorization_id: , funding_account_id: funding_account_id, type: type, user: user, amount: amount, description: description, created: created, status: status, network: network, cancellable: cancellable, failure_reason: failure_reason, metadata: , origination_account_id: origination_account_id, guarantee_decision: guarantee_decision, guarantee_decision_rationale: guarantee_decision_rationale, iso_currency_code: iso_currency_code, standard_return_window: standard_return_window, unauthorized_return_window: , expected_settlement_date: expected_settlement_date, originator_client_id: originator_client_id, refunds: refunds, recurring_transfer_id: recurring_transfer_id, credit_funds_source: credit_funds_source, ach_class: ach_class, account_id: account_id, ledger_id: ledger_id, sweep_status: sweep_status, wire_details: wire_details, expected_funds_available_date: expected_funds_available_date, expected_sweep_settlement_schedule: expected_sweep_settlement_schedule, facilitator_fee: facilitator_fee, network_trace_id: network_trace_id, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
# File 'lib/the_plaid_api/models/transfer.rb', line 261 def self.names @_hash = {} if @_hash.nil? @_hash['id'] = 'id' @_hash['authorization_id'] = 'authorization_id' @_hash['ach_class'] = 'ach_class' @_hash['account_id'] = 'account_id' @_hash['funding_account_id'] = 'funding_account_id' @_hash['ledger_id'] = 'ledger_id' @_hash['type'] = 'type' @_hash['user'] = 'user' @_hash['amount'] = 'amount' @_hash['description'] = 'description' @_hash['created'] = 'created' @_hash['status'] = 'status' @_hash['sweep_status'] = 'sweep_status' @_hash['network'] = 'network' @_hash['wire_details'] = 'wire_details' @_hash['cancellable'] = 'cancellable' @_hash['failure_reason'] = 'failure_reason' @_hash['metadata'] = 'metadata' @_hash['origination_account_id'] = 'origination_account_id' @_hash['guarantee_decision'] = 'guarantee_decision' @_hash['guarantee_decision_rationale'] = 'guarantee_decision_rationale' @_hash['iso_currency_code'] = 'iso_currency_code' @_hash['standard_return_window'] = 'standard_return_window' @_hash['unauthorized_return_window'] = 'unauthorized_return_window' @_hash['expected_settlement_date'] = 'expected_settlement_date' @_hash['expected_funds_available_date'] = 'expected_funds_available_date' @_hash['originator_client_id'] = 'originator_client_id' @_hash['refunds'] = 'refunds' @_hash['recurring_transfer_id'] = 'recurring_transfer_id' @_hash['expected_sweep_settlement_schedule'] = 'expected_sweep_settlement_schedule' @_hash['credit_funds_source'] = 'credit_funds_source' @_hash['facilitator_fee'] = 'facilitator_fee' @_hash['network_trace_id'] = 'network_trace_id' @_hash end |
.nullables ⇒ Object
An array for nullable fields
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 |
# File 'lib/the_plaid_api/models/transfer.rb', line 317 def self.nullables %w[ funding_account_id ledger_id sweep_status wire_details failure_reason metadata guarantee_decision guarantee_decision_rationale standard_return_window unauthorized_return_window expected_settlement_date expected_funds_available_date originator_client_id recurring_transfer_id credit_funds_source network_trace_id ] end |
.optionals ⇒ Object
An array for optional fields
302 303 304 305 306 307 308 309 310 311 312 313 314 |
# File 'lib/the_plaid_api/models/transfer.rb', line 302 def self.optionals %w[ ach_class account_id ledger_id sweep_status wire_details expected_funds_available_date expected_sweep_settlement_schedule facilitator_fee network_trace_id ] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 |
# File 'lib/the_plaid_api/models/transfer.rb', line 542 def inspect class_name = self.class.name.split('::').last "<#{class_name} id: #{@id.inspect}, authorization_id: #{@authorization_id.inspect},"\ " ach_class: #{@ach_class.inspect}, account_id: #{@account_id.inspect}, funding_account_id:"\ " #{@funding_account_id.inspect}, ledger_id: #{@ledger_id.inspect}, type: #{@type.inspect},"\ " user: #{@user.inspect}, amount: #{@amount.inspect}, description: #{@description.inspect},"\ " created: #{@created.inspect}, status: #{@status.inspect}, sweep_status:"\ " #{@sweep_status.inspect}, network: #{@network.inspect}, wire_details:"\ " #{@wire_details.inspect}, cancellable: #{@cancellable.inspect}, failure_reason:"\ " #{@failure_reason.inspect}, metadata: #{@metadata.inspect}, origination_account_id:"\ " #{@origination_account_id.inspect}, guarantee_decision: #{@guarantee_decision.inspect},"\ " guarantee_decision_rationale: #{@guarantee_decision_rationale.inspect}, iso_currency_code:"\ " #{@iso_currency_code.inspect}, standard_return_window: #{@standard_return_window.inspect},"\ " unauthorized_return_window: #{@unauthorized_return_window.inspect},"\ " expected_settlement_date: #{@expected_settlement_date.inspect},"\ " expected_funds_available_date: #{@expected_funds_available_date.inspect},"\ " originator_client_id: #{@originator_client_id.inspect}, refunds: #{@refunds.inspect},"\ " recurring_transfer_id: #{@recurring_transfer_id.inspect},"\ " expected_sweep_settlement_schedule: #{@expected_sweep_settlement_schedule.inspect},"\ " credit_funds_source: #{@credit_funds_source.inspect}, facilitator_fee:"\ " #{@facilitator_fee.inspect}, network_trace_id: #{@network_trace_id.inspect},"\ " additional_properties: #{@additional_properties}>" end |
#to_custom_created ⇒ Object
516 517 518 |
# File 'lib/the_plaid_api/models/transfer.rb', line 516 def to_custom_created DateTimeHelper.to_rfc3339(created) end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 |
# File 'lib/the_plaid_api/models/transfer.rb', line 521 def to_s class_name = self.class.name.split('::').last "<#{class_name} id: #{@id}, authorization_id: #{@authorization_id}, ach_class:"\ " #{@ach_class}, account_id: #{@account_id}, funding_account_id: #{@funding_account_id},"\ " ledger_id: #{@ledger_id}, type: #{@type}, user: #{@user}, amount: #{@amount}, description:"\ " #{@description}, created: #{@created}, status: #{@status}, sweep_status: #{@sweep_status},"\ " network: #{@network}, wire_details: #{@wire_details}, cancellable: #{@cancellable},"\ " failure_reason: #{@failure_reason}, metadata: #{@metadata}, origination_account_id:"\ " #{@origination_account_id}, guarantee_decision: #{@guarantee_decision},"\ " guarantee_decision_rationale: #{@guarantee_decision_rationale}, iso_currency_code:"\ " #{@iso_currency_code}, standard_return_window: #{@standard_return_window},"\ " unauthorized_return_window: #{@unauthorized_return_window}, expected_settlement_date:"\ " #{@expected_settlement_date}, expected_funds_available_date:"\ " #{@expected_funds_available_date}, originator_client_id: #{@originator_client_id},"\ " refunds: #{@refunds}, recurring_transfer_id: #{@recurring_transfer_id},"\ " expected_sweep_settlement_schedule: #{@expected_sweep_settlement_schedule},"\ " credit_funds_source: #{@credit_funds_source}, facilitator_fee: #{@facilitator_fee},"\ " network_trace_id: #{@network_trace_id}, additional_properties: #{@additional_properties}>" end |