Class: UnivapayClientSdk::Merchant

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/univapay_client_sdk/models/merchant.rb

Overview

Merchant resource returned by the backend FullMerchantWithGroupRoles formatter for merchant-authenticated callers.

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: SKIP, verification_data_id: SKIP, name: SKIP, email: SKIP, notification_email: SKIP, finance_notification_email: SKIP, verified: SKIP, configuration: SKIP, created_on: SKIP, additional_properties: nil) ⇒ Merchant

Returns a new instance of Merchant.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/univapay_client_sdk/models/merchant.rb', line 89

def initialize(id: SKIP, verification_data_id: SKIP, name: SKIP,
               email: SKIP, notification_email: SKIP,
               finance_notification_email: SKIP, verified: SKIP,
               configuration: SKIP, created_on: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @id = id unless id == SKIP
  @verification_data_id = verification_data_id unless verification_data_id == SKIP
  @name = name unless name == SKIP
  @email = email unless email == SKIP
  @notification_email = notification_email unless notification_email == SKIP
  unless finance_notification_email == SKIP
    @finance_notification_email =
      finance_notification_email
  end
  @verified = verified unless verified == SKIP
  @configuration = configuration unless configuration == SKIP
  @created_on = created_on unless created_on == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#configurationMerchantWebhookConfiguration

Merchant configuration snapshot serialized by gyron-payments-api.



44
45
46
# File 'lib/univapay_client_sdk/models/merchant.rb', line 44

def configuration
  @configuration
end

#created_onDateTime

Timestamp when the merchant was created.

Returns:

  • (DateTime)


48
49
50
# File 'lib/univapay_client_sdk/models/merchant.rb', line 48

def created_on
  @created_on
end

#emailString

Primary merchant email address.

Returns:

  • (String)


28
29
30
# File 'lib/univapay_client_sdk/models/merchant.rb', line 28

def email
  @email
end

#finance_notification_emailString

Merchant finance notification email address.

Returns:

  • (String)


36
37
38
# File 'lib/univapay_client_sdk/models/merchant.rb', line 36

def finance_notification_email
  @finance_notification_email
end

#idUUID | String

Merchant identifier.

Returns:

  • (UUID | String)


16
17
18
# File 'lib/univapay_client_sdk/models/merchant.rb', line 16

def id
  @id
end

#nameString

Merchant display name.

Returns:

  • (String)


24
25
26
# File 'lib/univapay_client_sdk/models/merchant.rb', line 24

def name
  @name
end

#notification_emailString

Merchant notification email address.

Returns:

  • (String)


32
33
34
# File 'lib/univapay_client_sdk/models/merchant.rb', line 32

def notification_email
  @notification_email
end

#verification_data_idUUID | String

Verification data identifier associated with the merchant.

Returns:

  • (UUID | String)


20
21
22
# File 'lib/univapay_client_sdk/models/merchant.rb', line 20

def verification_data_id
  @verification_data_id
end

#verifiedTrueClass | FalseClass

Whether the merchant has completed verification.

Returns:

  • (TrueClass | FalseClass)


40
41
42
# File 'lib/univapay_client_sdk/models/merchant.rb', line 40

def verified
  @verified
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/univapay_client_sdk/models/merchant.rb', line 113

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  id = hash.key?('id') ? hash['id'] : SKIP
  verification_data_id =
    hash.key?('verification_data_id') ? hash['verification_data_id'] : SKIP
  name = hash.key?('name') ? hash['name'] : SKIP
  email = hash.key?('email') ? hash['email'] : SKIP
  notification_email =
    hash.key?('notification_email') ? hash['notification_email'] : SKIP
  finance_notification_email =
    hash.key?('finance_notification_email') ? hash['finance_notification_email'] : SKIP
  verified = hash.key?('verified') ? hash['verified'] : SKIP
  configuration = MerchantWebhookConfiguration.from_hash(hash['configuration']) if
    hash['configuration']
  created_on = if hash.key?('created_on')
                 (DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
               else
                 SKIP
               end

  # 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.
  Merchant.new(id: id,
               verification_data_id: verification_data_id,
               name: name,
               email: email,
               notification_email: notification_email,
               finance_notification_email: finance_notification_email,
               verified: verified,
               configuration: configuration,
               created_on: created_on,
               additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/univapay_client_sdk/models/merchant.rb', line 51

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['id'] = 'id'
  @_hash['verification_data_id'] = 'verification_data_id'
  @_hash['name'] = 'name'
  @_hash['email'] = 'email'
  @_hash['notification_email'] = 'notification_email'
  @_hash['finance_notification_email'] = 'finance_notification_email'
  @_hash['verified'] = 'verified'
  @_hash['configuration'] = 'configuration'
  @_hash['created_on'] = 'created_on'
  @_hash
end

.nullablesObject

An array for nullable fields



81
82
83
84
85
86
87
# File 'lib/univapay_client_sdk/models/merchant.rb', line 81

def self.nullables
  %w[
    verification_data_id
    notification_email
    finance_notification_email
  ]
end

.optionalsObject

An array for optional fields



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/univapay_client_sdk/models/merchant.rb', line 66

def self.optionals
  %w[
    id
    verification_data_id
    name
    email
    notification_email
    finance_notification_email
    verified
    configuration
    created_on
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



169
170
171
172
173
174
175
176
177
# File 'lib/univapay_client_sdk/models/merchant.rb', line 169

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} id: #{@id.inspect}, verification_data_id: #{@verification_data_id.inspect},"\
  " name: #{@name.inspect}, email: #{@email.inspect}, notification_email:"\
  " #{@notification_email.inspect}, finance_notification_email:"\
  " #{@finance_notification_email.inspect}, verified: #{@verified.inspect}, configuration:"\
  " #{@configuration.inspect}, created_on: #{@created_on.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_custom_created_onObject



155
156
157
# File 'lib/univapay_client_sdk/models/merchant.rb', line 155

def to_custom_created_on
  DateTimeHelper.to_rfc3339(created_on)
end

#to_sObject

Provides a human-readable string representation of the object.



160
161
162
163
164
165
166
# File 'lib/univapay_client_sdk/models/merchant.rb', line 160

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} id: #{@id}, verification_data_id: #{@verification_data_id}, name: #{@name},"\
  " email: #{@email}, notification_email: #{@notification_email}, finance_notification_email:"\
  " #{@finance_notification_email}, verified: #{@verified}, configuration: #{@configuration},"\
  " created_on: #{@created_on}, additional_properties: #{@additional_properties}>"
end