Class: CyberSourceMergedSpec::MerchantDescriptor37

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/cyber_source_merged_spec/models/merchant_descriptor37.rb

Overview

MerchantDescriptor37 Model.

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: SKIP, locality: SKIP, country: SKIP, additional_properties: nil) ⇒ MerchantDescriptor37

Returns a new instance of MerchantDescriptor37.



86
87
88
89
90
91
92
93
94
95
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 86

def initialize(name: SKIP, locality: SKIP, country: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @name = name unless name == SKIP
  @locality = locality unless locality == SKIP
  @country = country unless country == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#countryString

Merchant's country.

PIN debit

Country code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickre f/countries_alpha_list.pdf) This value might be displayed on the cardholder’s statement. When you do not include this value in your PIN debit request, the merchant name from your account is used. Important This value must consist of English characters. Note If your business is located in the U.S. or Canada and you include this field in a request, you must also include merchantInformation.merchantDescriptor.administrativeArea. Optional field for PIN debit credit or PIN debit purchase.

Returns:

  • (String)


61
62
63
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 61

def country
  @country
end

#localityString

Merchant's City.

PIN debit

City for your business location. This value might be displayed on the cardholder’s statement. When you do not include this value in your PIN debit request, the merchant name from your account is used. Important This value must consist of English characters. Optional field for PIN debit credit or PIN debit purchase requests.

Returns:

  • (String)


44
45
46
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 44

def locality
  @locality
end

#nameString

Your merchant name. Note For Paymentech processor using Cybersource Payouts, the maximum data length is 22.

PIN debit

Your business name. This name is displayed on the cardholder’s statement. When you include more than one consecutive space, extra spaces are removed. When you do not include this value in your PIN debit request, the merchant name from your account is used. Important This value must consist of English characters. Optional field for PIN debit credit or PIN debit purchase requests.

Airline processing

Your merchant name. This name is displayed on the cardholder’s statement. When you include more than one consecutive space, extra spaces are removed. Note Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field. Important This value must consist of English characters. Required for captures and credits.

Returns:

  • (String)


33
34
35
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 33

def name
  @name
end

Class Method Details

.from_element(root) ⇒ Object



120
121
122
123
124
125
126
127
128
129
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 120

def self.from_element(root)
  name = XmlUtilities.from_element(root, 'name', String)
  locality = XmlUtilities.from_element(root, 'locality', String)
  country = XmlUtilities.from_element(root, 'country', String)

  new(name: name,
      locality: locality,
      country: country,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 98

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  name = hash.key?('name') ? hash['name'] : SKIP
  locality = hash.key?('locality') ? hash['locality'] : SKIP
  country = hash.key?('country') ? hash['country'] : 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.
  MerchantDescriptor37.new(name: name,
                           locality: locality,
                           country: country,
                           additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



64
65
66
67
68
69
70
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 64

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['name'] = 'name'
  @_hash['locality'] = 'locality'
  @_hash['country'] = 'country'
  @_hash
end

.nullablesObject

An array for nullable fields



82
83
84
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 82

def self.nullables
  []
end

.optionalsObject

An array for optional fields



73
74
75
76
77
78
79
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 73

def self.optionals
  %w[
    name
    locality
    country
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



151
152
153
154
155
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 151

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} name: #{@name.inspect}, locality: #{@locality.inspect}, country:"\
  " #{@country.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



144
145
146
147
148
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 144

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} name: #{@name}, locality: #{@locality}, country: #{@country},"\
  " additional_properties: #{@additional_properties}>"
end

#to_xml_element(doc, root_name) ⇒ Object



131
132
133
134
135
136
137
138
139
140
141
# File 'lib/cyber_source_merged_spec/models/merchant_descriptor37.rb', line 131

def to_xml_element(doc, root_name)
  root = doc.create_element(root_name)

  XmlUtilities.add_as_subelement(doc, root, 'name', name)
  XmlUtilities.add_as_subelement(doc, root, 'locality', locality)
  XmlUtilities.add_as_subelement(doc, root, 'country', country)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end