cybersource_rest_client 0.0.44 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/api/asymmetric_key_management_api.rb +10 -10
  3. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +206 -206
  4. data/lib/cybersource_rest_client/models/inline_response_400_2.rb +15 -5
  5. data/lib/cybersource_rest_client/models/inline_response_502.rb +224 -0
  6. data/lib/cybersource_rest_client/models/kms_v2_keys_sym_post201_response_key_information.rb +11 -1
  7. data/lib/cybersource_rest_client/models/mit_void_request.rb +22 -4
  8. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +14 -4
  9. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +1 -1
  10. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_payment_type_method.rb +1 -1
  11. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +11 -1
  12. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +33 -1
  13. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +14 -4
  14. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options.rb +97 -1
  15. data/lib/cybersource_rest_client/models/ptsv2voids_processing_information.rb +190 -0
  16. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_client_reference_information_partner.rb +20 -4
  17. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb +13 -4
  18. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +1 -1
  19. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_fluid_data.rb +190 -0
  20. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_point_of_sale_information.rb +11 -1
  21. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +17 -1
  22. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_client_reference_information.rb +1 -1
  23. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_client_reference_information_partner.rb +190 -0
  24. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +20 -4
  25. data/lib/cybersource_rest_client.rb +4 -0
  26. metadata +28 -24
@@ -0,0 +1,224 @@
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 InlineResponse502
17
+ # Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services.
18
+ attr_accessor :submit_time_utc
19
+
20
+ # The status of the submitted transaction. Possible values: - SERVER_ERROR
21
+ attr_accessor :status
22
+
23
+ # The reason of the status. Possible values: - SYSTEM_ERROR - SERVER_TIMEOUT - SERVICE_TIMEOUT
24
+ attr_accessor :reason
25
+
26
+ # The detail message related to the status and reason listed above.
27
+ attr_accessor :message
28
+
29
+ # HTTP status code of the submitted request. Possible values: - 500
30
+ attr_accessor :status_code
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'submit_time_utc' => :'submitTimeUtc',
36
+ :'status' => :'status',
37
+ :'reason' => :'reason',
38
+ :'message' => :'message',
39
+ :'status_code' => :'statusCode'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+ :'submit_time_utc' => :'String',
47
+ :'status' => :'String',
48
+ :'reason' => :'String',
49
+ :'message' => :'String',
50
+ :'status_code' => :'String'
51
+ }
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ return unless attributes.is_a?(Hash)
58
+
59
+ # convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
61
+
62
+ if attributes.has_key?(:'submitTimeUtc')
63
+ self.submit_time_utc = attributes[:'submitTimeUtc']
64
+ end
65
+
66
+ if attributes.has_key?(:'status')
67
+ self.status = attributes[:'status']
68
+ end
69
+
70
+ if attributes.has_key?(:'reason')
71
+ self.reason = attributes[:'reason']
72
+ end
73
+
74
+ if attributes.has_key?(:'message')
75
+ self.message = attributes[:'message']
76
+ end
77
+
78
+ if attributes.has_key?(:'statusCode')
79
+ self.status_code = attributes[:'statusCode']
80
+ end
81
+ end
82
+
83
+ # Show invalid properties with the reasons. Usually used together with valid?
84
+ # @return Array for valid properties with the reasons
85
+ def list_invalid_properties
86
+ invalid_properties = Array.new
87
+ invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+ true
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] Object to be compared
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ submit_time_utc == o.submit_time_utc &&
102
+ status == o.status &&
103
+ reason == o.reason &&
104
+ message == o.message &&
105
+ status_code == o.status_code
106
+ end
107
+
108
+ # @see the `==` method
109
+ # @param [Object] Object to be compared
110
+ def eql?(o)
111
+ self == o
112
+ end
113
+
114
+ # Calculates hash code according to all attributes.
115
+ # @return [Fixnum] Hash code
116
+ def hash
117
+ [submit_time_utc, status, reason, message, status_code].hash
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def build_from_hash(attributes)
124
+ return nil unless attributes.is_a?(Hash)
125
+ self.class.swagger_types.each_pair do |key, type|
126
+ if type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
130
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
131
+ end
132
+ elsif !attributes[self.class.attribute_map[key]].nil?
133
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
134
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :BOOLEAN
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ temp_model = CyberSource.const_get(type).new
178
+ temp_model.build_from_hash(value)
179
+ end
180
+ end
181
+
182
+ # Returns the string representation of the object
183
+ # @return [String] String presentation of the object
184
+ def to_s
185
+ to_hash.to_s
186
+ end
187
+
188
+ # to_body is an alias to to_hash (backward compatibility)
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_body
191
+ to_hash
192
+ end
193
+
194
+ # Returns the object in the form of hash
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_hash
197
+ hash = {}
198
+ self.class.attribute_map.each_pair do |attr, param|
199
+ value = self.send(attr)
200
+ next if value.nil?
201
+ hash[param] = _to_hash(value)
202
+ end
203
+ hash
204
+ end
205
+
206
+ # Outputs non-array value in the form of hash
207
+ # For object, use to_hash. Otherwise, just return the value
208
+ # @param [Object] value Any valid value
209
+ # @return [Hash] Returns the value in the form of hash
210
+ def _to_hash(value)
211
+ if value.is_a?(Array)
212
+ value.compact.map { |v| _to_hash(v) }
213
+ elsif value.is_a?(Hash)
214
+ {}.tap do |hash|
215
+ value.each { |k, v| hash[k] = _to_hash(v) }
216
+ end
217
+ elsif value.respond_to? :to_hash
218
+ value.to_hash
219
+ else
220
+ value
221
+ end
222
+ end
223
+ end
224
+ end
@@ -18,6 +18,9 @@ module CyberSource
18
18
  # Merchant Id
19
19
  attr_accessor :organization_id
20
20
 
21
+ # Payworks MerchantId for given organizationId.
22
+ attr_accessor :external_organization_id
23
+
21
24
  # Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client’s convenience. If client specifies value for this field in the request, it is expected to be available in the response.
22
25
  attr_accessor :reference_number
23
26
 
@@ -42,6 +45,7 @@ module CyberSource
42
45
  def self.attribute_map
43
46
  {
44
47
  :'organization_id' => :'organizationId',
48
+ :'external_organization_id' => :'externalOrganizationId',
45
49
  :'reference_number' => :'referenceNumber',
46
50
  :'key_id' => :'keyId',
47
51
  :'key' => :'key',
@@ -56,6 +60,7 @@ module CyberSource
56
60
  def self.swagger_types
57
61
  {
58
62
  :'organization_id' => :'String',
63
+ :'external_organization_id' => :'String',
59
64
  :'reference_number' => :'String',
60
65
  :'key_id' => :'String',
61
66
  :'key' => :'String',
@@ -78,6 +83,10 @@ module CyberSource
78
83
  self.organization_id = attributes[:'organizationId']
79
84
  end
80
85
 
86
+ if attributes.has_key?(:'externalOrganizationId')
87
+ self.external_organization_id = attributes[:'externalOrganizationId']
88
+ end
89
+
81
90
  if attributes.has_key?(:'referenceNumber')
82
91
  self.reference_number = attributes[:'referenceNumber']
83
92
  end
@@ -126,6 +135,7 @@ module CyberSource
126
135
  return true if self.equal?(o)
127
136
  self.class == o.class &&
128
137
  organization_id == o.organization_id &&
138
+ external_organization_id == o.external_organization_id &&
129
139
  reference_number == o.reference_number &&
130
140
  key_id == o.key_id &&
131
141
  key == o.key &&
@@ -144,7 +154,7 @@ module CyberSource
144
154
  # Calculates hash code according to all attributes.
145
155
  # @return [Fixnum] Hash code
146
156
  def hash
147
- [organization_id, reference_number, key_id, key, status, expiration_date, message, error_information].hash
157
+ [organization_id, external_organization_id, reference_number, key_id, key, status, expiration_date, message, error_information].hash
148
158
  end
149
159
 
150
160
  # Builds the object from hash
@@ -18,11 +18,17 @@ module CyberSource
18
18
 
19
19
  attr_accessor :payment_information
20
20
 
21
+ attr_accessor :order_information
22
+
23
+ attr_accessor :processing_information
24
+
21
25
  # Attribute mapping from ruby-style variable name to JSON key.
22
26
  def self.attribute_map
23
27
  {
24
28
  :'client_reference_information' => :'clientReferenceInformation',
25
- :'payment_information' => :'paymentInformation'
29
+ :'payment_information' => :'paymentInformation',
30
+ :'order_information' => :'orderInformation',
31
+ :'processing_information' => :'processingInformation'
26
32
  }
27
33
  end
28
34
 
@@ -30,7 +36,9 @@ module CyberSource
30
36
  def self.swagger_types
31
37
  {
32
38
  :'client_reference_information' => :'Ptsv2paymentsClientReferenceInformation',
33
- :'payment_information' => :'Ptsv2paymentsidvoidsPaymentInformation'
39
+ :'payment_information' => :'Ptsv2paymentsidvoidsPaymentInformation',
40
+ :'order_information' => :'Ptsv2paymentsidvoidsOrderInformation',
41
+ :'processing_information' => :'Ptsv2voidsProcessingInformation'
34
42
  }
35
43
  end
36
44
 
@@ -49,6 +57,14 @@ module CyberSource
49
57
  if attributes.has_key?(:'paymentInformation')
50
58
  self.payment_information = attributes[:'paymentInformation']
51
59
  end
60
+
61
+ if attributes.has_key?(:'orderInformation')
62
+ self.order_information = attributes[:'orderInformation']
63
+ end
64
+
65
+ if attributes.has_key?(:'processingInformation')
66
+ self.processing_information = attributes[:'processingInformation']
67
+ end
52
68
  end
53
69
 
54
70
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -70,7 +86,9 @@ module CyberSource
70
86
  return true if self.equal?(o)
71
87
  self.class == o.class &&
72
88
  client_reference_information == o.client_reference_information &&
73
- payment_information == o.payment_information
89
+ payment_information == o.payment_information &&
90
+ order_information == o.order_information &&
91
+ processing_information == o.processing_information
74
92
  end
75
93
 
76
94
  # @see the `==` method
@@ -82,7 +100,7 @@ module CyberSource
82
100
  # Calculates hash code according to all attributes.
83
101
  # @return [Fixnum] Hash code
84
102
  def hash
85
- [client_reference_information, payment_information].hash
103
+ [client_reference_information, payment_information, order_information, processing_information].hash
86
104
  end
87
105
 
88
106
  # Builds the object from hash
@@ -31,6 +31,9 @@ module CyberSource
31
31
 
32
32
  attr_accessor :ach_verification
33
33
 
34
+ # Same value as `processorInformation.transactionId`
35
+ attr_accessor :network_transaction_id
36
+
34
37
  # Attribute mapping from ruby-style variable name to JSON key.
35
38
  def self.attribute_map
36
39
  {
@@ -39,7 +42,8 @@ module CyberSource
39
42
  :'forwarded_acquirer_code' => :'forwardedAcquirerCode',
40
43
  :'merchant_number' => :'merchantNumber',
41
44
  :'response_code' => :'responseCode',
42
- :'ach_verification' => :'achVerification'
45
+ :'ach_verification' => :'achVerification',
46
+ :'network_transaction_id' => :'networkTransactionId'
43
47
  }
44
48
  end
45
49
 
@@ -51,7 +55,8 @@ module CyberSource
51
55
  :'forwarded_acquirer_code' => :'String',
52
56
  :'merchant_number' => :'String',
53
57
  :'response_code' => :'String',
54
- :'ach_verification' => :'PtsV2PaymentsPost201ResponseProcessorInformationAchVerification'
58
+ :'ach_verification' => :'PtsV2PaymentsPost201ResponseProcessorInformationAchVerification',
59
+ :'network_transaction_id' => :'String'
55
60
  }
56
61
  end
57
62
 
@@ -86,6 +91,10 @@ module CyberSource
86
91
  if attributes.has_key?(:'achVerification')
87
92
  self.ach_verification = attributes[:'achVerification']
88
93
  end
94
+
95
+ if attributes.has_key?(:'networkTransactionId')
96
+ self.network_transaction_id = attributes[:'networkTransactionId']
97
+ end
89
98
  end
90
99
 
91
100
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -141,7 +150,8 @@ module CyberSource
141
150
  forwarded_acquirer_code == o.forwarded_acquirer_code &&
142
151
  merchant_number == o.merchant_number &&
143
152
  response_code == o.response_code &&
144
- ach_verification == o.ach_verification
153
+ ach_verification == o.ach_verification &&
154
+ network_transaction_id == o.network_transaction_id
145
155
  end
146
156
 
147
157
  # @see the `==` method
@@ -153,7 +163,7 @@ module CyberSource
153
163
  # Calculates hash code according to all attributes.
154
164
  # @return [Fixnum] Hash code
155
165
  def hash
156
- [approval_code, transaction_id, forwarded_acquirer_code, merchant_number, response_code, ach_verification].hash
166
+ [approval_code, transaction_id, forwarded_acquirer_code, merchant_number, response_code, ach_verification, network_transaction_id].hash
157
167
  end
158
168
 
159
169
  # Builds the object from hash
@@ -26,7 +26,7 @@ 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
- # Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process. #### Cielo and Comercio Latino Possible values: - CREDIT: Credit card - DEBIT: Debit card This field is required for: - Debit transactions on Cielo and Comercio Latino. - Transactions with Brazilian-issued cards on CyberSource through VisaNet. **Note** The value for this field corresponds to the following data in the TC 33 capture file5: - Record: CP07 TCR0 - Position: 51 - Field: Combination Card Transaction Identifier This field is supported only for Mastercard transactions in Brazil on CyberSource through VisaNet.
29
+ # Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process. Possible values: - C: Credit transaction - D: Debit transaction This field is supported only for all card Types on Visa Platform Connect. This field is required for: - Debit transactions on Cielo and Comercio Latino. - Transactions with Brazilian-issued cards on CyberSource through VisaNet. **Note** The value for this field corresponds to the following data in the TC 33 capture file5: - Record: CP07 TCR0 - Position: 51 - Field: Combination Card Transaction Identifier
30
30
  attr_accessor :use_as
31
31
 
32
32
  # Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process. This field is required in the following cases: - Debit transactions on Cielo and Comercio Latino. - Transactions with Brazilian-issued cards on CyberSource through VisaNet. - Applicable only for CyberSource through VisaNet (CtV). **Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank identification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or credit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends that you include this field for combo card transactions. Possible values include the following. - `CHECKING`: Checking account - `CREDIT`: Credit card account - `SAVING`: Saving account - `LINE_OF_CREDIT`: Line of credit or credit portion of combo card - `PREPAID`: Prepaid card account or prepaid portion of combo card - `UNIVERSAL`: Universal account
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module CyberSource
16
16
  class Ptsv2paymentsPaymentInformationPaymentTypeMethod
17
- # A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal
17
+ # A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal For Japan Payment Processing Valid Values: - 1 Banking Data - 2 Authorization Data
18
18
  attr_accessor :name
19
19
 
20
20
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -20,6 +20,9 @@ module CyberSource
20
20
  # Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that is installed on the POS terminal. This value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality. #### Used by **Authorization and Credit** Optional. This field is supported only by client software that is installed on your POS terminals for the following processors: - American Express Direct - Credit Mutuel-CIC - FDC Nashville Global - OmniPay Direct - SIX
21
21
  attr_accessor :terminal_serial_number
22
22
 
23
+ # Method that was used to verify the cardholder's identity. Possible values: - `0`: No verification - `1`: Signature - `2`: PIN - `3`: Cardholder device CVM
24
+ attr_accessor :cardholder_verification_method_used
25
+
23
26
  # Identifier for an alternate terminal at your retail location. You define the value for this field. This field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors. Use the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals, use this `laneNumber` field to identify the terminal used for the transaction. This field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor. Optional field. #### Card present reply messaging Identifier for an alternate terminal at your retail location. You defined the value for this field in the request message. This value must be printed on the receipt. This field is supported only for MasterCard transactions on FDC Nashville Global.
24
27
  attr_accessor :lane_number
25
28
 
@@ -99,6 +102,7 @@ module CyberSource
99
102
  {
100
103
  :'terminal_id' => :'terminalId',
101
104
  :'terminal_serial_number' => :'terminalSerialNumber',
105
+ :'cardholder_verification_method_used' => :'cardholderVerificationMethodUsed',
102
106
  :'lane_number' => :'laneNumber',
103
107
  :'cat_level' => :'catLevel',
104
108
  :'entry_mode' => :'entryMode',
@@ -132,6 +136,7 @@ module CyberSource
132
136
  {
133
137
  :'terminal_id' => :'String',
134
138
  :'terminal_serial_number' => :'String',
139
+ :'cardholder_verification_method_used' => :'Integer',
135
140
  :'lane_number' => :'String',
136
141
  :'cat_level' => :'Integer',
137
142
  :'entry_mode' => :'String',
@@ -176,6 +181,10 @@ module CyberSource
176
181
  self.terminal_serial_number = attributes[:'terminalSerialNumber']
177
182
  end
178
183
 
184
+ if attributes.has_key?(:'cardholderVerificationMethodUsed')
185
+ self.cardholder_verification_method_used = attributes[:'cardholderVerificationMethodUsed']
186
+ end
187
+
179
188
  if attributes.has_key?(:'laneNumber')
180
189
  self.lane_number = attributes[:'laneNumber']
181
190
  end
@@ -478,6 +487,7 @@ module CyberSource
478
487
  self.class == o.class &&
479
488
  terminal_id == o.terminal_id &&
480
489
  terminal_serial_number == o.terminal_serial_number &&
490
+ cardholder_verification_method_used == o.cardholder_verification_method_used &&
481
491
  lane_number == o.lane_number &&
482
492
  cat_level == o.cat_level &&
483
493
  entry_mode == o.entry_mode &&
@@ -514,7 +524,7 @@ module CyberSource
514
524
  # Calculates hash code according to all attributes.
515
525
  # @return [Fixnum] Hash code
516
526
  def hash
517
- [terminal_id, terminal_serial_number, lane_number, cat_level, entry_mode, terminal_capability, operating_environment, emv, amex_capn_data, track_data, store_and_forward_indicator, cardholder_verification_method, terminal_input_capability, terminal_card_capture_capability, terminal_output_capability, terminal_pin_capability, device_id, pin_block_encoding_format, encrypted_pin, encrypted_key_serial_number, partner_sdk_version, emv_application_identifier_and_dedicated_file_name, terminal_compliance, is_dedicated_hardware_terminal, terminal_model, terminal_make, service_code].hash
527
+ [terminal_id, terminal_serial_number, cardholder_verification_method_used, lane_number, cat_level, entry_mode, terminal_capability, operating_environment, emv, amex_capn_data, track_data, store_and_forward_indicator, cardholder_verification_method, terminal_input_capability, terminal_card_capture_capability, terminal_output_capability, terminal_pin_capability, device_id, pin_block_encoding_format, encrypted_pin, encrypted_key_serial_number, partner_sdk_version, emv_application_identifier_and_dedicated_file_name, terminal_compliance, is_dedicated_hardware_terminal, terminal_model, terminal_make, service_code].hash
518
528
  end
519
529
 
520
530
  # Builds the object from hash
@@ -32,6 +32,9 @@ module CyberSource
32
32
  # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. See Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.) #### Payer Authentication Transactions For the possible values and requirements, see \"Payer Authentication,\" page 195. #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as “moto\"
33
33
  attr_accessor :commerce_indicator
34
34
 
35
+ # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. See Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.) #### Payer Authentication Transactions For the possible values and requirements, see \"Payer Authentication,\" page 195. #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as “moto\"
36
+ attr_accessor :commerce_indicator_label
37
+
35
38
  # Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. - `013`: Cybersource P2PE Decryption - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token. - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token. - `027`: Click to Pay.
36
39
  attr_accessor :payment_solution
37
40
 
@@ -44,6 +47,9 @@ module CyberSource
44
47
  # Set this field to 3 to indicate that the request includes Level III data.
45
48
  attr_accessor :purchase_level
46
49
 
50
+ # This field is to accept the id of credit/capture in the body of L1 requests so the type of void can be identified and processed correctly downstream.
51
+ attr_accessor :payment_id
52
+
47
53
  # Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**. For details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)
48
54
  attr_accessor :report_group
49
55
 
@@ -99,10 +105,12 @@ module CyberSource
99
105
  :'processor_id' => :'processorId',
100
106
  :'business_application_id' => :'businessApplicationId',
101
107
  :'commerce_indicator' => :'commerceIndicator',
108
+ :'commerce_indicator_label' => :'commerceIndicatorLabel',
102
109
  :'payment_solution' => :'paymentSolution',
103
110
  :'reconciliation_id' => :'reconciliationId',
104
111
  :'link_id' => :'linkId',
105
112
  :'purchase_level' => :'purchaseLevel',
113
+ :'payment_id' => :'paymentId',
106
114
  :'report_group' => :'reportGroup',
107
115
  :'visa_checkout_id' => :'visaCheckoutId',
108
116
  :'industry_data_type' => :'industryDataType',
@@ -133,10 +141,12 @@ module CyberSource
133
141
  :'processor_id' => :'String',
134
142
  :'business_application_id' => :'String',
135
143
  :'commerce_indicator' => :'String',
144
+ :'commerce_indicator_label' => :'String',
136
145
  :'payment_solution' => :'String',
137
146
  :'reconciliation_id' => :'String',
138
147
  :'link_id' => :'String',
139
148
  :'purchase_level' => :'String',
149
+ :'payment_id' => :'String',
140
150
  :'report_group' => :'String',
141
151
  :'visa_checkout_id' => :'String',
142
152
  :'industry_data_type' => :'String',
@@ -196,6 +206,10 @@ module CyberSource
196
206
  self.commerce_indicator = attributes[:'commerceIndicator']
197
207
  end
198
208
 
209
+ if attributes.has_key?(:'commerceIndicatorLabel')
210
+ self.commerce_indicator_label = attributes[:'commerceIndicatorLabel']
211
+ end
212
+
199
213
  if attributes.has_key?(:'paymentSolution')
200
214
  self.payment_solution = attributes[:'paymentSolution']
201
215
  end
@@ -212,6 +226,10 @@ module CyberSource
212
226
  self.purchase_level = attributes[:'purchaseLevel']
213
227
  end
214
228
 
229
+ if attributes.has_key?(:'paymentId')
230
+ self.payment_id = attributes[:'paymentId']
231
+ end
232
+
215
233
  if attributes.has_key?(:'reportGroup')
216
234
  self.report_group = attributes[:'reportGroup']
217
235
  end
@@ -310,6 +328,12 @@ module CyberSource
310
328
  @commerce_indicator = commerce_indicator
311
329
  end
312
330
 
331
+ # Custom attribute writer method with validation
332
+ # @param [Object] commerce_indicator_label Value to be assigned
333
+ def commerce_indicator_label=(commerce_indicator_label)
334
+ @commerce_indicator_label = commerce_indicator_label
335
+ end
336
+
313
337
  # Custom attribute writer method with validation
314
338
  # @param [Object] payment_solution Value to be assigned
315
339
  def payment_solution=(payment_solution)
@@ -334,6 +358,12 @@ module CyberSource
334
358
  @purchase_level = purchase_level
335
359
  end
336
360
 
361
+ # Custom attribute writer method with validation
362
+ # @param [Object] payment_id Value to be assigned
363
+ def payment_id=(payment_id)
364
+ @payment_id = payment_id
365
+ end
366
+
337
367
  # Custom attribute writer method with validation
338
368
  # @param [Object] report_group Value to be assigned
339
369
  def report_group=(report_group)
@@ -393,10 +423,12 @@ module CyberSource
393
423
  processor_id == o.processor_id &&
394
424
  business_application_id == o.business_application_id &&
395
425
  commerce_indicator == o.commerce_indicator &&
426
+ commerce_indicator_label == o.commerce_indicator_label &&
396
427
  payment_solution == o.payment_solution &&
397
428
  reconciliation_id == o.reconciliation_id &&
398
429
  link_id == o.link_id &&
399
430
  purchase_level == o.purchase_level &&
431
+ payment_id == o.payment_id &&
400
432
  report_group == o.report_group &&
401
433
  visa_checkout_id == o.visa_checkout_id &&
402
434
  industry_data_type == o.industry_data_type &&
@@ -426,7 +458,7 @@ module CyberSource
426
458
  # Calculates hash code according to all attributes.
427
459
  # @return [Fixnum] Hash code
428
460
  def 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
461
+ [action_list, action_token_types, capture, processor_id, business_application_id, commerce_indicator, commerce_indicator_label, payment_solution, reconciliation_id, link_id, purchase_level, payment_id, 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
430
462
  end
431
463
 
432
464
  # Builds the object from hash
@@ -67,6 +67,9 @@ module CyberSource
67
67
  # Flag that indicates whether the authorization request was delayed because connectivity was interrupted. Possible values: - `true` (Deferred authorization) - `false` (default: Not a deferred authorization)
68
68
  attr_accessor :deferred_auth_indicator
69
69
 
70
+ # This API field enables the merchant to indicate that a given transaction is Cash Advance. Cash advance or Cash disbursement functionality allows a merchant to dispense cash at a point of sale. It provides the ability of a POS system to act like an ATM. These terminals are typically seen in bank branches where customers can use their card and withdraw cash or at merchant locations where ATMs are sparse. Possible values: - `true` (Cash advance is supported) - `false` (default: cash advance is not supported)
71
+ attr_accessor :cash_advance_indicator
72
+
70
73
  # Attribute mapping from ruby-style variable name to JSON key.
71
74
  def self.attribute_map
72
75
  {
@@ -87,7 +90,8 @@ module CyberSource
87
90
  :'transportation_mode' => :'transportationMode',
88
91
  :'aggregated_auth_indicator' => :'aggregatedAuthIndicator',
89
92
  :'debt_recovery_indicator' => :'debtRecoveryIndicator',
90
- :'deferred_auth_indicator' => :'deferredAuthIndicator'
93
+ :'deferred_auth_indicator' => :'deferredAuthIndicator',
94
+ :'cash_advance_indicator' => :'cashAdvanceIndicator'
91
95
  }
92
96
  end
93
97
 
@@ -111,7 +115,8 @@ module CyberSource
111
115
  :'transportation_mode' => :'String',
112
116
  :'aggregated_auth_indicator' => :'String',
113
117
  :'debt_recovery_indicator' => :'String',
114
- :'deferred_auth_indicator' => :'BOOLEAN'
118
+ :'deferred_auth_indicator' => :'BOOLEAN',
119
+ :'cash_advance_indicator' => :'BOOLEAN'
115
120
  }
116
121
  end
117
122
 
@@ -200,6 +205,10 @@ module CyberSource
200
205
  if attributes.has_key?(:'deferredAuthIndicator')
201
206
  self.deferred_auth_indicator = attributes[:'deferredAuthIndicator']
202
207
  end
208
+
209
+ if attributes.has_key?(:'cashAdvanceIndicator')
210
+ self.cash_advance_indicator = attributes[:'cashAdvanceIndicator']
211
+ end
203
212
  end
204
213
 
205
214
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -267,7 +276,8 @@ module CyberSource
267
276
  transportation_mode == o.transportation_mode &&
268
277
  aggregated_auth_indicator == o.aggregated_auth_indicator &&
269
278
  debt_recovery_indicator == o.debt_recovery_indicator &&
270
- deferred_auth_indicator == o.deferred_auth_indicator
279
+ deferred_auth_indicator == o.deferred_auth_indicator &&
280
+ cash_advance_indicator == o.cash_advance_indicator
271
281
  end
272
282
 
273
283
  # @see the `==` method
@@ -279,7 +289,7 @@ module CyberSource
279
289
  # Calculates hash code according to all attributes.
280
290
  # @return [Fixnum] Hash code
281
291
  def hash
282
- [auth_type, pan_return_indicator, verbal_auth_code, verbal_auth_transaction_id, auth_indicator, partial_auth_indicator, balance_inquiry, ignore_avs_result, decline_avs_flags, ignore_cv_result, initiator, bill_payment, bill_payment_type, redemption_inquiry, transportation_mode, aggregated_auth_indicator, debt_recovery_indicator, deferred_auth_indicator].hash
292
+ [auth_type, pan_return_indicator, verbal_auth_code, verbal_auth_transaction_id, auth_indicator, partial_auth_indicator, balance_inquiry, ignore_avs_result, decline_avs_flags, ignore_cv_result, initiator, bill_payment, bill_payment_type, redemption_inquiry, transportation_mode, aggregated_auth_indicator, debt_recovery_indicator, deferred_auth_indicator, cash_advance_indicator].hash
283
293
  end
284
294
 
285
295
  # Builds the object from hash