Class: ThePlaidApi::Transfer

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/the_plaid_api/models/transfer.rb

Overview

Represents a transfer within the Transfers API.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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 = authorization_id
  @ach_class = ach_class unless ach_class == SKIP
  @account_id =  unless  == SKIP
  @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 = 
  @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
  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_idString

The Plaid ‘account_id` corresponding to the end-user account that will be debited or credited.

Returns:

  • (String)


45
46
47
# File 'lib/the_plaid_api/models/transfer.rb', line 45

def 
  @account_id
end

#ach_classAchClass

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.

Returns:



40
41
42
# File 'lib/the_plaid_api/models/transfer.rb', line 40

def ach_class
  @ach_class
end

#amountString

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.

Returns:

  • (String)


74
75
76
# File 'lib/the_plaid_api/models/transfer.rb', line 74

def amount
  @amount
end

#authorization_idString

Plaid’s unique identifier for a transfer authorization.

Returns:

  • (String)


19
20
21
# File 'lib/the_plaid_api/models/transfer.rb', line 19

def authorization_id
  @authorization_id
end

#cancellableTrueClass | FalseClass

When ‘true`, you can still cancel this transfer.

Returns:

  • (TrueClass | FalseClass)


155
156
157
# File 'lib/the_plaid_api/models/transfer.rb', line 155

def cancellable
  @cancellable
end

#createdDateTime

The datetime when this transfer was created. This will be of the form ‘2006-01-02T15:04:05Z`

Returns:

  • (DateTime)


83
84
85
# File 'lib/the_plaid_api/models/transfer.rb', line 83

def created
  @created
end

#credit_funds_sourceTransferCreditFundsSource

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

#descriptionString

The description of the transfer.

Returns:

  • (String)


78
79
80
# File 'lib/the_plaid_api/models/transfer.rb', line 78

def description
  @description
end

#expected_funds_available_dateDate

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.

Returns:

  • (Date)


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_dateDate

Deprecated for Plaid Ledger clients, use ‘expected_funds_available_date` instead.

Returns:

  • (Date)


207
208
209
# File 'lib/the_plaid_api/models/transfer.rb', line 207

def expected_settlement_date
  @expected_settlement_date
end

#expected_sweep_settlement_scheduleArray[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_feeString

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`.

Returns:

  • (String)


249
250
251
# File 'lib/the_plaid_api/models/transfer.rb', line 249

def facilitator_fee
  @facilitator_fee
end

#failure_reasonTransferFailure

The failure reason if the event type for a transfer is ‘“failed”` or `“returned”`. Null value otherwise.

Returns:



160
161
162
# File 'lib/the_plaid_api/models/transfer.rb', line 160

def failure_reason
  @failure_reason
end

#funding_account_idString

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.

Returns:

  • (String)


51
52
53
# File 'lib/the_plaid_api/models/transfer.rb', line 51

def 
  @funding_account_id
end

#guarantee_decisionTransferAuthorizationGuaranteeDecision

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_rationaleTransferAuthorizationGuaranteeDecisionRationale

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

#idString

Plaid’s unique identifier for a transfer.

Returns:

  • (String)


15
16
17
# File 'lib/the_plaid_api/models/transfer.rb', line 15

def id
  @id
end

#iso_currency_codeString

The currency of the transfer amount, e.g. “USD”

Returns:

  • (String)


190
191
192
# File 'lib/the_plaid_api/models/transfer.rb', line 190

def iso_currency_code
  @iso_currency_code
end

#ledger_idString

Plaid’s unique identifier for a Plaid Ledger Balance.

Returns:

  • (String)


55
56
57
# File 'lib/the_plaid_api/models/transfer.rb', line 55

def ledger_id
  @ledger_id
end

#metadataHash[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

Returns:

  • (Hash[String, String])


170
171
172
# File 'lib/the_plaid_api/models/transfer.rb', line 170

def 
  @metadata
end

#networkTransferNetwork

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.

Returns:



147
148
149
# File 'lib/the_plaid_api/models/transfer.rb', line 147

def network
  @network
end

#network_trace_idString

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.

Returns:

  • (String)


258
259
260
# File 'lib/the_plaid_api/models/transfer.rb', line 258

def network_trace_id
  @network_trace_id
end

#origination_account_idString

Plaid’s unique identifier for the origination account that was used for this transfer.

Returns:

  • (String)


175
176
177
# File 'lib/the_plaid_api/models/transfer.rb', line 175

def 
  @origination_account_id
end

#originator_client_idString

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).

Returns:

  • (String)


222
223
224
# File 'lib/the_plaid_api/models/transfer.rb', line 222

def originator_client_id
  @originator_client_id
end

#recurring_transfer_idString

The id of the recurring transfer if this transfer belongs to a recurring transfer.

Returns:

  • (String)


231
232
233
# File 'lib/the_plaid_api/models/transfer.rb', line 231

def recurring_transfer_id
  @recurring_transfer_id
end

#refundsArray[TransferRefund]

A list of refunds associated with this transfer.

Returns:



226
227
228
# File 'lib/the_plaid_api/models/transfer.rb', line 226

def refunds
  @refunds
end

#standard_return_windowDate

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.

Returns:

  • (Date)


196
197
198
# File 'lib/the_plaid_api/models/transfer.rb', line 196

def standard_return_window
  @standard_return_window
end

#statusTransferStatus

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.

Returns:



105
106
107
# File 'lib/the_plaid_api/models/transfer.rb', line 105

def status
  @status
end

#sweep_statusTransferSweepStatus

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)

Returns:



117
118
119
# File 'lib/the_plaid_api/models/transfer.rb', line 117

def sweep_status
  @sweep_status
end

#typeTransferType1

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.

Returns:



61
62
63
# File 'lib/the_plaid_api/models/transfer.rb', line 61

def type
  @type
end

#unauthorized_return_windowDate

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.

Returns:

  • (Date)


202
203
204
# File 'lib/the_plaid_api/models/transfer.rb', line 202

def unauthorized_return_window
  @unauthorized_return_window
end

#userTransferUserInResponse

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_detailsTransferWireDetails

Information specific to wire transfers.

Returns:



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
  authorization_id =
    hash.key?('authorization_id') ? hash['authorization_id'] : nil
   =
    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
   =
    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
  unauthorized_return_window =
    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
   = 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: authorization_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: ,
               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,
               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: ,
               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

.namesObject

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

.nullablesObject

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

.optionalsObject

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

#inspectObject

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_createdObject



516
517
518
# File 'lib/the_plaid_api/models/transfer.rb', line 516

def to_custom_created
  DateTimeHelper.to_rfc3339(created)
end

#to_sObject

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