cybersource_rest_client 0.0.67 → 0.0.68

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/models/card_processing_config_common_acquirer.rb +257 -257
  3. data/lib/cybersource_rest_client/models/card_processing_config_common_merchant_descriptor_information.rb +279 -279
  4. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations.rb +200 -190
  5. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations_vault.rb +251 -0
  6. data/lib/cybersource_rest_client/models/e_check_config_common_internal_only_processors.rb +267 -263
  7. data/lib/cybersource_rest_client/models/e_check_config_common_processors.rb +273 -271
  8. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_internal_only_processors.rb +193 -191
  9. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_processors.rb +285 -283
  10. data/lib/cybersource_rest_client/models/flexv2sessions_fields.rb +199 -199
  11. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information.rb +209 -209
  12. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_amount_details.rb +199 -199
  13. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_amount_details_total_amount.rb +189 -189
  14. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_bill_to.rb +309 -309
  15. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_ship_to.rb +289 -289
  16. data/lib/cybersource_rest_client/models/flexv2sessions_fields_payment_information.rb +189 -189
  17. data/lib/cybersource_rest_client/models/flexv2sessions_fields_payment_information_card.rb +229 -229
  18. data/lib/cybersource_rest_client/models/generate_capture_context_request.rb +13 -13
  19. data/lib/cybersource_rest_client/models/generate_flex_api_capture_context_request.rb +189 -189
  20. data/lib/cybersource_rest_client/models/generate_unified_checkout_capture_context_request.rb +13 -13
  21. data/lib/cybersource_rest_client/models/inline_response_400_1_details.rb +199 -199
  22. data/lib/cybersource_rest_client/models/inline_response_400_2.rb +235 -235
  23. data/lib/cybersource_rest_client/models/inline_response_400_3.rb +235 -235
  24. data/lib/cybersource_rest_client/models/inline_response_400_4.rb +235 -235
  25. data/lib/cybersource_rest_client/models/inline_response_400_5.rb +258 -258
  26. data/lib/cybersource_rest_client/models/inline_response_400_5_fields.rb +213 -213
  27. data/lib/cybersource_rest_client/models/inline_response_400_6_details.rb +201 -201
  28. data/lib/cybersource_rest_client/models/patch_instrument_identifier_request.rb +313 -313
  29. data/lib/cybersource_rest_client/models/post_instrument_identifier_enrollment_request.rb +313 -313
  30. data/lib/cybersource_rest_client/models/post_instrument_identifier_request.rb +313 -313
  31. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +305 -305
  32. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +445 -428
  33. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +1 -1
  34. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options.rb +339 -411
  35. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options_bonuses.rb +213 -0
  36. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +383 -383
  37. data/lib/cybersource_rest_client/models/ptsv2payments_recurring_payment_information.rb +363 -363
  38. data/lib/cybersource_rest_client/models/ptsv2payments_sender_information.rb +298 -298
  39. data/lib/cybersource_rest_client/models/ptsv2paymentsid_client_reference_information.rb +256 -256
  40. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information.rb +219 -219
  41. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information.rb +219 -219
  42. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_customer.rb +222 -222
  43. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_customer.rb +205 -205
  44. data/lib/cybersource_rest_client/models/riskv1decisions_consumer_authentication_information.rb +795 -795
  45. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_line_items.rb +305 -314
  46. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier.rb +313 -313
  47. data/lib/cybersource_rest_client/models/tms_network_token_services.rb +239 -0
  48. data/lib/cybersource_rest_client/models/tms_network_token_services_american_express_token_service.rb +253 -0
  49. data/lib/cybersource_rest_client/models/tms_network_token_services_mastercard_digital_enablement_service.rb +227 -0
  50. data/lib/cybersource_rest_client/models/tms_network_token_services_notifications.rb +190 -0
  51. data/lib/cybersource_rest_client/models/tms_network_token_services_payment_credentials.rb +190 -0
  52. data/lib/cybersource_rest_client/models/tms_network_token_services_synchronous_provisioning.rb +190 -0
  53. data/lib/cybersource_rest_client/models/tms_network_token_services_visa_token_service.rb +244 -0
  54. data/lib/cybersource_rest_client/models/tms_nullify.rb +212 -0
  55. data/lib/cybersource_rest_client/models/tms_sensitive_privileges.rb +190 -0
  56. data/lib/cybersource_rest_client/models/tms_token_formats.rb +223 -0
  57. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card.rb +321 -321
  58. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_card.rb +225 -225
  59. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata.rb +189 -189
  60. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art.rb +250 -250
  61. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset.rb +200 -200
  62. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset__links.rb +189 -189
  63. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset__links_self.rb +190 -190
  64. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset.rb +200 -200
  65. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links.rb +189 -189
  66. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links_self.rb +190 -190
  67. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset.rb +200 -200
  68. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links.rb +189 -189
  69. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links_self.rb +190 -190
  70. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset.rb +200 -200
  71. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset__links.rb +189 -189
  72. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset__links_self.rb +190 -190
  73. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset.rb +200 -200
  74. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links.rb +189 -189
  75. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links_self.rb +190 -190
  76. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset.rb +200 -200
  77. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links.rb +189 -189
  78. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links_self.rb +190 -190
  79. data/lib/cybersource_rest_client/models/token_permissions.rb +223 -0
  80. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +326 -326
  81. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_japan_payment_options.rb +322 -247
  82. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +241 -241
  83. data/lib/cybersource_rest_client.rb +13 -0
  84. metadata +16 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24cc3cd439658ee9d66f554681e6b6f0554ae8e7b75ca2a45a375e94a98a33c1
4
- data.tar.gz: a329e6edb02dc7a8013d56de2fa50256c56a9c2f04017a40587a4002f3f06122
3
+ metadata.gz: fa2e3bd6f4a136b32e099b09803b0ee7e513b82d18492f8348ce62b7e5379214
4
+ data.tar.gz: a4e7efb7260afbb813015351f8a5b38df18ac39dad315858c0320c84bf3277ea
5
5
  SHA512:
6
- metadata.gz: 2b2ce04c6fc54120aa8995406a39613077a24d1c40e458590177d5ebcc2f76fc63f79dee638af3115d3acd9128d10297082431c721a511de50c39be7a2f78cfd
7
- data.tar.gz: e7615bc440bcec9733552206971519fd34bfa5525a5d2c33652832a4feccb2f1f4b22a939d9bc30c09feaa92172e7b446bf4c9629bc6b7abb6ee3d16bbcae0bc
6
+ metadata.gz: 7cfaae04504d6ade1096862d5fa3c2f2667413a4593d21d8812391f2bd50b085e621ff888487727b9d1575aac438ef16a40925864d5da47af13ed3e986ec95c3
7
+ data.tar.gz: cb914b4b1a5286a68a1451155901565934ad89b20ae5fc070c42ae953e397a88e6d611f812d4b95600d2ddbfe289b40c03f0651150c7f4600abd6a14fbe70577
@@ -1,257 +1,257 @@
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.4.38
10
- =end
11
-
12
- require 'date'
13
-
14
- module CyberSource
15
- # Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.
16
- class CardProcessingConfigCommonAcquirer
17
- # Identifier of the acquirer. This number is usually assigned by Visa. Applicable for VPC, GPX (gpx), CMCIC (cmcic), EFTPOS, CB2A, CUP, American Express Direct (amexdirect) and Six (six) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th><th>Default Value</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>Yes</td><td>1</td><td>13</td><td>^[0-9]+$</td><td>1111</td></tr> </table>
18
- attr_accessor :institution_id
19
-
20
- # Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors.
21
- attr_accessor :interbank_card_association_id
22
-
23
- # Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors.
24
- attr_accessor :discover_institution_id
25
-
26
- # Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors.
27
- attr_accessor :union_pay_institution_id
28
-
29
- # Assigned by Diners Club to identify the acquirer. Applicable for VPC processors.
30
- attr_accessor :diners_club_institution_id
31
-
32
- # ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors.
33
- attr_accessor :country_code
34
-
35
- # The BIN to which this capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors.
36
- attr_accessor :file_destination_bin
37
-
38
- # Attribute mapping from ruby-style variable name to JSON key.
39
- def self.attribute_map
40
- {
41
- :'institution_id' => :'institutionId',
42
- :'interbank_card_association_id' => :'interbankCardAssociationId',
43
- :'discover_institution_id' => :'discoverInstitutionId',
44
- :'union_pay_institution_id' => :'unionPayInstitutionId',
45
- :'diners_club_institution_id' => :'dinersClubInstitutionId',
46
- :'country_code' => :'countryCode',
47
- :'file_destination_bin' => :'fileDestinationBin'
48
- }
49
- end
50
-
51
- # Attribute mapping from JSON key to ruby-style variable name.
52
- def self.json_map
53
- {
54
- :'institution_id' => :'institution_id',
55
- :'interbank_card_association_id' => :'interbank_card_association_id',
56
- :'discover_institution_id' => :'discover_institution_id',
57
- :'union_pay_institution_id' => :'union_pay_institution_id',
58
- :'diners_club_institution_id' => :'diners_club_institution_id',
59
- :'country_code' => :'country_code',
60
- :'file_destination_bin' => :'file_destination_bin'
61
- }
62
- end
63
-
64
- # Attribute type mapping.
65
- def self.swagger_types
66
- {
67
- :'institution_id' => :'String',
68
- :'interbank_card_association_id' => :'String',
69
- :'discover_institution_id' => :'String',
70
- :'union_pay_institution_id' => :'String',
71
- :'diners_club_institution_id' => :'String',
72
- :'country_code' => :'String',
73
- :'file_destination_bin' => :'String'
74
- }
75
- end
76
-
77
- # Initializes the object
78
- # @param [Hash] attributes Model attributes in the form of hash
79
- def initialize(attributes = {})
80
- return unless attributes.is_a?(Hash)
81
-
82
- # convert string to symbol for hash key
83
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
-
85
- if attributes.has_key?(:'institutionId')
86
- self.institution_id = attributes[:'institutionId']
87
- end
88
-
89
- if attributes.has_key?(:'interbankCardAssociationId')
90
- self.interbank_card_association_id = attributes[:'interbankCardAssociationId']
91
- end
92
-
93
- if attributes.has_key?(:'discoverInstitutionId')
94
- self.discover_institution_id = attributes[:'discoverInstitutionId']
95
- end
96
-
97
- if attributes.has_key?(:'unionPayInstitutionId')
98
- self.union_pay_institution_id = attributes[:'unionPayInstitutionId']
99
- end
100
-
101
- if attributes.has_key?(:'dinersClubInstitutionId')
102
- self.diners_club_institution_id = attributes[:'dinersClubInstitutionId']
103
- end
104
-
105
- if attributes.has_key?(:'countryCode')
106
- self.country_code = attributes[:'countryCode']
107
- end
108
-
109
- if attributes.has_key?(:'fileDestinationBin')
110
- self.file_destination_bin = attributes[:'fileDestinationBin']
111
- end
112
- end
113
-
114
- # Show invalid properties with the reasons. Usually used together with valid?
115
- # @return Array for valid properties with the reasons
116
- def list_invalid_properties
117
- invalid_properties = Array.new
118
- invalid_properties
119
- end
120
-
121
- # Check to see if the all the properties in the model are valid
122
- # @return true if the model is valid
123
- def valid?
124
- true
125
- end
126
-
127
- # Checks equality by comparing each attribute.
128
- # @param [Object] Object to be compared
129
- def ==(o)
130
- return true if self.equal?(o)
131
- self.class == o.class &&
132
- institution_id == o.institution_id &&
133
- interbank_card_association_id == o.interbank_card_association_id &&
134
- discover_institution_id == o.discover_institution_id &&
135
- union_pay_institution_id == o.union_pay_institution_id &&
136
- diners_club_institution_id == o.diners_club_institution_id &&
137
- country_code == o.country_code &&
138
- file_destination_bin == o.file_destination_bin
139
- end
140
-
141
- # @see the `==` method
142
- # @param [Object] Object to be compared
143
- def eql?(o)
144
- self == o
145
- end
146
-
147
- # Calculates hash code according to all attributes.
148
- # @return [Fixnum] Hash code
149
- def hash
150
- [institution_id, interbank_card_association_id, discover_institution_id, union_pay_institution_id, diners_club_institution_id, country_code, file_destination_bin].hash
151
- end
152
-
153
- # Builds the object from hash
154
- # @param [Hash] attributes Model attributes in the form of hash
155
- # @return [Object] Returns the model itself
156
- def build_from_hash(attributes)
157
- return nil unless attributes.is_a?(Hash)
158
- self.class.swagger_types.each_pair do |key, type|
159
- if type =~ /\AArray<(.*)>/i
160
- # check to ensure the input is an array given that the the attribute
161
- # is documented as an array but the input is not
162
- if attributes[self.class.attribute_map[key]].is_a?(Array)
163
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
164
- end
165
- elsif !attributes[self.class.attribute_map[key]].nil?
166
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
167
- end # or else data not found in attributes(hash), not an issue as the data can be optional
168
- end
169
-
170
- self
171
- end
172
-
173
- # Deserializes the data based on type
174
- # @param string type Data type
175
- # @param string value Value to be deserialized
176
- # @return [Object] Deserialized data
177
- def _deserialize(type, value)
178
- case type.to_sym
179
- when :DateTime
180
- DateTime.parse(value)
181
- when :Date
182
- Date.parse(value)
183
- when :String
184
- value.to_s
185
- when :Integer
186
- value.to_i
187
- when :Float
188
- value.to_f
189
- when :BOOLEAN
190
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
191
- true
192
- else
193
- false
194
- end
195
- when :Object
196
- # generic object (usually a Hash), return directly
197
- value
198
- when /\AArray<(?<inner_type>.+)>\z/
199
- inner_type = Regexp.last_match[:inner_type]
200
- value.map { |v| _deserialize(inner_type, v) }
201
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
202
- k_type = Regexp.last_match[:k_type]
203
- v_type = Regexp.last_match[:v_type]
204
- {}.tap do |hash|
205
- value.each do |k, v|
206
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
207
- end
208
- end
209
- else # model
210
- temp_model = CyberSource.const_get(type).new
211
- temp_model.build_from_hash(value)
212
- end
213
- end
214
-
215
- # Returns the string representation of the object
216
- # @return [String] String presentation of the object
217
- def to_s
218
- to_hash.to_s
219
- end
220
-
221
- # to_body is an alias to to_hash (backward compatibility)
222
- # @return [Hash] Returns the object in the form of hash
223
- def to_body
224
- to_hash
225
- end
226
-
227
- # Returns the object in the form of hash
228
- # @return [Hash] Returns the object in the form of hash
229
- def to_hash
230
- hash = {}
231
- self.class.attribute_map.each_pair do |attr, param|
232
- value = self.send(attr)
233
- next if value.nil?
234
- hash[param] = _to_hash(value)
235
- end
236
- hash
237
- end
238
-
239
- # Outputs non-array value in the form of hash
240
- # For object, use to_hash. Otherwise, just return the value
241
- # @param [Object] value Any valid value
242
- # @return [Hash] Returns the value in the form of hash
243
- def _to_hash(value)
244
- if value.is_a?(Array)
245
- value.compact.map { |v| _to_hash(v) }
246
- elsif value.is_a?(Hash)
247
- {}.tap do |hash|
248
- value.each { |k, v| hash[k] = _to_hash(v) }
249
- end
250
- elsif value.respond_to? :to_hash
251
- value.to_hash
252
- else
253
- value
254
- end
255
- end
256
- end
257
- end
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.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ # Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.
16
+ class CardProcessingConfigCommonAcquirer
17
+ # Identifier of the acquirer. This number is usually assigned by Visa. Applicable for VPC, GPX (gpx), CMCIC (cmcic), EFTPOS, CB2A, CUP, American Express Direct (amexdirect) and Six (six) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th><th>Default Value</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>Yes</td><td>1</td><td>13</td><td>^[0-9]+$</td><td>1111</td></tr> </table>
18
+ attr_accessor :institution_id
19
+
20
+ # Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors.
21
+ attr_accessor :interbank_card_association_id
22
+
23
+ # Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors.
24
+ attr_accessor :discover_institution_id
25
+
26
+ # Assigned by China Union Pay to identify the acquirer. Applicable for VPC processors.
27
+ attr_accessor :union_pay_institution_id
28
+
29
+ # Assigned by Diners Club to identify the acquirer. Applicable for VPC processors.
30
+ attr_accessor :diners_club_institution_id
31
+
32
+ # ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors.
33
+ attr_accessor :country_code
34
+
35
+ # The BIN to which this capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors.
36
+ attr_accessor :file_destination_bin
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'institution_id' => :'institutionId',
42
+ :'interbank_card_association_id' => :'interbankCardAssociationId',
43
+ :'discover_institution_id' => :'discoverInstitutionId',
44
+ :'union_pay_institution_id' => :'unionPayInstitutionId',
45
+ :'diners_club_institution_id' => :'dinersClubInstitutionId',
46
+ :'country_code' => :'countryCode',
47
+ :'file_destination_bin' => :'fileDestinationBin'
48
+ }
49
+ end
50
+
51
+ # Attribute mapping from JSON key to ruby-style variable name.
52
+ def self.json_map
53
+ {
54
+ :'institution_id' => :'institution_id',
55
+ :'interbank_card_association_id' => :'interbank_card_association_id',
56
+ :'discover_institution_id' => :'discover_institution_id',
57
+ :'union_pay_institution_id' => :'union_pay_institution_id',
58
+ :'diners_club_institution_id' => :'diners_club_institution_id',
59
+ :'country_code' => :'country_code',
60
+ :'file_destination_bin' => :'file_destination_bin'
61
+ }
62
+ end
63
+
64
+ # Attribute type mapping.
65
+ def self.swagger_types
66
+ {
67
+ :'institution_id' => :'String',
68
+ :'interbank_card_association_id' => :'String',
69
+ :'discover_institution_id' => :'String',
70
+ :'union_pay_institution_id' => :'String',
71
+ :'diners_club_institution_id' => :'String',
72
+ :'country_code' => :'String',
73
+ :'file_destination_bin' => :'String'
74
+ }
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ return unless attributes.is_a?(Hash)
81
+
82
+ # convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
+
85
+ if attributes.has_key?(:'institutionId')
86
+ self.institution_id = attributes[:'institutionId']
87
+ end
88
+
89
+ if attributes.has_key?(:'interbankCardAssociationId')
90
+ self.interbank_card_association_id = attributes[:'interbankCardAssociationId']
91
+ end
92
+
93
+ if attributes.has_key?(:'discoverInstitutionId')
94
+ self.discover_institution_id = attributes[:'discoverInstitutionId']
95
+ end
96
+
97
+ if attributes.has_key?(:'unionPayInstitutionId')
98
+ self.union_pay_institution_id = attributes[:'unionPayInstitutionId']
99
+ end
100
+
101
+ if attributes.has_key?(:'dinersClubInstitutionId')
102
+ self.diners_club_institution_id = attributes[:'dinersClubInstitutionId']
103
+ end
104
+
105
+ if attributes.has_key?(:'countryCode')
106
+ self.country_code = attributes[:'countryCode']
107
+ end
108
+
109
+ if attributes.has_key?(:'fileDestinationBin')
110
+ self.file_destination_bin = attributes[:'fileDestinationBin']
111
+ end
112
+ end
113
+
114
+ # Show invalid properties with the reasons. Usually used together with valid?
115
+ # @return Array for valid properties with the reasons
116
+ def list_invalid_properties
117
+ invalid_properties = Array.new
118
+ invalid_properties
119
+ end
120
+
121
+ # Check to see if the all the properties in the model are valid
122
+ # @return true if the model is valid
123
+ def valid?
124
+ true
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param [Object] Object to be compared
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ institution_id == o.institution_id &&
133
+ interbank_card_association_id == o.interbank_card_association_id &&
134
+ discover_institution_id == o.discover_institution_id &&
135
+ union_pay_institution_id == o.union_pay_institution_id &&
136
+ diners_club_institution_id == o.diners_club_institution_id &&
137
+ country_code == o.country_code &&
138
+ file_destination_bin == o.file_destination_bin
139
+ end
140
+
141
+ # @see the `==` method
142
+ # @param [Object] Object to be compared
143
+ def eql?(o)
144
+ self == o
145
+ end
146
+
147
+ # Calculates hash code according to all attributes.
148
+ # @return [Fixnum] Hash code
149
+ def hash
150
+ [institution_id, interbank_card_association_id, discover_institution_id, union_pay_institution_id, diners_club_institution_id, country_code, file_destination_bin].hash
151
+ end
152
+
153
+ # Builds the object from hash
154
+ # @param [Hash] attributes Model attributes in the form of hash
155
+ # @return [Object] Returns the model itself
156
+ def build_from_hash(attributes)
157
+ return nil unless attributes.is_a?(Hash)
158
+ self.class.swagger_types.each_pair do |key, type|
159
+ if type =~ /\AArray<(.*)>/i
160
+ # check to ensure the input is an array given that the the attribute
161
+ # is documented as an array but the input is not
162
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
163
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
164
+ end
165
+ elsif !attributes[self.class.attribute_map[key]].nil?
166
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
167
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
168
+ end
169
+
170
+ self
171
+ end
172
+
173
+ # Deserializes the data based on type
174
+ # @param string type Data type
175
+ # @param string value Value to be deserialized
176
+ # @return [Object] Deserialized data
177
+ def _deserialize(type, value)
178
+ case type.to_sym
179
+ when :DateTime
180
+ DateTime.parse(value)
181
+ when :Date
182
+ Date.parse(value)
183
+ when :String
184
+ value.to_s
185
+ when :Integer
186
+ value.to_i
187
+ when :Float
188
+ value.to_f
189
+ when :BOOLEAN
190
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
191
+ true
192
+ else
193
+ false
194
+ end
195
+ when :Object
196
+ # generic object (usually a Hash), return directly
197
+ value
198
+ when /\AArray<(?<inner_type>.+)>\z/
199
+ inner_type = Regexp.last_match[:inner_type]
200
+ value.map { |v| _deserialize(inner_type, v) }
201
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
202
+ k_type = Regexp.last_match[:k_type]
203
+ v_type = Regexp.last_match[:v_type]
204
+ {}.tap do |hash|
205
+ value.each do |k, v|
206
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
207
+ end
208
+ end
209
+ else # model
210
+ temp_model = CyberSource.const_get(type).new
211
+ temp_model.build_from_hash(value)
212
+ end
213
+ end
214
+
215
+ # Returns the string representation of the object
216
+ # @return [String] String presentation of the object
217
+ def to_s
218
+ to_hash.to_s
219
+ end
220
+
221
+ # to_body is an alias to to_hash (backward compatibility)
222
+ # @return [Hash] Returns the object in the form of hash
223
+ def to_body
224
+ to_hash
225
+ end
226
+
227
+ # Returns the object in the form of hash
228
+ # @return [Hash] Returns the object in the form of hash
229
+ def to_hash
230
+ hash = {}
231
+ self.class.attribute_map.each_pair do |attr, param|
232
+ value = self.send(attr)
233
+ next if value.nil?
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+ end
257
+ end