Class: VisaAcceptanceMergedSpec::Card13

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/visa_acceptance_merged_spec/models/card13.rb

Overview

The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.

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(number: SKIP, expiration_month: SKIP, expiration_year: SKIP, security_code: SKIP, additional_properties: nil) ⇒ Card13

Returns a new instance of Card13.



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 63

def initialize(number: SKIP, expiration_month: SKIP, expiration_year: SKIP,
               security_code: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @number = number unless number == SKIP
  @expiration_month = expiration_month unless expiration_month == SKIP
  @expiration_year = expiration_year unless expiration_year == SKIP
  @security_code = security_code unless security_code == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#expiration_monthString

Two-digit month in which the payment card expires. Format: MM. Possible Values: 01 through 12.

Returns:

  • (String)


24
25
26
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 24

def expiration_month
  @expiration_month
end

#expiration_yearString

Four-digit year in which the credit card expires. Format: YYYY.

Returns:

  • (String)


29
30
31
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 29

def expiration_year
  @expiration_year
end

#numberString

The customer’s payment card number, also known as the Primary Account Number (PAN). You can also use this field for encoded account numbers.

Returns:

  • (String)


18
19
20
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 18

def number
  @number
end

#security_codeString

Card Verification Code. This value is sent to the issuer to support the approval of a network token provision. It is not persisted against the Instrument Identifier.

Returns:

  • (String)


36
37
38
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 36

def security_code
  @security_code
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 76

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  number = hash.key?('number') ? hash['number'] : SKIP
  expiration_month =
    hash.key?('expirationMonth') ? hash['expirationMonth'] : SKIP
  expiration_year =
    hash.key?('expirationYear') ? hash['expirationYear'] : SKIP
  security_code = hash.key?('securityCode') ? hash['securityCode'] : 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.
  Card13.new(number: number,
             expiration_month: expiration_month,
             expiration_year: expiration_year,
             security_code: security_code,
             additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



39
40
41
42
43
44
45
46
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 39

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['number'] = 'number'
  @_hash['expiration_month'] = 'expirationMonth'
  @_hash['expiration_year'] = 'expirationYear'
  @_hash['security_code'] = 'securityCode'
  @_hash
end

.nullablesObject

An array for nullable fields



59
60
61
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 59

def self.nullables
  []
end

.optionalsObject

An array for optional fields



49
50
51
52
53
54
55
56
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 49

def self.optionals
  %w[
    number
    expiration_month
    expiration_year
    security_code
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



111
112
113
114
115
116
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 111

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

#to_sObject

Provides a human-readable string representation of the object.



103
104
105
106
107
108
# File 'lib/visa_acceptance_merged_spec/models/card13.rb', line 103

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