cybersource_rest_client 0.0.40 → 0.0.44

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/logging/sensitive_logging.rb +7 -4
  3. data/lib/cybersource_rest_client/api/asymmetric_key_management_api.rb +223 -219
  4. data/lib/cybersource_rest_client/api/chargeback_details_api.rb +116 -112
  5. data/lib/cybersource_rest_client/api/chargeback_summaries_api.rb +116 -112
  6. data/lib/cybersource_rest_client/api/conversion_details_api.rb +5 -1
  7. data/lib/cybersource_rest_client/api/customer_api.rb +368 -360
  8. data/lib/cybersource_rest_client/api/customer_payment_instrument_api.rb +530 -518
  9. data/lib/cybersource_rest_client/api/customer_shipping_address_api.rb +530 -518
  10. data/lib/cybersource_rest_client/api/download_dtd_api.rb +92 -88
  11. data/lib/cybersource_rest_client/api/download_xsd_api.rb +92 -88
  12. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +15 -3
  13. data/lib/cybersource_rest_client/api/interchange_clearing_level_details_api.rb +116 -112
  14. data/lib/cybersource_rest_client/api/invoice_settings_api.rb +152 -148
  15. data/lib/cybersource_rest_client/api/invoices_api.rb +447 -431
  16. data/lib/cybersource_rest_client/api/net_fundings_api.rb +5 -1
  17. data/lib/cybersource_rest_client/api/notification_of_changes_api.rb +5 -1
  18. data/lib/cybersource_rest_client/api/payer_authentication_api.rb +219 -219
  19. data/lib/cybersource_rest_client/api/payment_batch_summaries_api.rb +133 -129
  20. data/lib/cybersource_rest_client/api/payment_instrument_api.rb +10 -2
  21. data/lib/cybersource_rest_client/api/purchase_and_refund_details_api.rb +5 -1
  22. data/lib/cybersource_rest_client/api/report_definitions_api.rb +10 -2
  23. data/lib/cybersource_rest_client/api/report_downloads_api.rb +5 -1
  24. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +15 -3
  25. data/lib/cybersource_rest_client/api/reports_api.rb +10 -2
  26. data/lib/cybersource_rest_client/api/retrieval_details_api.rb +116 -112
  27. data/lib/cybersource_rest_client/api/retrieval_summaries_api.rb +116 -112
  28. data/lib/cybersource_rest_client/api/search_transactions_api.rb +5 -1
  29. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +206 -198
  30. data/lib/cybersource_rest_client/api/symmetric_key_management_api.rb +5 -1
  31. data/lib/cybersource_rest_client/api/taxes_api.rb +160 -160
  32. data/lib/cybersource_rest_client/api/tokenization_api.rb +89 -89
  33. data/lib/cybersource_rest_client/api/transaction_batches_api.rb +15 -3
  34. data/lib/cybersource_rest_client/api/transaction_details_api.rb +5 -1
  35. data/lib/cybersource_rest_client/api/user_management_api.rb +5 -1
  36. data/lib/cybersource_rest_client/api/user_management_search_api.rb +89 -89
  37. data/lib/cybersource_rest_client/api/verification_api.rb +154 -154
  38. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +10 -1
  39. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +1 -1
  40. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_issuer_information.rb +20 -4
  41. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_account_information_card.rb +20 -4
  42. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_insights_information.rb +183 -0
  43. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_insights_information_response_insights.rb +206 -0
  44. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_merchant_advice.rb +20 -4
  45. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +2 -2
  46. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +20 -4
  47. data/lib/cybersource_rest_client/models/ptsv2payments_order_information.rb +11 -1
  48. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_invoice_details.rb +20 -4
  49. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +20 -4
  50. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +22 -6
  51. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +20 -4
  52. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information_emv.rb +15 -7
  53. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +14 -4
  54. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +17 -1
  55. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options_initiator.rb +2 -2
  56. data/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb +13 -4
  57. data/lib/cybersource_rest_client/models/ptsv2payments_processor_information_authorization_options.rb +190 -0
  58. data/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information_authorization_options_initiator.rb +2 -2
  59. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_point_of_sale_information_emv.rb +0 -2
  60. data/lib/cybersource_rest_client/models/ptsv2paymentsidvoids_order_information.rb +183 -0
  61. data/lib/cybersource_rest_client/models/ptsv2payouts_order_information.rb +14 -4
  62. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information.rb +13 -4
  63. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information_funding_options.rb +183 -0
  64. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information_funding_options_initiator.rb +190 -0
  65. data/lib/cybersource_rest_client/models/ptsv2payouts_sender_information.rb +52 -4
  66. data/lib/cybersource_rest_client/models/reporting_v3_chargeback_details_get200_response_chargeback_details.rb +14 -4
  67. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response_consumer_authentication_information.rb +49 -1
  68. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response_consumer_authentication_information.rb +44 -2
  69. data/lib/cybersource_rest_client/models/riskv1authenticationresults_consumer_authentication_information.rb +35 -3
  70. data/lib/cybersource_rest_client/models/{tss_v2_transactions_post201_response__embedded_device_information.rb → riskv1authenticationresults_device_information.rb} +1 -1
  71. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +1 -1
  72. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +61 -2
  73. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +1 -1
  74. data/lib/cybersource_rest_client/models/riskv1decisions_consumer_authentication_information.rb +13 -3
  75. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +1 -1
  76. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +10 -1
  77. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb +1 -1
  78. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_customer.rb +1 -7
  79. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options.rb +1 -1
  80. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options_initiator.rb +213 -0
  81. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information.rb +14 -5
  82. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_bank.rb +183 -0
  83. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_bank_account.rb +194 -0
  84. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_customer.rb +184 -0
  85. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_transaction_summaries.rb +1 -1
  86. data/lib/cybersource_rest_client/models/validate_request.rb +13 -4
  87. data/lib/cybersource_rest_client/models/void_capture_request.rb +13 -4
  88. data/lib/cybersource_rest_client/models/void_credit_request.rb +13 -4
  89. data/lib/cybersource_rest_client/models/void_payment_request.rb +13 -4
  90. data/lib/cybersource_rest_client/models/void_refund_request.rb +13 -4
  91. data/lib/cybersource_rest_client.rb +11 -1
  92. metadata +14 -4
@@ -29,6 +29,9 @@ module CyberSource
29
29
  # Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number. #### Google Pay transactions For PAN-based Google Pay transactions, this field is returned in the API response.
30
30
  attr_accessor :prefix
31
31
 
32
+ # #### Visa Platform Connect This API field will contain the SHA 256 hashed value of PAN.
33
+ attr_accessor :hashed_number
34
+
32
35
  # Attribute mapping from ruby-style variable name to JSON key.
33
36
  def self.attribute_map
34
37
  {
@@ -36,7 +39,8 @@ module CyberSource
36
39
  :'expiration_month' => :'expirationMonth',
37
40
  :'expiration_year' => :'expirationYear',
38
41
  :'type' => :'type',
39
- :'prefix' => :'prefix'
42
+ :'prefix' => :'prefix',
43
+ :'hashed_number' => :'hashedNumber'
40
44
  }
41
45
  end
42
46
 
@@ -47,7 +51,8 @@ module CyberSource
47
51
  :'expiration_month' => :'String',
48
52
  :'expiration_year' => :'String',
49
53
  :'type' => :'String',
50
- :'prefix' => :'String'
54
+ :'prefix' => :'String',
55
+ :'hashed_number' => :'String'
51
56
  }
52
57
  end
53
58
 
@@ -78,6 +83,10 @@ module CyberSource
78
83
  if attributes.has_key?(:'prefix')
79
84
  self.prefix = attributes[:'prefix']
80
85
  end
86
+
87
+ if attributes.has_key?(:'hashedNumber')
88
+ self.hashed_number = attributes[:'hashedNumber']
89
+ end
81
90
  end
82
91
 
83
92
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -111,6 +120,12 @@ module CyberSource
111
120
  @prefix = prefix
112
121
  end
113
122
 
123
+ # Custom attribute writer method with validation
124
+ # @param [Object] hashed_number Value to be assigned
125
+ def hashed_number=(hashed_number)
126
+ @hashed_number = hashed_number
127
+ end
128
+
114
129
  # Checks equality by comparing each attribute.
115
130
  # @param [Object] Object to be compared
116
131
  def ==(o)
@@ -120,7 +135,8 @@ module CyberSource
120
135
  expiration_month == o.expiration_month &&
121
136
  expiration_year == o.expiration_year &&
122
137
  type == o.type &&
123
- prefix == o.prefix
138
+ prefix == o.prefix &&
139
+ hashed_number == o.hashed_number
124
140
  end
125
141
 
126
142
  # @see the `==` method
@@ -132,7 +148,7 @@ module CyberSource
132
148
  # Calculates hash code according to all attributes.
133
149
  # @return [Fixnum] Hash code
134
150
  def hash
135
- [suffix, expiration_month, expiration_year, type, prefix].hash
151
+ [suffix, expiration_month, expiration_year, type, prefix, hashed_number].hash
136
152
  end
137
153
 
138
154
  # Builds the object from hash
@@ -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
@@ -20,11 +20,15 @@ module CyberSource
20
20
  # Raw merchant advice code sent directly from the processor. This field is used only for Mastercard. #### CyberSource through VisaNet The value for this field corresponds to the following data in the TC 33 capture file1: - Record: CP01 TCR7 - Position: 96-99 - Field: Response Data-Merchant Advice Code For processor-specific information, see the `auth_merchant_advice_code_raw` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)
21
21
  attr_accessor :code_raw
22
22
 
23
+ # #### Visa Platform Connect The field contains will contain the Account Name Request Result for zero amount Authorization request. Valid values are: 00 = Name Match Performed 01 = Name Match not Performed 02 = Name Match not supported
24
+ attr_accessor :name_match
25
+
23
26
  # Attribute mapping from ruby-style variable name to JSON key.
24
27
  def self.attribute_map
25
28
  {
26
29
  :'code' => :'code',
27
- :'code_raw' => :'codeRaw'
30
+ :'code_raw' => :'codeRaw',
31
+ :'name_match' => :'nameMatch'
28
32
  }
29
33
  end
30
34
 
@@ -32,7 +36,8 @@ module CyberSource
32
36
  def self.swagger_types
33
37
  {
34
38
  :'code' => :'String',
35
- :'code_raw' => :'String'
39
+ :'code_raw' => :'String',
40
+ :'name_match' => :'String'
36
41
  }
37
42
  end
38
43
 
@@ -51,6 +56,10 @@ module CyberSource
51
56
  if attributes.has_key?(:'codeRaw')
52
57
  self.code_raw = attributes[:'codeRaw']
53
58
  end
59
+
60
+ if attributes.has_key?(:'nameMatch')
61
+ self.name_match = attributes[:'nameMatch']
62
+ end
54
63
  end
55
64
 
56
65
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -78,13 +87,20 @@ module CyberSource
78
87
  @code_raw = code_raw
79
88
  end
80
89
 
90
+ # Custom attribute writer method with validation
91
+ # @param [Object] name_match Value to be assigned
92
+ def name_match=(name_match)
93
+ @name_match = name_match
94
+ end
95
+
81
96
  # Checks equality by comparing each attribute.
82
97
  # @param [Object] Object to be compared
83
98
  def ==(o)
84
99
  return true if self.equal?(o)
85
100
  self.class == o.class &&
86
101
  code == o.code &&
87
- code_raw == o.code_raw
102
+ code_raw == o.code_raw &&
103
+ name_match == o.name_match
88
104
  end
89
105
 
90
106
  # @see the `==` method
@@ -96,7 +112,7 @@ module CyberSource
96
112
  # Calculates hash code according to all attributes.
97
113
  # @return [Fixnum] Hash code
98
114
  def hash
99
- [code, code_raw].hash
115
+ [code, code_raw, name_match].hash
100
116
  end
101
117
 
102
118
  # Builds the object from hash
@@ -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
@@ -44,6 +44,9 @@ module CyberSource
44
44
  # Address of company's website provided by merchant
45
45
  attr_accessor :url
46
46
 
47
+ # #### Visa Platform Connect This field will indicate merchant country of origin
48
+ attr_accessor :country_of_origin
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
  :'postal_code' => :'postalCode',
57
60
  :'administrative_area' => :'administrativeArea',
58
61
  :'phone' => :'phone',
59
- :'url' => :'url'
62
+ :'url' => :'url',
63
+ :'country_of_origin' => :'countryOfOrigin'
60
64
  }
61
65
  end
62
66
 
@@ -72,7 +76,8 @@ module CyberSource
72
76
  :'postal_code' => :'String',
73
77
  :'administrative_area' => :'String',
74
78
  :'phone' => :'String',
75
- :'url' => :'String'
79
+ :'url' => :'String',
80
+ :'country_of_origin' => :'String'
76
81
  }
77
82
  end
78
83
 
@@ -123,6 +128,10 @@ module CyberSource
123
128
  if attributes.has_key?(:'url')
124
129
  self.url = attributes[:'url']
125
130
  end
131
+
132
+ if attributes.has_key?(:'countryOfOrigin')
133
+ self.country_of_origin = attributes[:'countryOfOrigin']
134
+ end
126
135
  end
127
136
 
128
137
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -186,6 +195,12 @@ module CyberSource
186
195
  @url = url
187
196
  end
188
197
 
198
+ # Custom attribute writer method with validation
199
+ # @param [Object] country_of_origin Value to be assigned
200
+ def country_of_origin=(country_of_origin)
201
+ @country_of_origin = country_of_origin
202
+ end
203
+
189
204
  # Checks equality by comparing each attribute.
190
205
  # @param [Object] Object to be compared
191
206
  def ==(o)
@@ -200,7 +215,8 @@ module CyberSource
200
215
  postal_code == o.postal_code &&
201
216
  administrative_area == o.administrative_area &&
202
217
  phone == o.phone &&
203
- url == o.url
218
+ url == o.url &&
219
+ country_of_origin == o.country_of_origin
204
220
  end
205
221
 
206
222
  # @see the `==` method
@@ -212,7 +228,7 @@ module CyberSource
212
228
  # Calculates hash code according to all attributes.
213
229
  # @return [Fixnum] Hash code
214
230
  def hash
215
- [name, alternate_name, contact, address1, locality, country, postal_code, administrative_area, phone, url].hash
231
+ [name, alternate_name, contact, address1, locality, country, postal_code, administrative_area, phone, url, country_of_origin].hash
216
232
  end
217
233
 
218
234
  # Builds the object from hash
@@ -29,6 +29,9 @@ module CyberSource
29
29
  # This is only needed when you are requesting both payment and DM service at same time. Boolean that indicates whether returns are accepted for this order. This field can contain one of the following values: - true: Returns are accepted for this order. - false: Returns are not accepted for this order.
30
30
  attr_accessor :returns_accepted
31
31
 
32
+ # #### Visa Platform Connect : This API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency. Additional values to add : This API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency. valid values are - Y/y, true - N/n, false
33
+ attr_accessor :is_cryptocurrency_purchase
34
+
32
35
  # Indicates whether cardholder is placing an order with a future availability or release date. This field can contain one of these values: - MERCHANDISE_AVAILABLE: Merchandise available - FUTURE_AVAILABILITY: Future availability
33
36
  attr_accessor :pre_order
34
37
 
@@ -51,6 +54,7 @@ module CyberSource
51
54
  :'invoice_details' => :'invoiceDetails',
52
55
  :'shipping_details' => :'shippingDetails',
53
56
  :'returns_accepted' => :'returnsAccepted',
57
+ :'is_cryptocurrency_purchase' => :'isCryptocurrencyPurchase',
54
58
  :'pre_order' => :'preOrder',
55
59
  :'pre_order_date' => :'preOrderDate',
56
60
  :'reordered' => :'reordered',
@@ -68,6 +72,7 @@ module CyberSource
68
72
  :'invoice_details' => :'Ptsv2paymentsOrderInformationInvoiceDetails',
69
73
  :'shipping_details' => :'Ptsv2paymentsOrderInformationShippingDetails',
70
74
  :'returns_accepted' => :'BOOLEAN',
75
+ :'is_cryptocurrency_purchase' => :'String',
71
76
  :'pre_order' => :'String',
72
77
  :'pre_order_date' => :'String',
73
78
  :'reordered' => :'BOOLEAN',
@@ -113,6 +118,10 @@ module CyberSource
113
118
  self.returns_accepted = attributes[:'returnsAccepted']
114
119
  end
115
120
 
121
+ if attributes.has_key?(:'isCryptocurrencyPurchase')
122
+ self.is_cryptocurrency_purchase = attributes[:'isCryptocurrencyPurchase']
123
+ end
124
+
116
125
  if attributes.has_key?(:'preOrder')
117
126
  self.pre_order = attributes[:'preOrder']
118
127
  end
@@ -167,6 +176,7 @@ module CyberSource
167
176
  invoice_details == o.invoice_details &&
168
177
  shipping_details == o.shipping_details &&
169
178
  returns_accepted == o.returns_accepted &&
179
+ is_cryptocurrency_purchase == o.is_cryptocurrency_purchase &&
170
180
  pre_order == o.pre_order &&
171
181
  pre_order_date == o.pre_order_date &&
172
182
  reordered == o.reordered &&
@@ -182,7 +192,7 @@ module CyberSource
182
192
  # Calculates hash code according to all attributes.
183
193
  # @return [Fixnum] Hash code
184
194
  def hash
185
- [amount_details, bill_to, ship_to, line_items, invoice_details, shipping_details, returns_accepted, pre_order, pre_order_date, reordered, total_offers_count].hash
195
+ [amount_details, bill_to, ship_to, line_items, invoice_details, shipping_details, returns_accepted, is_cryptocurrency_purchase, pre_order, pre_order_date, reordered, total_offers_count].hash
186
196
  end
187
197
 
188
198
  # Builds the object from hash