Class: CyberSourceMergedSpec::Brand

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

Overview

Brand 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(type: SKIP, brand_name: SKIP, additional_properties: nil) ⇒ Brand

Returns a new instance of Brand.



203
204
205
206
207
208
209
210
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 203

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

  @type = type unless type == SKIP
  @brand_name = brand_name unless brand_name == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#brand_nameString

This field contains the card brand name. Some of the possible values (not an exhaustive list) are -

  • VISA
  • MASTERCARD
  • AMERICAN EXPRESS
  • DISCOVER
  • DINERS CLUB
  • CARTE BLANCHE
  • JCB
  • OPTIMA
  • TWINPAY CREDIT CARD
  • TWINPAY DEBIT CARD
  • WALMART
  • ENROUTE
  • LOWES CONSUMER
  • HOME DEPOT CONSUMER
  • MBNA
  • DICKS SPORTWEAR
  • CASUAL CORNER
  • SEARS
  • JAL
  • DISNEY CARD
  • SWITCH/SOLO
  • SAMS CLUB CONSUMER
  • SAMS CLUB BUSINESS
  • NICOS HOUSE CARD
  • BEBE
  • RESTORATION HARDWARE
  • DELTA ONLINE
  • SOLO
  • VISA ELECTRON
  • DANKORT
  • LASER
  • CARTE BANCAIRE
  • CARTA SI
  • ENCODED ACCOUNT
  • UATP
  • HOUSEHOLD
  • MAESTRO
  • GE CAPITAL
  • KOREAN CARDS
  • STYLE CARDS
  • JCREW
  • MEIJER
  • HIPERCARD
  • AURA
  • REDECARD
  • ORICO HOUSE CARD
  • MADA
  • ELO
  • CAPITAL ONE PRIVATE LABEL
  • CARNET
  • RUPAY
  • CHINA UNION PAY
  • FALABELLA PRIVATE LABEL
  • PROMPTCARD
  • KOREAN DOMESTIC
  • BANRICOMPRAS
  • MEEZA
  • PAYPAK
  • JAYWAN
  • TPN

Returns:

  • (String)


180
181
182
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 180

def brand_name
  @brand_name
end

#typeString

This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system. Possible values from BIN Lookup Service (based on availability and enablement):

  • 000: Unsupported Card Type
  • 001: Visa
  • 002: Mastercard
  • 003: American Express
  • 004: Discover
  • 005: Diners Club
  • 007: JCB
  • 036: Cartes Bancaire
  • 042: Maestro
  • 054: Elo
  • 058: Carnet
  • 060: MADA
  • 061: RuPay
  • 062: China UnionPay
  • 064: Prompt Card
  • 067: Meeza
  • 068: PayPak
  • 070: EFTPOS
  • 081: Jaywan
  • 082: TPN Glossary of possible values in the payments ecosystem:
  • 001: Visa
  • 002: Mastercard
  • 003: American Express
  • 004: Discover
  • 005: Diners Club
  • 006: Carte Blanche
  • 007: JCB
  • 008: Optima
  • 009: GE Private Label
  • 010: Beneficial Private Label
  • 011: Twinpay Credit Card
  • 012: Twinpay Debit Card
  • 013: Walmart
  • 014: EnRoute
  • 015: Lowe's Consumer
  • 016: Home Depot Consumer
  • 017: MBNA
  • 018: Dick's Sportwear
  • 019: Casual Corner
  • 020: Sears
  • 021: JAL
  • 023: Disney Card
  • 024: Switch/Solo
  • 025: Sam's Club Consumer
  • 026: Sam's Club Business
  • 027: Nico's
  • 028: Paymentech Bill Me Later
  • 029: Bebe
  • 030: Restoration Hardware
  • 031: Delta Online
  • 032: Solo
  • 033: Visa Electron
  • 034: Dankort
  • 035: Laser
  • 036: Cartes Bancaire
  • 037: Carta Si
  • 040: UATP
  • 041: HOUSEHOLD
  • 042: Maestro
  • 043: GE MONEY
  • 044: Korean Cards
  • 045: Style Cards
  • 046: J.Crew
  • 047: Payeasecn eWallet
  • 048: Payeasecn Bank Transfer
  • 049: Meijer
  • 050: Hipercard
  • 051: Aura
  • 052: Redecard
  • 053: Orico Card
  • 054: Elo
  • 055: Capital One Private Label
  • 057: Costco Private Label
  • 058: Carnet
  • 059: ValueLink
  • 060: MADA
  • 061: RuPay
  • 062: China UnionPay
  • 063: Falabella Private Label
  • 064: Prompt Card
  • 065: Korean Domestic
  • 066: Banricompras
  • 067: Meeza
  • 068: PayPak
  • 070: EFTPOS
  • 071: Codensa
  • 072: Olimpica
  • 073: Colsubsidio
  • 074: Tuya
  • 075: Sodexo
  • 076: Naranja
  • 077: Cabal
  • 078: DINELCO
  • 079: PANAL
  • 080: EPM
  • 081: Jaywan
  • 082: TPN

Returns:

  • (String)


115
116
117
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 115

def type
  @type
end

Class Method Details

.from_element(root) ⇒ Object



233
234
235
236
237
238
239
240
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 233

def self.from_element(root)
  type = XmlUtilities.from_element(root, 'type', String)
  brand_name = XmlUtilities.from_element(root, 'brandName', String)

  new(type: type,
      brand_name: brand_name,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 213

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  type = hash.key?('type') ? hash['type'] : SKIP
  brand_name = hash.key?('brandName') ? hash['brandName'] : 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.
  Brand.new(type: type,
            brand_name: brand_name,
            additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



183
184
185
186
187
188
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 183

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['type'] = 'type'
  @_hash['brand_name'] = 'brandName'
  @_hash
end

.nullablesObject

An array for nullable fields



199
200
201
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 199

def self.nullables
  []
end

.optionalsObject

An array for optional fields



191
192
193
194
195
196
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 191

def self.optionals
  %w[
    type
    brand_name
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



261
262
263
264
265
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 261

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

#to_sObject

Provides a human-readable string representation of the object.



254
255
256
257
258
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 254

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

#to_xml_element(doc, root_name) ⇒ Object



242
243
244
245
246
247
248
249
250
251
# File 'lib/cyber_source_merged_spec/models/brand.rb', line 242

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

  XmlUtilities.add_as_subelement(doc, root, 'type', type)
  XmlUtilities.add_as_subelement(doc, root, 'brandName', brand_name)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end