cybersource_rest_client 0.0.41 → 0.0.44

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +206 -206
  3. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +10 -1
  4. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +1 -1
  5. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_issuer_information.rb +20 -4
  6. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_insights_information.rb +183 -0
  7. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_insights_information_response_insights.rb +206 -0
  8. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +2 -2
  9. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +20 -4
  10. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +22 -6
  11. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information_emv.rb +2 -8
  12. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +14 -4
  13. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options_initiator.rb +2 -2
  14. data/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information_authorization_options_initiator.rb +2 -2
  15. data/lib/cybersource_rest_client/models/reporting_v3_chargeback_details_get200_response_chargeback_details.rb +14 -4
  16. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response_consumer_authentication_information.rb +49 -1
  17. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response_consumer_authentication_information.rb +44 -2
  18. data/lib/cybersource_rest_client/models/riskv1authenticationresults_consumer_authentication_information.rb +35 -3
  19. data/lib/cybersource_rest_client/models/{tss_v2_transactions_post201_response__embedded_device_information.rb → riskv1authenticationresults_device_information.rb} +1 -1
  20. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +1 -1
  21. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +61 -2
  22. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +1 -1
  23. data/lib/cybersource_rest_client/models/riskv1decisions_consumer_authentication_information.rb +13 -3
  24. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +1 -1
  25. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +10 -1
  26. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_customer.rb +1 -7
  27. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options.rb +1 -1
  28. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options_initiator.rb +213 -0
  29. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information.rb +14 -5
  30. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_bank.rb +183 -0
  31. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_bank_account.rb +194 -0
  32. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_customer.rb +184 -0
  33. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_transaction_summaries.rb +1 -1
  34. data/lib/cybersource_rest_client/models/validate_request.rb +13 -4
  35. data/lib/cybersource_rest_client.rb +7 -1
  36. metadata +9 -3
@@ -0,0 +1,183 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class PtsV2PaymentsPost201ResponsePaymentInsightsInformation
17
+ attr_accessor :response_insights
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'response_insights' => :'responseInsights'
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.swagger_types
28
+ {
29
+ :'response_insights' => :'PtsV2PaymentsPost201ResponsePaymentInsightsInformationResponseInsights'
30
+ }
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ return unless attributes.is_a?(Hash)
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
40
+
41
+ if attributes.has_key?(:'responseInsights')
42
+ self.response_insights = attributes[:'responseInsights']
43
+ end
44
+ end
45
+
46
+ # Show invalid properties with the reasons. Usually used together with valid?
47
+ # @return Array for valid properties with the reasons
48
+ def list_invalid_properties
49
+ invalid_properties = Array.new
50
+ invalid_properties
51
+ end
52
+
53
+ # Check to see if the all the properties in the model are valid
54
+ # @return true if the model is valid
55
+ def valid?
56
+ true
57
+ end
58
+
59
+ # Checks equality by comparing each attribute.
60
+ # @param [Object] Object to be compared
61
+ def ==(o)
62
+ return true if self.equal?(o)
63
+ self.class == o.class &&
64
+ response_insights == o.response_insights
65
+ end
66
+
67
+ # @see the `==` method
68
+ # @param [Object] Object to be compared
69
+ def eql?(o)
70
+ self == o
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Fixnum] Hash code
75
+ def hash
76
+ [response_insights].hash
77
+ end
78
+
79
+ # Builds the object from hash
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ # @return [Object] Returns the model itself
82
+ def build_from_hash(attributes)
83
+ return nil unless attributes.is_a?(Hash)
84
+ self.class.swagger_types.each_pair do |key, type|
85
+ if type =~ /\AArray<(.*)>/i
86
+ # check to ensure the input is an array given that the the attribute
87
+ # is documented as an array but the input is not
88
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
89
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
90
+ end
91
+ elsif !attributes[self.class.attribute_map[key]].nil?
92
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
93
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
94
+ end
95
+
96
+ self
97
+ end
98
+
99
+ # Deserializes the data based on type
100
+ # @param string type Data type
101
+ # @param string value Value to be deserialized
102
+ # @return [Object] Deserialized data
103
+ def _deserialize(type, value)
104
+ case type.to_sym
105
+ when :DateTime
106
+ DateTime.parse(value)
107
+ when :Date
108
+ Date.parse(value)
109
+ when :String
110
+ value.to_s
111
+ when :Integer
112
+ value.to_i
113
+ when :Float
114
+ value.to_f
115
+ when :BOOLEAN
116
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
117
+ true
118
+ else
119
+ false
120
+ end
121
+ when :Object
122
+ # generic object (usually a Hash), return directly
123
+ value
124
+ when /\AArray<(?<inner_type>.+)>\z/
125
+ inner_type = Regexp.last_match[:inner_type]
126
+ value.map { |v| _deserialize(inner_type, v) }
127
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
128
+ k_type = Regexp.last_match[:k_type]
129
+ v_type = Regexp.last_match[:v_type]
130
+ {}.tap do |hash|
131
+ value.each do |k, v|
132
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
133
+ end
134
+ end
135
+ else # model
136
+ temp_model = CyberSource.const_get(type).new
137
+ temp_model.build_from_hash(value)
138
+ end
139
+ end
140
+
141
+ # Returns the string representation of the object
142
+ # @return [String] String presentation of the object
143
+ def to_s
144
+ to_hash.to_s
145
+ end
146
+
147
+ # to_body is an alias to to_hash (backward compatibility)
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_body
150
+ to_hash
151
+ end
152
+
153
+ # Returns the object in the form of hash
154
+ # @return [Hash] Returns the object in the form of hash
155
+ def to_hash
156
+ hash = {}
157
+ self.class.attribute_map.each_pair do |attr, param|
158
+ value = self.send(attr)
159
+ next if value.nil?
160
+ hash[param] = _to_hash(value)
161
+ end
162
+ hash
163
+ end
164
+
165
+ # Outputs non-array value in the form of hash
166
+ # For object, use to_hash. Otherwise, just return the value
167
+ # @param [Object] value Any valid value
168
+ # @return [Hash] Returns the value in the form of hash
169
+ def _to_hash(value)
170
+ if value.is_a?(Array)
171
+ value.compact.map { |v| _to_hash(v) }
172
+ elsif value.is_a?(Hash)
173
+ {}.tap do |hash|
174
+ value.each { |k, v| hash[k] = _to_hash(v) }
175
+ end
176
+ elsif value.respond_to? :to_hash
177
+ value.to_hash
178
+ else
179
+ value
180
+ end
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,206 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class PtsV2PaymentsPost201ResponsePaymentInsightsInformationResponseInsights
17
+ # Categorization of response message from processor Possible Values: - `APPROVED` - `ISSUER_WILL_NEVER_APPROVE` - `ISSUER_CANT_APPROVE_AT_THIS_TIME` - `ISSUER_CANT_APPROVE_WITH_THESE_DETAILS` - `GENERIC_ERROR` - `OTHERS` - `MATCH_NOT_FOUND`
18
+ attr_accessor :category
19
+
20
+ # Categorization Code of response message from processor Possible Values: - `01` : Issuer Will Never Approve - `02` : Issuer Can't Approve at this Time - `03` : Issuer Can't Approve with these Details - `04` : Generic Error - `98` : Others - `99` : Payment Insights Response Category Match Not Found
21
+ attr_accessor :category_code
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'category' => :'category',
27
+ :'category_code' => :'categoryCode'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'category' => :'String',
35
+ :'category_code' => :'String'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'category')
48
+ self.category = attributes[:'category']
49
+ end
50
+
51
+ if attributes.has_key?(:'categoryCode')
52
+ self.category_code = attributes[:'categoryCode']
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ invalid_properties
61
+ end
62
+
63
+ # Check to see if the all the properties in the model are valid
64
+ # @return true if the model is valid
65
+ def valid?
66
+ true
67
+ end
68
+
69
+ # Custom attribute writer method with validation
70
+ # @param [Object] category Value to be assigned
71
+ def category=(category)
72
+ @category = category
73
+ end
74
+
75
+ # Custom attribute writer method with validation
76
+ # @param [Object] category_code Value to be assigned
77
+ def category_code=(category_code)
78
+ @category_code = category_code
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ category == o.category &&
87
+ category_code == o.category_code
88
+ end
89
+
90
+ # @see the `==` method
91
+ # @param [Object] Object to be compared
92
+ def eql?(o)
93
+ self == o
94
+ end
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Fixnum] Hash code
98
+ def hash
99
+ [category, category_code].hash
100
+ end
101
+
102
+ # Builds the object from hash
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ # @return [Object] Returns the model itself
105
+ def build_from_hash(attributes)
106
+ return nil unless attributes.is_a?(Hash)
107
+ self.class.swagger_types.each_pair do |key, type|
108
+ if type =~ /\AArray<(.*)>/i
109
+ # check to ensure the input is an array given that the the attribute
110
+ # is documented as an array but the input is not
111
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
112
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
113
+ end
114
+ elsif !attributes[self.class.attribute_map[key]].nil?
115
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
116
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
117
+ end
118
+
119
+ self
120
+ end
121
+
122
+ # Deserializes the data based on type
123
+ # @param string type Data type
124
+ # @param string value Value to be deserialized
125
+ # @return [Object] Deserialized data
126
+ def _deserialize(type, value)
127
+ case type.to_sym
128
+ when :DateTime
129
+ DateTime.parse(value)
130
+ when :Date
131
+ Date.parse(value)
132
+ when :String
133
+ value.to_s
134
+ when :Integer
135
+ value.to_i
136
+ when :Float
137
+ value.to_f
138
+ when :BOOLEAN
139
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
140
+ true
141
+ else
142
+ false
143
+ end
144
+ when :Object
145
+ # generic object (usually a Hash), return directly
146
+ value
147
+ when /\AArray<(?<inner_type>.+)>\z/
148
+ inner_type = Regexp.last_match[:inner_type]
149
+ value.map { |v| _deserialize(inner_type, v) }
150
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
151
+ k_type = Regexp.last_match[:k_type]
152
+ v_type = Regexp.last_match[:v_type]
153
+ {}.tap do |hash|
154
+ value.each do |k, v|
155
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
156
+ end
157
+ end
158
+ else # model
159
+ temp_model = CyberSource.const_get(type).new
160
+ temp_model.build_from_hash(value)
161
+ end
162
+ end
163
+
164
+ # Returns the string representation of the object
165
+ # @return [String] String presentation of the object
166
+ def to_s
167
+ to_hash.to_s
168
+ end
169
+
170
+ # to_body is an alias to to_hash (backward compatibility)
171
+ # @return [Hash] Returns the object in the form of hash
172
+ def to_body
173
+ to_hash
174
+ end
175
+
176
+ # Returns the object in the form of hash
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_hash
179
+ hash = {}
180
+ self.class.attribute_map.each_pair do |attr, param|
181
+ value = self.send(attr)
182
+ next if value.nil?
183
+ hash[param] = _to_hash(value)
184
+ end
185
+ hash
186
+ end
187
+
188
+ # Outputs non-array value in the form of hash
189
+ # For object, use to_hash. Otherwise, just return the value
190
+ # @param [Object] value Any valid value
191
+ # @return [Hash] Returns the value in the form of hash
192
+ def _to_hash(value)
193
+ if value.is_a?(Array)
194
+ value.compact.map { |v| _to_hash(v) }
195
+ elsif value.is_a?(Hash)
196
+ {}.tap do |hash|
197
+ value.each { |k, v| hash[k] = _to_hash(v) }
198
+ end
199
+ elsif value.respond_to? :to_hash
200
+ value.to_hash
201
+ else
202
+ value
203
+ end
204
+ end
205
+ end
206
+ end
@@ -46,7 +46,7 @@ module CyberSource
46
46
  # This field contains 3DS version that was used for Secured Consumer Authentication (SCA). For example 3DS secure version 1.0.2 or 2.0.0 is used for Secured Consumer Authentication. For Cybersource Through Visanet Gateway: The value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 113 , Field: MC AVV Verification—Program Protocol It will contain one of the following values: - `1` (3D Secure Version 1.0 (3DS 1.0)) - `2` (EMV 3-D Secure (3DS 2.0))
47
47
  attr_accessor :pa_specification_version
48
48
 
49
- # Indicates the type of authentication that will be used to challenge the card holder. Possible Values: 01 - Static 02 - Dynamic 03 - OOB (Out of Band) 04 - Decoupled **NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.
49
+ # Indicates the type of authentication that will be used to challenge the card holder. Possible Values: 01 - Static 02 - Dynamic 03 - OOB (Out of Band) 04 - Decoupled 20 - OTP hosted at merchant end. (Rupay S2S flow) **NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.
50
50
  attr_accessor :authentication_type
51
51
 
52
52
  # JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.
@@ -70,7 +70,7 @@ module CyberSource
70
70
  # The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request payload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be provided by merchant in authorization request if calling an external 3DS provider. This field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC. Format: YYYYMMDDHHMMSS
71
71
  attr_accessor :authentication_date
72
72
 
73
- # Payer authentication transaction identifier passed to link the check enrollment and validate authentication messages. **Note**: Required for Standard integration for enroll service. Required for Hybrid integration for validate service.
73
+ # Payer authentication transaction identifier passed to link the check enrollment and validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase. **Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service. Required for Hybrid integration for validate service.
74
74
  attr_accessor :authentication_transaction_id
75
75
 
76
76
  # An indicator as to why the transaction was canceled. Possible Values: - `01`: Cardholder selected Cancel. - `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo). - `03`: Transaction Timed Out—Decoupled Authentication - `04`: Transaction timed out at ACS—other timeouts - `05`: Transaction Timed out at ACS - First CReq not received by ACS - `06`: Transaction Error - `07`: Unknown - `08`: Transaction Timed Out at SDK
@@ -56,6 +56,9 @@ module CyberSource
56
56
  # Name of the card product. Possible value: - BNDES This field is supported only for BNDES transactions on CyberSource through VisaNet. The value for this field corresponds to the following data in the TC 33 capture file5: - Record: CP07 TCR4 - Position: 115-120 - Field: Brazil Country Data
57
57
  attr_accessor :product_name
58
58
 
59
+ # Flag that identifies how the card type was selected. Possible values: - 0: Card type was selected based on default acquirer settings. - 1: Customer selected the card type.
60
+ attr_accessor :type_selection_indicator
61
+
59
62
  # Attribute mapping from ruby-style variable name to JSON key.
60
63
  def self.attribute_map
61
64
  {
@@ -72,7 +75,8 @@ module CyberSource
72
75
  :'issue_number' => :'issueNumber',
73
76
  :'start_month' => :'startMonth',
74
77
  :'start_year' => :'startYear',
75
- :'product_name' => :'productName'
78
+ :'product_name' => :'productName',
79
+ :'type_selection_indicator' => :'typeSelectionIndicator'
76
80
  }
77
81
  end
78
82
 
@@ -92,7 +96,8 @@ module CyberSource
92
96
  :'issue_number' => :'String',
93
97
  :'start_month' => :'String',
94
98
  :'start_year' => :'String',
95
- :'product_name' => :'String'
99
+ :'product_name' => :'String',
100
+ :'type_selection_indicator' => :'String'
96
101
  }
97
102
  end
98
103
 
@@ -159,6 +164,10 @@ module CyberSource
159
164
  if attributes.has_key?(:'productName')
160
165
  self.product_name = attributes[:'productName']
161
166
  end
167
+
168
+ if attributes.has_key?(:'typeSelectionIndicator')
169
+ self.type_selection_indicator = attributes[:'typeSelectionIndicator']
170
+ end
162
171
  end
163
172
 
164
173
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -252,6 +261,12 @@ module CyberSource
252
261
  @product_name = product_name
253
262
  end
254
263
 
264
+ # Custom attribute writer method with validation
265
+ # @param [Object] type_selection_indicator Value to be assigned
266
+ def type_selection_indicator=(type_selection_indicator)
267
+ @type_selection_indicator = type_selection_indicator
268
+ end
269
+
255
270
  # Checks equality by comparing each attribute.
256
271
  # @param [Object] Object to be compared
257
272
  def ==(o)
@@ -270,7 +285,8 @@ module CyberSource
270
285
  issue_number == o.issue_number &&
271
286
  start_month == o.start_month &&
272
287
  start_year == o.start_year &&
273
- product_name == o.product_name
288
+ product_name == o.product_name &&
289
+ type_selection_indicator == o.type_selection_indicator
274
290
  end
275
291
 
276
292
  # @see the `==` method
@@ -282,7 +298,7 @@ module CyberSource
282
298
  # Calculates hash code according to all attributes.
283
299
  # @return [Fixnum] Hash code
284
300
  def hash
285
- [number, expiration_month, expiration_year, type, use_as, source_account_type, source_account_type_details, security_code, security_code_indicator, account_encoder_id, issue_number, start_month, start_year, product_name].hash
301
+ [number, expiration_month, expiration_year, type, use_as, source_account_type, source_account_type_details, security_code, security_code_indicator, account_encoder_id, issue_number, start_month, start_year, product_name, type_selection_indicator].hash
286
302
  end
287
303
 
288
304
  # Builds the object from hash
@@ -26,13 +26,13 @@ module CyberSource
26
26
  # Three-digit value that indicates the card type. **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. Possible values: - `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron. - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard. - `003`: American Express - `004`: Discover - `005`: Diners Club - `006`: Carte Blanche[^1] - `007`: JCB[^1] - `014`: Enroute[^1] - `021`: JAL[^1] - `024`: Maestro (UK Domestic)[^1] - `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types. - `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types. - `034`: Dankort[^1] - `036`: Cartes Bancaires[^1,4] - `037`: Carta Si[^1] - `039`: Encoded account number[^1] - `040`: UATP[^1] - `042`: Maestro (International)[^1] - `050`: Hipercard[^2,3] - `051`: Aura - `054`: Elo[^3] - `062`: China UnionPay [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit. [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5. [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services. #### Used by **Authorization** Required for Carte Blanche and JCB. Optional for all other card types. #### Card Present reply This field is included in the reply message when the client software that is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to have your account enabled to receive these fields in the credit reply message. Returned by the Credit service. This reply field is only supported by the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response. #### GPX This field only supports transactions from the following card types: - Visa - Mastercard - AMEX - Discover - Diners - JCB - Union Pay International
27
27
  attr_accessor :type
28
28
 
29
- # This field is used internally.
29
+ # This field contains token information.
30
30
  attr_accessor :cryptogram
31
31
 
32
32
  # Value that identifies your business and indicates that the cardholder’s account number is tokenized. This value is assigned by the token service provider and is unique within the token service provider’s database. **Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**. #### PIN debit Optional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.
33
33
  attr_accessor :requestor_id
34
34
 
35
- # Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. #### Visa Platform Connect - `1`: In App tokenization. Example: InApp apple pay. - `3`: Card/Credential On File Tokenization. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.
35
+ # Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that provided you with information about the token. Possible value: - `2`: Near-field communication (NFC) transaction. The customer’s mobile device provided the token data for a contactless EMV transaction. For recurring transactions, use this value if the original transaction was a contactless EMV transaction. #### Visa Platform Connect - `1`: For Rupay and In App tokenization. Example: InApp apple pay. - `3`: Card/Credential On File Tokenization. **NOTE** No CyberSource through VisaNet acquirers support EMV at this time. Required field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.
36
36
  attr_accessor :transaction_type
37
37
 
38
38
  # Confidence level of the tokenization. This value is assigned by the token service provider. **Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**. Returned by PIN debit credit or PIN debit purchase.
@@ -44,6 +44,9 @@ module CyberSource
44
44
  # Card Verification Number (CVN). #### Ingenico ePayments Do not include this field when **commerceIndicator=recurring**. **Note** Ingenico ePayments was previously called _Global Collect_. For details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)
45
45
  attr_accessor :security_code
46
46
 
47
+ # Indicates whether a CVN code was sent. Possible values: - `0` (default): CVN service not requested. This default value is used when you do not include `securityCode` field in the request. - `1` (default): CVN service requested and supported. This default value is used when you include `securityCode` field in the request. - `2`: CVN on credit card is illegible. - `9`: CVN was not imprinted on credit card. #### FDMS Nashville Required for American Express cards; otherwise, optional. #### TSYS Acquiring Solutions Optional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used. #### All other processors Optional.
48
+ attr_accessor :security_code_indicator
49
+
47
50
  # Attribute mapping from ruby-style variable name to JSON key.
48
51
  def self.attribute_map
49
52
  {
@@ -56,7 +59,8 @@ module CyberSource
56
59
  :'transaction_type' => :'transactionType',
57
60
  :'assurance_level' => :'assuranceLevel',
58
61
  :'storage_method' => :'storageMethod',
59
- :'security_code' => :'securityCode'
62
+ :'security_code' => :'securityCode',
63
+ :'security_code_indicator' => :'securityCodeIndicator'
60
64
  }
61
65
  end
62
66
 
@@ -72,7 +76,8 @@ module CyberSource
72
76
  :'transaction_type' => :'String',
73
77
  :'assurance_level' => :'String',
74
78
  :'storage_method' => :'String',
75
- :'security_code' => :'String'
79
+ :'security_code' => :'String',
80
+ :'security_code_indicator' => :'String'
76
81
  }
77
82
  end
78
83
 
@@ -123,6 +128,10 @@ module CyberSource
123
128
  if attributes.has_key?(:'securityCode')
124
129
  self.security_code = attributes[:'securityCode']
125
130
  end
131
+
132
+ if attributes.has_key?(:'securityCodeIndicator')
133
+ self.security_code_indicator = attributes[:'securityCodeIndicator']
134
+ end
126
135
  end
127
136
 
128
137
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -192,6 +201,12 @@ module CyberSource
192
201
  @security_code = security_code
193
202
  end
194
203
 
204
+ # Custom attribute writer method with validation
205
+ # @param [Object] security_code_indicator Value to be assigned
206
+ def security_code_indicator=(security_code_indicator)
207
+ @security_code_indicator = security_code_indicator
208
+ end
209
+
195
210
  # Checks equality by comparing each attribute.
196
211
  # @param [Object] Object to be compared
197
212
  def ==(o)
@@ -206,7 +221,8 @@ module CyberSource
206
221
  transaction_type == o.transaction_type &&
207
222
  assurance_level == o.assurance_level &&
208
223
  storage_method == o.storage_method &&
209
- security_code == o.security_code
224
+ security_code == o.security_code &&
225
+ security_code_indicator == o.security_code_indicator
210
226
  end
211
227
 
212
228
  # @see the `==` method
@@ -218,7 +234,7 @@ module CyberSource
218
234
  # Calculates hash code according to all attributes.
219
235
  # @return [Fixnum] Hash code
220
236
  def hash
221
- [number, expiration_month, expiration_year, type, cryptogram, requestor_id, transaction_type, assurance_level, storage_method, security_code].hash
237
+ [number, expiration_month, expiration_year, type, cryptogram, requestor_id, transaction_type, assurance_level, storage_method, security_code, security_code_indicator].hash
222
238
  end
223
239
 
224
240
  # Builds the object from hash
@@ -29,7 +29,7 @@ module CyberSource
29
29
  # Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for one of these reasons: - Technical failure: the EMV terminal or EMV card cannot read and process chip data. - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card. EMV terminals are coded to determine whether the terminal and EMV card have any applications in common. EMV terminals provide this information to you. Possible values: - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the EMV terminal either used information from a successful chip read or it was not a chip transaction. - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful. This field is supported only on **GPN** and **JCN Gateway**. **NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field when the EMV terminal does not have any applications in common with the EMV card.
30
30
  attr_accessor :fallback_condition
31
31
 
32
- # #### Visa Platform Connect Value 1 indicates this transaction is intentionally duplicated The field contains value “1” which indicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending a duplicate auth request for a single tap txn because the issuer requested a PIN.
32
+ # #### Visa Platform Connect Value “true” indicates this transaction is intentionally duplicated . The field contains value “true” which indicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending a duplicate auth request for a single tap txn because the issuer requested a PIN.
33
33
  attr_accessor :is_repeat
34
34
 
35
35
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -52,7 +52,7 @@ module CyberSource
52
52
  :'card_sequence_number' => :'String',
53
53
  :'fallback' => :'BOOLEAN',
54
54
  :'fallback_condition' => :'Integer',
55
- :'is_repeat' => :'String'
55
+ :'is_repeat' => :'BOOLEAN'
56
56
  }
57
57
  end
58
58
 
@@ -114,12 +114,6 @@ module CyberSource
114
114
  @card_sequence_number = card_sequence_number
115
115
  end
116
116
 
117
- # Custom attribute writer method with validation
118
- # @param [Object] is_repeat Value to be assigned
119
- def is_repeat=(is_repeat)
120
- @is_repeat = is_repeat
121
- end
122
-
123
117
  # Checks equality by comparing each attribute.
124
118
  # @param [Object] Object to be compared
125
119
  def ==(o)
@@ -87,6 +87,9 @@ module CyberSource
87
87
  # Flag that indicates if the transaction is pay by points transaction true: Transaction uses loyalty points false: Transaction does not use loyalty points Default: false
88
88
  attr_accessor :pay_by_points_indicator
89
89
 
90
+ # Flag that indicates the functionality we are having for merchants for which auth is done through Cybersource but settlement is done by themselves. true: functionality is supported. Processor should send raw processor auth response to Merchant. false: functionality is not supported. Default: false
91
+ attr_accessor :is_return_auth_record_enabled
92
+
90
93
  # Attribute mapping from ruby-style variable name to JSON key.
91
94
  def self.attribute_map
92
95
  {
@@ -116,7 +119,8 @@ module CyberSource
116
119
  :'mobile_remote_payment_type' => :'mobileRemotePaymentType',
117
120
  :'extended_credit_total_count' => :'extendedCreditTotalCount',
118
121
  :'network_routing_order' => :'networkRoutingOrder',
119
- :'pay_by_points_indicator' => :'payByPointsIndicator'
122
+ :'pay_by_points_indicator' => :'payByPointsIndicator',
123
+ :'is_return_auth_record_enabled' => :'isReturnAuthRecordEnabled'
120
124
  }
121
125
  end
122
126
 
@@ -149,7 +153,8 @@ module CyberSource
149
153
  :'mobile_remote_payment_type' => :'String',
150
154
  :'extended_credit_total_count' => :'String',
151
155
  :'network_routing_order' => :'String',
152
- :'pay_by_points_indicator' => :'BOOLEAN'
156
+ :'pay_by_points_indicator' => :'BOOLEAN',
157
+ :'is_return_auth_record_enabled' => :'BOOLEAN'
153
158
  }
154
159
  end
155
160
 
@@ -274,6 +279,10 @@ module CyberSource
274
279
  if attributes.has_key?(:'payByPointsIndicator')
275
280
  self.pay_by_points_indicator = attributes[:'payByPointsIndicator']
276
281
  end
282
+
283
+ if attributes.has_key?(:'isReturnAuthRecordEnabled')
284
+ self.is_return_auth_record_enabled = attributes[:'isReturnAuthRecordEnabled']
285
+ end
277
286
  end
278
287
 
279
288
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -404,7 +413,8 @@ module CyberSource
404
413
  mobile_remote_payment_type == o.mobile_remote_payment_type &&
405
414
  extended_credit_total_count == o.extended_credit_total_count &&
406
415
  network_routing_order == o.network_routing_order &&
407
- pay_by_points_indicator == o.pay_by_points_indicator
416
+ pay_by_points_indicator == o.pay_by_points_indicator &&
417
+ is_return_auth_record_enabled == o.is_return_auth_record_enabled
408
418
  end
409
419
 
410
420
  # @see the `==` method
@@ -416,7 +426,7 @@ module CyberSource
416
426
  # Calculates hash code according to all attributes.
417
427
  # @return [Fixnum] Hash code
418
428
  def hash
419
- [action_list, action_token_types, capture, processor_id, business_application_id, commerce_indicator, payment_solution, reconciliation_id, link_id, purchase_level, report_group, visa_checkout_id, industry_data_type, authorization_options, capture_options, recurring_options, bank_transfer_options, purchase_options, electronic_benefits_transfer, loan_options, wallet_type, national_net_domestic_data, japan_payment_options, mobile_remote_payment_type, extended_credit_total_count, network_routing_order, pay_by_points_indicator].hash
429
+ [action_list, action_token_types, capture, processor_id, business_application_id, commerce_indicator, payment_solution, reconciliation_id, link_id, purchase_level, report_group, visa_checkout_id, industry_data_type, authorization_options, capture_options, recurring_options, bank_transfer_options, purchase_options, electronic_benefits_transfer, loan_options, wallet_type, national_net_domestic_data, japan_payment_options, mobile_remote_payment_type, extended_credit_total_count, network_routing_order, pay_by_points_indicator, is_return_auth_record_enabled].hash
420
430
  end
421
431
 
422
432
  # Builds the object from hash