cybersource_rest_client 0.0.50 → 0.0.52

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/authentication/jwt/JwtToken.rb +4 -2
  3. data/lib/cybersource_rest_client/api/payments_api.rb +2 -2
  4. data/lib/cybersource_rest_client/models/create_bundled_decision_manager_case_request.rb +13 -4
  5. data/lib/cybersource_rest_client/models/create_payment_request.rb +13 -4
  6. data/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.rb +32 -8
  7. data/lib/cybersource_rest_client/models/invoicingv2invoice_settings_invoice_settings_information.rb +32 -4
  8. data/lib/cybersource_rest_client/models/invoicingv2invoices_customer_information.rb +13 -4
  9. data/lib/cybersource_rest_client/models/invoicingv2invoices_customer_information_company.rb +190 -0
  10. data/lib/cybersource_rest_client/models/invoicingv2invoices_order_information_amount_details_freight.rb +20 -4
  11. data/lib/cybersource_rest_client/models/invoicingv2invoices_order_information_line_items.rb +84 -4
  12. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +13 -4
  13. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_error_information.rb +1 -1
  14. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information.rb +13 -4
  15. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_bill_to.rb +206 -0
  16. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +21 -5
  17. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +17 -1
  18. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_electronic_verification_results.rb +102 -6
  19. data/lib/cybersource_rest_client/models/{risk_v1_export_compliance_inquiries_post201_response_export_compliance_information.rb → pts_v2_payments_post201_response_watchlist_screening_information.rb} +2 -2
  20. data/lib/cybersource_rest_client/models/{risk_v1_export_compliance_inquiries_post201_response_export_compliance_information_watch_list.rb → pts_v2_payments_post201_response_watchlist_screening_information_watch_list.rb} +2 -2
  21. data/lib/cybersource_rest_client/models/{risk_v1_export_compliance_inquiries_post201_response_watch_list_matches.rb → pts_v2_payments_post201_response_watchlist_screening_information_watch_list_matches.rb} +1 -1
  22. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +20 -4
  23. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_recipient_information_card.rb +1 -1
  24. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information.rb +26 -1
  25. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +20 -4
  26. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_service_location.rb +238 -0
  27. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +1 -1
  28. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_bill_to.rb +36 -4
  29. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_line_items.rb +26 -4
  30. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_payment_type.rb +11 -1
  31. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +21 -5
  32. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +1 -1
  33. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +12 -2
  34. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +14 -4
  35. data/lib/cybersource_rest_client/models/ptsv2payments_watchlist_screening_information.rb +215 -0
  36. data/lib/cybersource_rest_client/models/{riskv1exportcomplianceinquiries_export_compliance_information_weights.rb → ptsv2payments_watchlist_screening_information_weights.rb} +1 -1
  37. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_amount_details.rb +1 -1
  38. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information_payouts_options.rb +20 -4
  39. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response.rb +10 -1
  40. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response_error_information.rb +1 -1
  41. data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response.rb +1 -1
  42. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_line_items.rb +26 -4
  43. data/lib/cybersource_rest_client/models/riskv1decisions_processing_information.rb +2 -2
  44. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_export_compliance_information.rb +1 -1
  45. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +10 -1
  46. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb +40 -1
  47. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_brands.rb +194 -0
  48. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +27 -1
  49. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_features.rb +286 -0
  50. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_issuer_information.rb +238 -0
  51. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_network.rb +190 -0
  52. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payout_options.rb +190 -0
  53. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +11 -1
  54. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information_electronic_verification_results.rb +2 -2
  55. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_token_information.rb +24 -4
  56. data/lib/cybersource_rest_client.rb +13 -4
  57. metadata +31 -8
@@ -20,8 +20,17 @@ module CyberSource
20
20
 
21
21
  attr_accessor :card
22
22
 
23
+ # This array contains the supported brands.
24
+ attr_accessor :brands
25
+
26
+ attr_accessor :features
27
+
23
28
  attr_accessor :invoice
24
29
 
30
+ attr_accessor :network
31
+
32
+ attr_accessor :issuer_information
33
+
25
34
  attr_accessor :bank
26
35
 
27
36
  attr_accessor :account_features
@@ -40,7 +49,11 @@ module CyberSource
40
49
  :'payment_type' => :'paymentType',
41
50
  :'customer' => :'customer',
42
51
  :'card' => :'card',
52
+ :'brands' => :'brands',
53
+ :'features' => :'features',
43
54
  :'invoice' => :'invoice',
55
+ :'network' => :'network',
56
+ :'issuer_information' => :'issuerInformation',
44
57
  :'bank' => :'bank',
45
58
  :'account_features' => :'accountFeatures',
46
59
  :'payment_instrument' => :'paymentInstrument',
@@ -56,7 +69,11 @@ module CyberSource
56
69
  :'payment_type' => :'TssV2TransactionsGet200ResponsePaymentInformationPaymentType',
57
70
  :'customer' => :'TssV2TransactionsGet200ResponsePaymentInformationCustomer',
58
71
  :'card' => :'TssV2TransactionsGet200ResponsePaymentInformationCard',
72
+ :'brands' => :'Array<TssV2TransactionsGet200ResponsePaymentInformationBrands>',
73
+ :'features' => :'TssV2TransactionsGet200ResponsePaymentInformationFeatures',
59
74
  :'invoice' => :'TssV2TransactionsGet200ResponsePaymentInformationInvoice',
75
+ :'network' => :'TssV2TransactionsGet200ResponsePaymentInformationNetwork',
76
+ :'issuer_information' => :'TssV2TransactionsGet200ResponsePaymentInformationIssuerInformation',
60
77
  :'bank' => :'TssV2TransactionsGet200ResponsePaymentInformationBank',
61
78
  :'account_features' => :'TssV2TransactionsGet200ResponsePaymentInformationAccountFeatures',
62
79
  :'payment_instrument' => :'PtsV2PaymentsPost201ResponseTokenInformationPaymentInstrument',
@@ -86,10 +103,28 @@ module CyberSource
86
103
  self.card = attributes[:'card']
87
104
  end
88
105
 
106
+ if attributes.has_key?(:'brands')
107
+ if (value = attributes[:'brands']).is_a?(Array)
108
+ self.brands = value
109
+ end
110
+ end
111
+
112
+ if attributes.has_key?(:'features')
113
+ self.features = attributes[:'features']
114
+ end
115
+
89
116
  if attributes.has_key?(:'invoice')
90
117
  self.invoice = attributes[:'invoice']
91
118
  end
92
119
 
120
+ if attributes.has_key?(:'network')
121
+ self.network = attributes[:'network']
122
+ end
123
+
124
+ if attributes.has_key?(:'issuerInformation')
125
+ self.issuer_information = attributes[:'issuerInformation']
126
+ end
127
+
93
128
  if attributes.has_key?(:'bank')
94
129
  self.bank = attributes[:'bank']
95
130
  end
@@ -136,7 +171,11 @@ module CyberSource
136
171
  payment_type == o.payment_type &&
137
172
  customer == o.customer &&
138
173
  card == o.card &&
174
+ brands == o.brands &&
175
+ features == o.features &&
139
176
  invoice == o.invoice &&
177
+ network == o.network &&
178
+ issuer_information == o.issuer_information &&
140
179
  bank == o.bank &&
141
180
  account_features == o.account_features &&
142
181
  payment_instrument == o.payment_instrument &&
@@ -154,7 +193,7 @@ module CyberSource
154
193
  # Calculates hash code according to all attributes.
155
194
  # @return [Fixnum] Hash code
156
195
  def hash
157
- [payment_type, customer, card, invoice, bank, account_features, payment_instrument, instrument_identifier, shipping_address, fluid_data].hash
196
+ [payment_type, customer, card, brands, features, invoice, network, issuer_information, bank, account_features, payment_instrument, instrument_identifier, shipping_address, fluid_data].hash
158
197
  end
159
198
 
160
199
  # Builds the object from hash
@@ -0,0 +1,194 @@
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 TssV2TransactionsGet200ResponsePaymentInformationBrands
17
+ # 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 - '070': EFTPOS [^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
18
+ attr_accessor :type
19
+
20
+ # This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS
21
+ attr_accessor :brand_name
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'type' => :'type',
27
+ :'brand_name' => :'brandName'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'type' => :'String',
35
+ :'brand_name' => :'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?(:'type')
48
+ self.type = attributes[:'type']
49
+ end
50
+
51
+ if attributes.has_key?(:'brandName')
52
+ self.brand_name = attributes[:'brandName']
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
+ # Checks equality by comparing each attribute.
70
+ # @param [Object] Object to be compared
71
+ def ==(o)
72
+ return true if self.equal?(o)
73
+ self.class == o.class &&
74
+ type == o.type &&
75
+ brand_name == o.brand_name
76
+ end
77
+
78
+ # @see the `==` method
79
+ # @param [Object] Object to be compared
80
+ def eql?(o)
81
+ self == o
82
+ end
83
+
84
+ # Calculates hash code according to all attributes.
85
+ # @return [Fixnum] Hash code
86
+ def hash
87
+ [type, brand_name].hash
88
+ end
89
+
90
+ # Builds the object from hash
91
+ # @param [Hash] attributes Model attributes in the form of hash
92
+ # @return [Object] Returns the model itself
93
+ def build_from_hash(attributes)
94
+ return nil unless attributes.is_a?(Hash)
95
+ self.class.swagger_types.each_pair do |key, type|
96
+ if type =~ /\AArray<(.*)>/i
97
+ # check to ensure the input is an array given that the the attribute
98
+ # is documented as an array but the input is not
99
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
100
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
101
+ end
102
+ elsif !attributes[self.class.attribute_map[key]].nil?
103
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
104
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
105
+ end
106
+
107
+ self
108
+ end
109
+
110
+ # Deserializes the data based on type
111
+ # @param string type Data type
112
+ # @param string value Value to be deserialized
113
+ # @return [Object] Deserialized data
114
+ def _deserialize(type, value)
115
+ case type.to_sym
116
+ when :DateTime
117
+ DateTime.parse(value)
118
+ when :Date
119
+ Date.parse(value)
120
+ when :String
121
+ value.to_s
122
+ when :Integer
123
+ value.to_i
124
+ when :Float
125
+ value.to_f
126
+ when :BOOLEAN
127
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
128
+ true
129
+ else
130
+ false
131
+ end
132
+ when :Object
133
+ # generic object (usually a Hash), return directly
134
+ value
135
+ when /\AArray<(?<inner_type>.+)>\z/
136
+ inner_type = Regexp.last_match[:inner_type]
137
+ value.map { |v| _deserialize(inner_type, v) }
138
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
139
+ k_type = Regexp.last_match[:k_type]
140
+ v_type = Regexp.last_match[:v_type]
141
+ {}.tap do |hash|
142
+ value.each do |k, v|
143
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
144
+ end
145
+ end
146
+ else # model
147
+ temp_model = CyberSource.const_get(type).new
148
+ temp_model.build_from_hash(value)
149
+ end
150
+ end
151
+
152
+ # Returns the string representation of the object
153
+ # @return [String] String presentation of the object
154
+ def to_s
155
+ to_hash.to_s
156
+ end
157
+
158
+ # to_body is an alias to to_hash (backward compatibility)
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_body
161
+ to_hash
162
+ end
163
+
164
+ # Returns the object in the form of hash
165
+ # @return [Hash] Returns the object in the form of hash
166
+ def to_hash
167
+ hash = {}
168
+ self.class.attribute_map.each_pair do |attr, param|
169
+ value = self.send(attr)
170
+ next if value.nil?
171
+ hash[param] = _to_hash(value)
172
+ end
173
+ hash
174
+ end
175
+
176
+ # Outputs non-array value in the form of hash
177
+ # For object, use to_hash. Otherwise, just return the value
178
+ # @param [Object] value Any valid value
179
+ # @return [Hash] Returns the value in the form of hash
180
+ def _to_hash(value)
181
+ if value.is_a?(Array)
182
+ value.compact.map { |v| _to_hash(v) }
183
+ elsif value.is_a?(Hash)
184
+ {}.tap do |hash|
185
+ value.each { |k, v| hash[k] = _to_hash(v) }
186
+ end
187
+ elsif value.respond_to? :to_hash
188
+ value.to_hash
189
+ else
190
+ value
191
+ end
192
+ end
193
+ end
194
+ end
@@ -38,6 +38,12 @@ module CyberSource
38
38
  # 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 - '070': EFTPOS [^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
39
39
  attr_accessor :type
40
40
 
41
+ # This field contains the card brand name. Some of the possible values (not an exhaustive list) are - - VISA - MASTERCARD - AMERICAN EXPRESS - DISCOVER - DINERS CLUB - CARTE BLANCHE - JCB - OPTIMA - TWINPAY CREDIT CARD - TWINPAY DEBIT CARD - WALMART - ENROUTE - LOWES CONSUMER - HOME DEPOT CONSUMER - MBNA - DICKS SPORTWEAR - CASUAL CORNER - SEARS - JAL - DISNEY CARD - SWITCH/SOLO - SAMS CLUB CONSUMER - SAMS CLUB BUSINESS - NICOS HOUSE CARD - BEBE - RESTORATION HARDWARE - DELTA ONLINE - SOLO - VISA ELECTRON - DANKORT - LASER - CARTE BANCAIRE - CARTA SI - ENCODED ACCOUNT - UATP - HOUSEHOLD - MAESTRO - GE CAPITAL - KOREAN CARDS - STYLE CARDS - JCREW - MEIJER - HIPERCARD - AURA - REDECARD - ORICO HOUSE CARD - ELO - CAPITAL ONE PRIVATE LABEL - CARNET - RUPAY - CHINA UNION PAY - FALABELLA PRIVATE LABEL - PROMPTCARD - KOREAN DOMESTIC - BANRICOMPRAS
42
+ attr_accessor :brand_name
43
+
44
+ # This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
45
+ attr_accessor :currency
46
+
41
47
  # Identifier for the issuing bank that provided the customer’s encoded account number. Contact your processor for the bank’s ID.
42
48
  attr_accessor :account_encoder_id
43
49
 
@@ -55,6 +61,8 @@ module CyberSource
55
61
  :'start_year' => :'startYear',
56
62
  :'issue_number' => :'issueNumber',
57
63
  :'type' => :'type',
64
+ :'brand_name' => :'brandName',
65
+ :'currency' => :'currency',
58
66
  :'account_encoder_id' => :'accountEncoderId',
59
67
  :'use_as' => :'useAs'
60
68
  }
@@ -71,6 +79,8 @@ module CyberSource
71
79
  :'start_year' => :'String',
72
80
  :'issue_number' => :'String',
73
81
  :'type' => :'String',
82
+ :'brand_name' => :'String',
83
+ :'currency' => :'String',
74
84
  :'account_encoder_id' => :'String',
75
85
  :'use_as' => :'String'
76
86
  }
@@ -116,6 +126,14 @@ module CyberSource
116
126
  self.type = attributes[:'type']
117
127
  end
118
128
 
129
+ if attributes.has_key?(:'brandName')
130
+ self.brand_name = attributes[:'brandName']
131
+ end
132
+
133
+ if attributes.has_key?(:'currency')
134
+ self.currency = attributes[:'currency']
135
+ end
136
+
119
137
  if attributes.has_key?(:'accountEncoderId')
120
138
  self.account_encoder_id = attributes[:'accountEncoderId']
121
139
  end
@@ -174,6 +192,12 @@ module CyberSource
174
192
  @issue_number = issue_number
175
193
  end
176
194
 
195
+ # Custom attribute writer method with validation
196
+ # @param [Object] currency Value to be assigned
197
+ def currency=(currency)
198
+ @currency = currency
199
+ end
200
+
177
201
  # Custom attribute writer method with validation
178
202
  # @param [Object] account_encoder_id Value to be assigned
179
203
  def account_encoder_id=(account_encoder_id)
@@ -199,6 +223,8 @@ module CyberSource
199
223
  start_year == o.start_year &&
200
224
  issue_number == o.issue_number &&
201
225
  type == o.type &&
226
+ brand_name == o.brand_name &&
227
+ currency == o.currency &&
202
228
  account_encoder_id == o.account_encoder_id &&
203
229
  use_as == o.use_as
204
230
  end
@@ -212,7 +238,7 @@ module CyberSource
212
238
  # Calculates hash code according to all attributes.
213
239
  # @return [Fixnum] Hash code
214
240
  def hash
215
- [suffix, prefix, expiration_month, expiration_year, start_month, start_year, issue_number, type, account_encoder_id, use_as].hash
241
+ [suffix, prefix, expiration_month, expiration_year, start_month, start_year, issue_number, type, brand_name, currency, account_encoder_id, use_as].hash
216
242
  end
217
243
 
218
244
  # Builds the object from hash
@@ -0,0 +1,286 @@
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 TssV2TransactionsGet200ResponsePaymentInformationFeatures
17
+ # This field contains the account funding source. Possible values: - `CREDIT` - `DEBIT` - `PREPAID` - `DEFERRED DEBIT` - `CHARGE`
18
+ attr_accessor :account_funding_source
19
+
20
+ # This field contains the type of prepaid card. Possible values: - `Reloadable` - `Non-reloadable`
21
+ attr_accessor :account_funding_source_sub_type
22
+
23
+ # This field contains the type of issuer product. Example values: - Visa Classic - Visa Signature - Visa Infinite
24
+ attr_accessor :card_product
25
+
26
+ # This field contains the type of BIN based authentication. Possible values: - `S`: Single Message - `D`: Dual Message
27
+ attr_accessor :message_type
28
+
29
+ # This field contains the acceptance level of the PAN. Possible values: - `0` : Normal - `1` : Monitor - `2` : Refuse - `3` : Not Allowed - `4` : Private - `5` : Test
30
+ attr_accessor :acceptance_level
31
+
32
+ # This field contains the type of card platform. Possible values: - `BUSINESS` - `CONSUMER` - `COMMERCIAL` - `GOVERNMENT`
33
+ attr_accessor :card_platform
34
+
35
+ # This field indicates the type of combo card. Possible values: - 0 (Not a combo card) - 1 (Credit and Prepaid Combo card) - 2 (Credit and Debit Combo card)
36
+ attr_accessor :combo_card
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'account_funding_source' => :'accountFundingSource',
42
+ :'account_funding_source_sub_type' => :'accountFundingSourceSubType',
43
+ :'card_product' => :'cardProduct',
44
+ :'message_type' => :'messageType',
45
+ :'acceptance_level' => :'acceptanceLevel',
46
+ :'card_platform' => :'cardPlatform',
47
+ :'combo_card' => :'comboCard'
48
+ }
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.swagger_types
53
+ {
54
+ :'account_funding_source' => :'String',
55
+ :'account_funding_source_sub_type' => :'String',
56
+ :'card_product' => :'String',
57
+ :'message_type' => :'String',
58
+ :'acceptance_level' => :'String',
59
+ :'card_platform' => :'String',
60
+ :'combo_card' => :'String'
61
+ }
62
+ end
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ return unless attributes.is_a?(Hash)
68
+
69
+ # convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
71
+
72
+ if attributes.has_key?(:'accountFundingSource')
73
+ self.account_funding_source = attributes[:'accountFundingSource']
74
+ end
75
+
76
+ if attributes.has_key?(:'accountFundingSourceSubType')
77
+ self.account_funding_source_sub_type = attributes[:'accountFundingSourceSubType']
78
+ end
79
+
80
+ if attributes.has_key?(:'cardProduct')
81
+ self.card_product = attributes[:'cardProduct']
82
+ end
83
+
84
+ if attributes.has_key?(:'messageType')
85
+ self.message_type = attributes[:'messageType']
86
+ end
87
+
88
+ if attributes.has_key?(:'acceptanceLevel')
89
+ self.acceptance_level = attributes[:'acceptanceLevel']
90
+ end
91
+
92
+ if attributes.has_key?(:'cardPlatform')
93
+ self.card_platform = attributes[:'cardPlatform']
94
+ end
95
+
96
+ if attributes.has_key?(:'comboCard')
97
+ self.combo_card = attributes[:'comboCard']
98
+ end
99
+ end
100
+
101
+ # Show invalid properties with the reasons. Usually used together with valid?
102
+ # @return Array for valid properties with the reasons
103
+ def list_invalid_properties
104
+ invalid_properties = Array.new
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ true
112
+ end
113
+
114
+ # Custom attribute writer method with validation
115
+ # @param [Object] account_funding_source Value to be assigned
116
+ def account_funding_source=(account_funding_source)
117
+ @account_funding_source = account_funding_source
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] account_funding_source_sub_type Value to be assigned
122
+ def account_funding_source_sub_type=(account_funding_source_sub_type)
123
+ @account_funding_source_sub_type = account_funding_source_sub_type
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] card_product Value to be assigned
128
+ def card_product=(card_product)
129
+ @card_product = card_product
130
+ end
131
+
132
+ # Custom attribute writer method with validation
133
+ # @param [Object] message_type Value to be assigned
134
+ def message_type=(message_type)
135
+ @message_type = message_type
136
+ end
137
+
138
+ # Custom attribute writer method with validation
139
+ # @param [Object] acceptance_level Value to be assigned
140
+ def acceptance_level=(acceptance_level)
141
+ @acceptance_level = acceptance_level
142
+ end
143
+
144
+ # Custom attribute writer method with validation
145
+ # @param [Object] card_platform Value to be assigned
146
+ def card_platform=(card_platform)
147
+ @card_platform = card_platform
148
+ end
149
+
150
+ # Custom attribute writer method with validation
151
+ # @param [Object] combo_card Value to be assigned
152
+ def combo_card=(combo_card)
153
+ @combo_card = combo_card
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ account_funding_source == o.account_funding_source &&
162
+ account_funding_source_sub_type == o.account_funding_source_sub_type &&
163
+ card_product == o.card_product &&
164
+ message_type == o.message_type &&
165
+ acceptance_level == o.acceptance_level &&
166
+ card_platform == o.card_platform &&
167
+ combo_card == o.combo_card
168
+ end
169
+
170
+ # @see the `==` method
171
+ # @param [Object] Object to be compared
172
+ def eql?(o)
173
+ self == o
174
+ end
175
+
176
+ # Calculates hash code according to all attributes.
177
+ # @return [Fixnum] Hash code
178
+ def hash
179
+ [account_funding_source, account_funding_source_sub_type, card_product, message_type, acceptance_level, card_platform, combo_card].hash
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def build_from_hash(attributes)
186
+ return nil unless attributes.is_a?(Hash)
187
+ self.class.swagger_types.each_pair do |key, type|
188
+ if type =~ /\AArray<(.*)>/i
189
+ # check to ensure the input is an array given that the the attribute
190
+ # is documented as an array but the input is not
191
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
192
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
193
+ end
194
+ elsif !attributes[self.class.attribute_map[key]].nil?
195
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
196
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
197
+ end
198
+
199
+ self
200
+ end
201
+
202
+ # Deserializes the data based on type
203
+ # @param string type Data type
204
+ # @param string value Value to be deserialized
205
+ # @return [Object] Deserialized data
206
+ def _deserialize(type, value)
207
+ case type.to_sym
208
+ when :DateTime
209
+ DateTime.parse(value)
210
+ when :Date
211
+ Date.parse(value)
212
+ when :String
213
+ value.to_s
214
+ when :Integer
215
+ value.to_i
216
+ when :Float
217
+ value.to_f
218
+ when :BOOLEAN
219
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
220
+ true
221
+ else
222
+ false
223
+ end
224
+ when :Object
225
+ # generic object (usually a Hash), return directly
226
+ value
227
+ when /\AArray<(?<inner_type>.+)>\z/
228
+ inner_type = Regexp.last_match[:inner_type]
229
+ value.map { |v| _deserialize(inner_type, v) }
230
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
231
+ k_type = Regexp.last_match[:k_type]
232
+ v_type = Regexp.last_match[:v_type]
233
+ {}.tap do |hash|
234
+ value.each do |k, v|
235
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
236
+ end
237
+ end
238
+ else # model
239
+ temp_model = CyberSource.const_get(type).new
240
+ temp_model.build_from_hash(value)
241
+ end
242
+ end
243
+
244
+ # Returns the string representation of the object
245
+ # @return [String] String presentation of the object
246
+ def to_s
247
+ to_hash.to_s
248
+ end
249
+
250
+ # to_body is an alias to to_hash (backward compatibility)
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_body
253
+ to_hash
254
+ end
255
+
256
+ # Returns the object in the form of hash
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_hash
259
+ hash = {}
260
+ self.class.attribute_map.each_pair do |attr, param|
261
+ value = self.send(attr)
262
+ next if value.nil?
263
+ hash[param] = _to_hash(value)
264
+ end
265
+ hash
266
+ end
267
+
268
+ # Outputs non-array value in the form of hash
269
+ # For object, use to_hash. Otherwise, just return the value
270
+ # @param [Object] value Any valid value
271
+ # @return [Hash] Returns the value in the form of hash
272
+ def _to_hash(value)
273
+ if value.is_a?(Array)
274
+ value.compact.map { |v| _to_hash(v) }
275
+ elsif value.is_a?(Hash)
276
+ {}.tap do |hash|
277
+ value.each { |k, v| hash[k] = _to_hash(v) }
278
+ end
279
+ elsif value.respond_to? :to_hash
280
+ value.to_hash
281
+ else
282
+ value
283
+ end
284
+ end
285
+ end
286
+ end