Class: Plaid::PaymentInitiationRecipientCreateRequest

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/plaid/models/payment_initiation_recipient_create_request.rb

Overview

PaymentInitiationRecipientCreateRequest defines the request schema for ‘/payment_initiation/recipient/create`

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(name:, client_id: SKIP, secret: SKIP, iban: SKIP, bacs: SKIP, address: SKIP, additional_properties: nil) ⇒ PaymentInitiationRecipientCreateRequest

Returns a new instance of PaymentInitiationRecipientCreateRequest.



74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 74

def initialize(name:, client_id: SKIP, secret: SKIP, iban: SKIP, bacs: SKIP,
               address: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @client_id = client_id unless client_id == SKIP
  @secret = secret unless secret == SKIP
  @name = name
  @iban = iban unless iban == SKIP
  @bacs = bacs unless bacs == SKIP
  @address = address unless address == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#addressPaymentInitiationAddress

The optional address of the payment recipient. This object is not currently required to make payments from UK institutions and should not be populated, though may be necessary for future European expansion.



42
43
44
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 42

def address
  @address
end

#bacsRecipientBacsNullable

The International Bank Account Number (IBAN) for the recipient. If BACS data is not provided, an IBAN is required.



36
37
38
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 36

def bacs
  @bacs
end

#client_idString

Your Plaid API ‘client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.

Returns:

  • (String)


17
18
19
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 17

def client_id
  @client_id
end

#ibanString

The International Bank Account Number (IBAN) for the recipient. If BACS data is not provided, an IBAN is required.

Returns:

  • (String)


31
32
33
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 31

def iban
  @iban
end

#nameString

The name of the recipient

Returns:

  • (String)


26
27
28
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 26

def name
  @name
end

#secretString

Your Plaid API ‘secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.

Returns:

  • (String)


22
23
24
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 22

def secret
  @secret
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 89

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  name = hash.key?('name') ? hash['name'] : nil
  client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
  secret = hash.key?('secret') ? hash['secret'] : SKIP
  iban = hash.key?('iban') ? hash['iban'] : SKIP
  bacs = RecipientBacsNullable.from_hash(hash['bacs']) if hash['bacs']
  address = PaymentInitiationAddress.from_hash(hash['address']) if hash['address']

  # 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.
  PaymentInitiationRecipientCreateRequest.new(name: name,
                                              client_id: client_id,
                                              secret: secret,
                                              iban: iban,
                                              bacs: bacs,
                                              address: address,
                                              additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



45
46
47
48
49
50
51
52
53
54
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 45

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['client_id'] = 'client_id'
  @_hash['secret'] = 'secret'
  @_hash['name'] = 'name'
  @_hash['iban'] = 'iban'
  @_hash['bacs'] = 'bacs'
  @_hash['address'] = 'address'
  @_hash
end

.nullablesObject

An array for nullable fields



68
69
70
71
72
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 68

def self.nullables
  %w[
    iban
  ]
end

.optionalsObject

An array for optional fields



57
58
59
60
61
62
63
64
65
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 57

def self.optionals
  %w[
    client_id
    secret
    iban
    bacs
    address
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



126
127
128
129
130
131
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 126

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id.inspect}, secret: #{@secret.inspect}, name:"\
  " #{@name.inspect}, iban: #{@iban.inspect}, bacs: #{@bacs.inspect}, address:"\
  " #{@address.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



118
119
120
121
122
123
# File 'lib/plaid/models/payment_initiation_recipient_create_request.rb', line 118

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} client_id: #{@client_id}, secret: #{@secret}, name: #{@name}, iban:"\
  " #{@iban}, bacs: #{@bacs}, address: #{@address}, additional_properties:"\
  " #{@additional_properties}>"
end