cybersource_rest_client 0.0.46 → 0.0.47

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/api/emv_tag_details_api.rb +152 -0
  3. data/lib/cybersource_rest_client/api/transient_token_data_api.rb +92 -0
  4. data/lib/cybersource_rest_client/api/unified_checkout_capture_context_api.rb +88 -0
  5. data/lib/cybersource_rest_client/models/body.rb +216 -0
  6. data/lib/cybersource_rest_client/models/generate_unified_checkout_capture_context_request.rb +276 -0
  7. data/lib/cybersource_rest_client/models/inline_response_400_3.rb +265 -0
  8. data/lib/cybersource_rest_client/models/inline_response_400_3_details.rb +192 -0
  9. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information_issuer_information.rb +52 -4
  10. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_issuer_information.rb +4 -20
  11. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response.rb +13 -4
  12. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_issuer_information.rb +190 -0
  13. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +1 -1
  14. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +1 -1
  15. data/lib/cybersource_rest_client/models/ptsv2payments_recurring_payment_information.rb +100 -4
  16. data/lib/cybersource_rest_client/models/tss_v2_get_emv_tags200_response.rb +186 -0
  17. data/lib/cybersource_rest_client/models/tss_v2_get_emv_tags200_response_emv_tag_breakdown_list.rb +215 -0
  18. data/lib/cybersource_rest_client/models/tss_v2_post_emv_tags200_response.rb +186 -0
  19. data/lib/cybersource_rest_client/models/tss_v2_post_emv_tags200_response_emv_tag_breakdown_list.rb +266 -0
  20. data/lib/cybersource_rest_client/models/tss_v2_post_emv_tags200_response_parsed_emv_tags_list.rb +212 -0
  21. data/lib/cybersource_rest_client/models/tssv2transactionsemv_tag_details_emv_details_list.rb +224 -0
  22. data/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate.rb +242 -0
  23. data/lib/cybersource_rest_client/models/upv1capturecontexts_checkout_api_initialization.rb +264 -0
  24. data/lib/cybersource_rest_client/models/upv1capturecontexts_order_information.rb +201 -0
  25. data/lib/cybersource_rest_client/models/upv1capturecontexts_order_information_amount_details.rb +192 -0
  26. data/lib/cybersource_rest_client/models/upv1capturecontexts_order_information_bill_to.rb +459 -0
  27. data/lib/cybersource_rest_client/models/upv1capturecontexts_order_information_bill_to_company.rb +350 -0
  28. data/lib/cybersource_rest_client/models/upv1capturecontexts_order_information_ship_to.rb +354 -0
  29. data/lib/cybersource_rest_client.rb +21 -0
  30. metadata +45 -24
@@ -0,0 +1,192 @@
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 InlineResponse4003Details
17
+ attr_accessor :location
18
+
19
+ attr_accessor :message
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'location' => :'location',
25
+ :'message' => :'message'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.swagger_types
31
+ {
32
+ :'location' => :'String',
33
+ :'message' => :'String'
34
+ }
35
+ end
36
+
37
+ # Initializes the object
38
+ # @param [Hash] attributes Model attributes in the form of hash
39
+ def initialize(attributes = {})
40
+ return unless attributes.is_a?(Hash)
41
+
42
+ # convert string to symbol for hash key
43
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
44
+
45
+ if attributes.has_key?(:'location')
46
+ self.location = attributes[:'location']
47
+ end
48
+
49
+ if attributes.has_key?(:'message')
50
+ self.message = attributes[:'message']
51
+ end
52
+ end
53
+
54
+ # Show invalid properties with the reasons. Usually used together with valid?
55
+ # @return Array for valid properties with the reasons
56
+ def list_invalid_properties
57
+ invalid_properties = Array.new
58
+ invalid_properties
59
+ end
60
+
61
+ # Check to see if the all the properties in the model are valid
62
+ # @return true if the model is valid
63
+ def valid?
64
+ true
65
+ end
66
+
67
+ # Checks equality by comparing each attribute.
68
+ # @param [Object] Object to be compared
69
+ def ==(o)
70
+ return true if self.equal?(o)
71
+ self.class == o.class &&
72
+ location == o.location &&
73
+ message == o.message
74
+ end
75
+
76
+ # @see the `==` method
77
+ # @param [Object] Object to be compared
78
+ def eql?(o)
79
+ self == o
80
+ end
81
+
82
+ # Calculates hash code according to all attributes.
83
+ # @return [Fixnum] Hash code
84
+ def hash
85
+ [location, message].hash
86
+ end
87
+
88
+ # Builds the object from hash
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ # @return [Object] Returns the model itself
91
+ def build_from_hash(attributes)
92
+ return nil unless attributes.is_a?(Hash)
93
+ self.class.swagger_types.each_pair do |key, type|
94
+ if type =~ /\AArray<(.*)>/i
95
+ # check to ensure the input is an array given that the the attribute
96
+ # is documented as an array but the input is not
97
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
98
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
99
+ end
100
+ elsif !attributes[self.class.attribute_map[key]].nil?
101
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
102
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
103
+ end
104
+
105
+ self
106
+ end
107
+
108
+ # Deserializes the data based on type
109
+ # @param string type Data type
110
+ # @param string value Value to be deserialized
111
+ # @return [Object] Deserialized data
112
+ def _deserialize(type, value)
113
+ case type.to_sym
114
+ when :DateTime
115
+ DateTime.parse(value)
116
+ when :Date
117
+ Date.parse(value)
118
+ when :String
119
+ value.to_s
120
+ when :Integer
121
+ value.to_i
122
+ when :Float
123
+ value.to_f
124
+ when :BOOLEAN
125
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
126
+ true
127
+ else
128
+ false
129
+ end
130
+ when :Object
131
+ # generic object (usually a Hash), return directly
132
+ value
133
+ when /\AArray<(?<inner_type>.+)>\z/
134
+ inner_type = Regexp.last_match[:inner_type]
135
+ value.map { |v| _deserialize(inner_type, v) }
136
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
137
+ k_type = Regexp.last_match[:k_type]
138
+ v_type = Regexp.last_match[:v_type]
139
+ {}.tap do |hash|
140
+ value.each do |k, v|
141
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
142
+ end
143
+ end
144
+ else # model
145
+ temp_model = CyberSource.const_get(type).new
146
+ temp_model.build_from_hash(value)
147
+ end
148
+ end
149
+
150
+ # Returns the string representation of the object
151
+ # @return [String] String presentation of the object
152
+ def to_s
153
+ to_hash.to_s
154
+ end
155
+
156
+ # to_body is an alias to to_hash (backward compatibility)
157
+ # @return [Hash] Returns the object in the form of hash
158
+ def to_body
159
+ to_hash
160
+ end
161
+
162
+ # Returns the object in the form of hash
163
+ # @return [Hash] Returns the object in the form of hash
164
+ def to_hash
165
+ hash = {}
166
+ self.class.attribute_map.each_pair do |attr, param|
167
+ value = self.send(attr)
168
+ next if value.nil?
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ # Outputs non-array value in the form of hash
175
+ # For object, use to_hash. Otherwise, just return the value
176
+ # @param [Object] value Any valid value
177
+ # @return [Hash] Returns the value in the form of hash
178
+ def _to_hash(value)
179
+ if value.is_a?(Array)
180
+ value.compact.map { |v| _to_hash(v) }
181
+ elsif value.is_a?(Hash)
182
+ {}.tap do |hash|
183
+ value.each { |k, v| hash[k] = _to_hash(v) }
184
+ end
185
+ elsif value.respond_to? :to_hash
186
+ value.to_hash
187
+ else
188
+ value
189
+ end
190
+ end
191
+ end
192
+ end
@@ -20,11 +20,23 @@ module CyberSource
20
20
  # Possible values: Visa Platform Connect - `2` Trusted merchant exemption validated/honored. - `3` Trusted merchant exemption failed validation/not honored.
21
21
  attr_accessor :trusted_merchant_exemption_result
22
22
 
23
+ # This will be the value returned by Visanet when low value exemption has been requested. Valid values: Visa Platform Connect - `2` Low value exemption validated/honored - `3` Low value exemption failed validation/not honored
24
+ attr_accessor :low_value_exemption_result
25
+
26
+ # This will be the value returned by Visanet when secure corporate payment (scp) exemption has been requested. Valid values: Visa Platform Connect - `2` Secure corporate payment exemption validated/honored - `3` Secure corporate payment exemption failed validation/not honored
27
+ attr_accessor :secure_corporate_payment_result
28
+
29
+ # This will be the value returned by Visanet when transaction risk analysis (TRA) exemption has been requested. Valid values: Visa Platform Connect - `2` transaction risk analysis (TRA) exemption validated/honored - `3` transaction risk analysis (TRA) exemption failed validation/not honored
30
+ attr_accessor :transaction_risk_analysis_exemption_result
31
+
23
32
  # Attribute mapping from ruby-style variable name to JSON key.
24
33
  def self.attribute_map
25
34
  {
26
35
  :'risk_analysis_exemption_result' => :'riskAnalysisExemptionResult',
27
- :'trusted_merchant_exemption_result' => :'trustedMerchantExemptionResult'
36
+ :'trusted_merchant_exemption_result' => :'trustedMerchantExemptionResult',
37
+ :'low_value_exemption_result' => :'lowValueExemptionResult',
38
+ :'secure_corporate_payment_result' => :'secureCorporatePaymentResult',
39
+ :'transaction_risk_analysis_exemption_result' => :'transactionRiskAnalysisExemptionResult'
28
40
  }
29
41
  end
30
42
 
@@ -32,7 +44,10 @@ module CyberSource
32
44
  def self.swagger_types
33
45
  {
34
46
  :'risk_analysis_exemption_result' => :'String',
35
- :'trusted_merchant_exemption_result' => :'String'
47
+ :'trusted_merchant_exemption_result' => :'String',
48
+ :'low_value_exemption_result' => :'String',
49
+ :'secure_corporate_payment_result' => :'String',
50
+ :'transaction_risk_analysis_exemption_result' => :'String'
36
51
  }
37
52
  end
38
53
 
@@ -51,6 +66,18 @@ module CyberSource
51
66
  if attributes.has_key?(:'trustedMerchantExemptionResult')
52
67
  self.trusted_merchant_exemption_result = attributes[:'trustedMerchantExemptionResult']
53
68
  end
69
+
70
+ if attributes.has_key?(:'lowValueExemptionResult')
71
+ self.low_value_exemption_result = attributes[:'lowValueExemptionResult']
72
+ end
73
+
74
+ if attributes.has_key?(:'secureCorporatePaymentResult')
75
+ self.secure_corporate_payment_result = attributes[:'secureCorporatePaymentResult']
76
+ end
77
+
78
+ if attributes.has_key?(:'transactionRiskAnalysisExemptionResult')
79
+ self.transaction_risk_analysis_exemption_result = attributes[:'transactionRiskAnalysisExemptionResult']
80
+ end
54
81
  end
55
82
 
56
83
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -78,13 +105,34 @@ module CyberSource
78
105
  @trusted_merchant_exemption_result = trusted_merchant_exemption_result
79
106
  end
80
107
 
108
+ # Custom attribute writer method with validation
109
+ # @param [Object] low_value_exemption_result Value to be assigned
110
+ def low_value_exemption_result=(low_value_exemption_result)
111
+ @low_value_exemption_result = low_value_exemption_result
112
+ end
113
+
114
+ # Custom attribute writer method with validation
115
+ # @param [Object] secure_corporate_payment_result Value to be assigned
116
+ def secure_corporate_payment_result=(secure_corporate_payment_result)
117
+ @secure_corporate_payment_result = secure_corporate_payment_result
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] transaction_risk_analysis_exemption_result Value to be assigned
122
+ def transaction_risk_analysis_exemption_result=(transaction_risk_analysis_exemption_result)
123
+ @transaction_risk_analysis_exemption_result = transaction_risk_analysis_exemption_result
124
+ end
125
+
81
126
  # Checks equality by comparing each attribute.
82
127
  # @param [Object] Object to be compared
83
128
  def ==(o)
84
129
  return true if self.equal?(o)
85
130
  self.class == o.class &&
86
131
  risk_analysis_exemption_result == o.risk_analysis_exemption_result &&
87
- trusted_merchant_exemption_result == o.trusted_merchant_exemption_result
132
+ trusted_merchant_exemption_result == o.trusted_merchant_exemption_result &&
133
+ low_value_exemption_result == o.low_value_exemption_result &&
134
+ secure_corporate_payment_result == o.secure_corporate_payment_result &&
135
+ transaction_risk_analysis_exemption_result == o.transaction_risk_analysis_exemption_result
88
136
  end
89
137
 
90
138
  # @see the `==` method
@@ -96,7 +144,7 @@ module CyberSource
96
144
  # Calculates hash code according to all attributes.
97
145
  # @return [Fixnum] Hash code
98
146
  def hash
99
- [risk_analysis_exemption_result, trusted_merchant_exemption_result].hash
147
+ [risk_analysis_exemption_result, trusted_merchant_exemption_result, low_value_exemption_result, secure_corporate_payment_result, transaction_risk_analysis_exemption_result].hash
100
148
  end
101
149
 
102
150
  # Builds the object from hash
@@ -26,17 +26,13 @@ module CyberSource
26
26
  # Additional authorization code that must be printed on the receipt when returned by the processor. This value is generated by the processor and is returned only for a successful transaction. This reply field is supported only for these processors: - FDC Nashville Global - SIX
27
27
  attr_accessor :response_code
28
28
 
29
- # issuerInformation.responseRaw is the raw processor auth response returned to merchant in CYBS auth response if auth request includes \"processingInformation.isReturnAuthRecordEnabled=true\". If supported by the gateway code, it is available to merchants who auth through CYBS and run their own settlement processing.
30
- attr_accessor :response_raw
31
-
32
29
  # Attribute mapping from ruby-style variable name to JSON key.
33
30
  def self.attribute_map
34
31
  {
35
32
  :'country' => :'country',
36
33
  :'discretionary_data' => :'discretionaryData',
37
34
  :'country_specific_discretionary_data' => :'countrySpecificDiscretionaryData',
38
- :'response_code' => :'responseCode',
39
- :'response_raw' => :'responseRaw'
35
+ :'response_code' => :'responseCode'
40
36
  }
41
37
  end
42
38
 
@@ -46,8 +42,7 @@ module CyberSource
46
42
  :'country' => :'String',
47
43
  :'discretionary_data' => :'String',
48
44
  :'country_specific_discretionary_data' => :'String',
49
- :'response_code' => :'String',
50
- :'response_raw' => :'String'
45
+ :'response_code' => :'String'
51
46
  }
52
47
  end
53
48
 
@@ -74,10 +69,6 @@ module CyberSource
74
69
  if attributes.has_key?(:'responseCode')
75
70
  self.response_code = attributes[:'responseCode']
76
71
  end
77
-
78
- if attributes.has_key?(:'responseRaw')
79
- self.response_raw = attributes[:'responseRaw']
80
- end
81
72
  end
82
73
 
83
74
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -117,12 +108,6 @@ module CyberSource
117
108
  @response_code = response_code
118
109
  end
119
110
 
120
- # Custom attribute writer method with validation
121
- # @param [Object] response_raw Value to be assigned
122
- def response_raw=(response_raw)
123
- @response_raw = response_raw
124
- end
125
-
126
111
  # Checks equality by comparing each attribute.
127
112
  # @param [Object] Object to be compared
128
113
  def ==(o)
@@ -131,8 +116,7 @@ module CyberSource
131
116
  country == o.country &&
132
117
  discretionary_data == o.discretionary_data &&
133
118
  country_specific_discretionary_data == o.country_specific_discretionary_data &&
134
- response_code == o.response_code &&
135
- response_raw == o.response_raw
119
+ response_code == o.response_code
136
120
  end
137
121
 
138
122
  # @see the `==` method
@@ -144,7 +128,7 @@ module CyberSource
144
128
  # Calculates hash code according to all attributes.
145
129
  # @return [Fixnum] Hash code
146
130
  def hash
147
- [country, discretionary_data, country_specific_discretionary_data, response_code, response_raw].hash
131
+ [country, discretionary_data, country_specific_discretionary_data, response_code].hash
148
132
  end
149
133
 
150
134
  # Builds the object from hash
@@ -40,6 +40,8 @@ module CyberSource
40
40
 
41
41
  attr_accessor :recipient_information
42
42
 
43
+ attr_accessor :issuer_information
44
+
43
45
  # Attribute mapping from ruby-style variable name to JSON key.
44
46
  def self.attribute_map
45
47
  {
@@ -53,7 +55,8 @@ module CyberSource
53
55
  :'merchant_information' => :'merchantInformation',
54
56
  :'order_information' => :'orderInformation',
55
57
  :'processor_information' => :'processorInformation',
56
- :'recipient_information' => :'recipientInformation'
58
+ :'recipient_information' => :'recipientInformation',
59
+ :'issuer_information' => :'issuerInformation'
57
60
  }
58
61
  end
59
62
 
@@ -70,7 +73,8 @@ module CyberSource
70
73
  :'merchant_information' => :'PtsV2PayoutsPost201ResponseMerchantInformation',
71
74
  :'order_information' => :'PtsV2PayoutsPost201ResponseOrderInformation',
72
75
  :'processor_information' => :'PtsV2PayoutsPost201ResponseProcessorInformation',
73
- :'recipient_information' => :'PtsV2PayoutsPost201ResponseRecipientInformation'
76
+ :'recipient_information' => :'PtsV2PayoutsPost201ResponseRecipientInformation',
77
+ :'issuer_information' => :'PtsV2PayoutsPost201ResponseIssuerInformation'
74
78
  }
75
79
  end
76
80
 
@@ -125,6 +129,10 @@ module CyberSource
125
129
  if attributes.has_key?(:'recipientInformation')
126
130
  self.recipient_information = attributes[:'recipientInformation']
127
131
  end
132
+
133
+ if attributes.has_key?(:'issuerInformation')
134
+ self.issuer_information = attributes[:'issuerInformation']
135
+ end
128
136
  end
129
137
 
130
138
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -167,7 +175,8 @@ module CyberSource
167
175
  merchant_information == o.merchant_information &&
168
176
  order_information == o.order_information &&
169
177
  processor_information == o.processor_information &&
170
- recipient_information == o.recipient_information
178
+ recipient_information == o.recipient_information &&
179
+ issuer_information == o.issuer_information
171
180
  end
172
181
 
173
182
  # @see the `==` method
@@ -179,7 +188,7 @@ module CyberSource
179
188
  # Calculates hash code according to all attributes.
180
189
  # @return [Fixnum] Hash code
181
190
  def hash
182
- [_links, id, submit_time_utc, status, reconciliation_id, error_information, client_reference_information, merchant_information, order_information, processor_information, recipient_information].hash
191
+ [_links, id, submit_time_utc, status, reconciliation_id, error_information, client_reference_information, merchant_information, order_information, processor_information, recipient_information, issuer_information].hash
183
192
  end
184
193
 
185
194
  # Builds the object from hash
@@ -0,0 +1,190 @@
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 PtsV2PayoutsPost201ResponseIssuerInformation
17
+ # This field contains values that identify the service type under which the transaction should be processed. The valid value for the Visa Alias Directory Service is A0 (Alias) and 00 (normal transaction).
18
+ attr_accessor :service_processing_type
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'service_processing_type' => :'serviceProcessingType'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'service_processing_type' => :'String'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'serviceProcessingType')
43
+ self.service_processing_type = attributes[:'serviceProcessingType']
44
+ end
45
+ end
46
+
47
+ # Show invalid properties with the reasons. Usually used together with valid?
48
+ # @return Array for valid properties with the reasons
49
+ def list_invalid_properties
50
+ invalid_properties = Array.new
51
+ invalid_properties
52
+ end
53
+
54
+ # Check to see if the all the properties in the model are valid
55
+ # @return true if the model is valid
56
+ def valid?
57
+ true
58
+ end
59
+
60
+ # Custom attribute writer method with validation
61
+ # @param [Object] service_processing_type Value to be assigned
62
+ def service_processing_type=(service_processing_type)
63
+ @service_processing_type = service_processing_type
64
+ end
65
+
66
+ # Checks equality by comparing each attribute.
67
+ # @param [Object] Object to be compared
68
+ def ==(o)
69
+ return true if self.equal?(o)
70
+ self.class == o.class &&
71
+ service_processing_type == o.service_processing_type
72
+ end
73
+
74
+ # @see the `==` method
75
+ # @param [Object] Object to be compared
76
+ def eql?(o)
77
+ self == o
78
+ end
79
+
80
+ # Calculates hash code according to all attributes.
81
+ # @return [Fixnum] Hash code
82
+ def hash
83
+ [service_processing_type].hash
84
+ end
85
+
86
+ # Builds the object from hash
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ # @return [Object] Returns the model itself
89
+ def build_from_hash(attributes)
90
+ return nil unless attributes.is_a?(Hash)
91
+ self.class.swagger_types.each_pair do |key, type|
92
+ if type =~ /\AArray<(.*)>/i
93
+ # check to ensure the input is an array given that the the attribute
94
+ # is documented as an array but the input is not
95
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
96
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
97
+ end
98
+ elsif !attributes[self.class.attribute_map[key]].nil?
99
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
100
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
101
+ end
102
+
103
+ self
104
+ end
105
+
106
+ # Deserializes the data based on type
107
+ # @param string type Data type
108
+ # @param string value Value to be deserialized
109
+ # @return [Object] Deserialized data
110
+ def _deserialize(type, value)
111
+ case type.to_sym
112
+ when :DateTime
113
+ DateTime.parse(value)
114
+ when :Date
115
+ Date.parse(value)
116
+ when :String
117
+ value.to_s
118
+ when :Integer
119
+ value.to_i
120
+ when :Float
121
+ value.to_f
122
+ when :BOOLEAN
123
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
124
+ true
125
+ else
126
+ false
127
+ end
128
+ when :Object
129
+ # generic object (usually a Hash), return directly
130
+ value
131
+ when /\AArray<(?<inner_type>.+)>\z/
132
+ inner_type = Regexp.last_match[:inner_type]
133
+ value.map { |v| _deserialize(inner_type, v) }
134
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
135
+ k_type = Regexp.last_match[:k_type]
136
+ v_type = Regexp.last_match[:v_type]
137
+ {}.tap do |hash|
138
+ value.each do |k, v|
139
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
140
+ end
141
+ end
142
+ else # model
143
+ temp_model = CyberSource.const_get(type).new
144
+ temp_model.build_from_hash(value)
145
+ end
146
+ end
147
+
148
+ # Returns the string representation of the object
149
+ # @return [String] String presentation of the object
150
+ def to_s
151
+ to_hash.to_s
152
+ end
153
+
154
+ # to_body is an alias to to_hash (backward compatibility)
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_body
157
+ to_hash
158
+ end
159
+
160
+ # Returns the object in the form of hash
161
+ # @return [Hash] Returns the object in the form of hash
162
+ def to_hash
163
+ hash = {}
164
+ self.class.attribute_map.each_pair do |attr, param|
165
+ value = self.send(attr)
166
+ next if value.nil?
167
+ hash[param] = _to_hash(value)
168
+ end
169
+ hash
170
+ end
171
+
172
+ # Outputs non-array value in the form of hash
173
+ # For object, use to_hash. Otherwise, just return the value
174
+ # @param [Object] value Any valid value
175
+ # @return [Hash] Returns the value in the form of hash
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map { |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+ end
190
+ end
@@ -58,7 +58,7 @@ module CyberSource
58
58
  # Indicates whether the terminal can capture the card. Possible values: - `1`: Terminal can capture card. - `0`: Terminal cannot capture card. For authorizations and credits, this field is supported only by these processors: - American Express Direct - Credit Mutuel-CIC - OmniPay Direct Optional field.
59
59
  attr_accessor :terminal_card_capture_capability
60
60
 
61
- # Indicates whether the terminal can print or display messages. Possible values: - 1: Neither - 2: Print only - 3: Display only - 4: Print and display This field is supported for authorizations and credits only on the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX Optional field.
61
+ # Indicates whether the terminal can print or display messages. Possible values: - 1: Neither - 2: Print only - 3: Display only - 4: Print and display - 5: Merchant terminal supports purchase only approvals This field is supported for authorizations and credits only on the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX - VisaNet Optional field.
62
62
  attr_accessor :terminal_output_capability
63
63
 
64
64
  # Maximum PIN length that the terminal can capture. Possible values: - 0: No PIN capture capability - 1: PIN capture capability unknown - 4: Four characters - 5: Five characters - 6: Six characters - 7: Seven characters - 8: Eight characters - 9: Nine characters - 10: Ten characters - 11: Eleven characters - 12: Twelve characters This field is supported for authorizations and credits only on the following processors: - American Express Direct - Credit Mutuel-CIC - OmniPay Direct - SIX Required field for authorization or credit of PIN transactions.
@@ -49,7 +49,7 @@ module CyberSource
49
49
  # Indicates payment for bill or payment towards existing contractual loan. Possible values: - `true`: Bill payment or loan payment. - `false` (default): Not a bill payment or loan payment. Optional request field.
50
50
  attr_accessor :bill_payment
51
51
 
52
- # Reason for the payment. Possible values: - 001: Utility payment - 002: Government services - 003: Mobile phone top-up - 004: Coupon payment The value for this field corresponds to the following data in the TC 33 capture file5: - Record: CP07 TCR0 - Position: 48-50 - Field: Bill Payment Transaction Type Identifier This field is supported only for bill payments in Brazil with Mastercard on CyberSource through VisaNet.
52
+ # Reason for the payment. Possible values: - 001: Utility payment - 002: Government services - 003: Mobile phone top-up - 004: Coupon payment - 005: Installment based repayment The value for this field corresponds to the following data in the TC 33A capture file (applicable to Brazil): - Record: CP07 TCR0 - Position: 48-50 - Field: Bill Payment Transaction Type Identifier The value for this field corresponds to the following data in the TC 33A capture file (applicable to Installment) based Repayment): - Record: CP01 TCR6 - Position: 154-156 - Field: Bill Payment Transaction Type Identifier This field is supported for 1. Bill payments in Brazil with Mastercard on CyberSource through VisaNet. 2. Installment based repayment transactions on Cybersource through VisaNet.
53
53
  attr_accessor :bill_payment_type
54
54
 
55
55
  # Flag that indicates the payment request is a redemption inquiry. Possible values: - `true` - `false`