ultracart_api 3.3.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -4
  3. data/docs/ConfigurationApi.md +756 -0
  4. data/docs/DelayAutoOrdersResponse.md +12 -0
  5. data/docs/IntegrationLogApi.md +51 -0
  6. data/docs/IntegrationLogSummary.md +16 -0
  7. data/docs/IntegrationLogSummaryQueryRequest.md +9 -0
  8. data/docs/IntegrationLogSummaryQueryResponse.md +12 -0
  9. data/docs/PaymentsConfiguration.md +23 -0
  10. data/docs/PaymentsConfigurationAffirm.md +15 -0
  11. data/docs/PaymentsConfigurationAmazon.md +15 -0
  12. data/docs/PaymentsConfigurationCOD.md +13 -0
  13. data/docs/PaymentsConfigurationCash.md +9 -0
  14. data/docs/PaymentsConfigurationCheck.md +25 -0
  15. data/docs/PaymentsConfigurationCreditCard.md +16 -0
  16. data/docs/PaymentsConfigurationLoanHero.md +12 -0
  17. data/docs/PaymentsConfigurationPayPal.md +36 -0
  18. data/docs/PaymentsConfigurationPurchaseOrder.md +11 -0
  19. data/docs/PaymentsConfigurationQuoteRequest.md +10 -0
  20. data/docs/PaymentsConfigurationResponse.md +12 -0
  21. data/docs/PaymentsConfigurationRestrictions.md +19 -0
  22. data/docs/PaymentsConfigurationSezzle.md +15 -0
  23. data/docs/PaymentsConfigurationWePay.md +35 -0
  24. data/docs/PaymentsConfigurationWireTransfer.md +18 -0
  25. data/docs/PaymentsThemeTransactionType.md +10 -0
  26. data/docs/PaymentsWepayEnroll.md +22 -0
  27. data/docs/RotatingTransactionGateway.md +50 -0
  28. data/docs/RotatingTransactionGatewaysResponse.md +12 -0
  29. data/docs/RtgCurrency.md +10 -0
  30. data/docs/RtgDayOfMonthRestriction.md +9 -0
  31. data/docs/RtgDayOfWeekRestriction.md +10 -0
  32. data/docs/RtgSummary.md +14 -0
  33. data/docs/RtgSummaryGateway.md +24 -0
  34. data/docs/RtgThemeRestriction.md +10 -0
  35. data/docs/ScreenRecordingPageViewEvent.md +1 -0
  36. data/docs/SingleSignOnAuthorizeResponse.md +9 -0
  37. data/docs/SingleSignOnTokenResponse.md +10 -0
  38. data/docs/SsoApi.md +4 -4
  39. data/docs/StripeConnectResponse.md +12 -0
  40. data/docs/TransactionGateway.md +71 -0
  41. data/docs/TransactionGatewaysRequest.md +10 -0
  42. data/docs/TransactionGatewaysResponse.md +12 -0
  43. data/lib/ultracart_api.rb +37 -0
  44. data/lib/ultracart_api/api/configuration_api.rb +843 -0
  45. data/lib/ultracart_api/api/integration_log_api.rb +55 -0
  46. data/lib/ultracart_api/api/sso_api.rb +6 -6
  47. data/lib/ultracart_api/models/delay_auto_orders_response.rb +221 -0
  48. data/lib/ultracart_api/models/integration_log_summary.rb +256 -0
  49. data/lib/ultracart_api/models/integration_log_summary_query_request.rb +195 -0
  50. data/lib/ultracart_api/models/integration_log_summary_query_response.rb +223 -0
  51. data/lib/ultracart_api/models/payments_configuration.rb +319 -0
  52. data/lib/ultracart_api/models/payments_configuration_affirm.rb +247 -0
  53. data/lib/ultracart_api/models/payments_configuration_amazon.rb +247 -0
  54. data/lib/ultracart_api/models/payments_configuration_cash.rb +193 -0
  55. data/lib/ultracart_api/models/payments_configuration_check.rb +337 -0
  56. data/lib/ultracart_api/models/payments_configuration_cod.rb +229 -0
  57. data/lib/ultracart_api/models/payments_configuration_credit_card.rb +256 -0
  58. data/lib/ultracart_api/models/payments_configuration_loan_hero.rb +220 -0
  59. data/lib/ultracart_api/models/payments_configuration_pay_pal.rb +436 -0
  60. data/lib/ultracart_api/models/payments_configuration_purchase_order.rb +211 -0
  61. data/lib/ultracart_api/models/payments_configuration_quote_request.rb +202 -0
  62. data/lib/ultracart_api/models/payments_configuration_response.rb +221 -0
  63. data/lib/ultracart_api/models/payments_configuration_restrictions.rb +283 -0
  64. data/lib/ultracart_api/models/payments_configuration_sezzle.rb +247 -0
  65. data/lib/ultracart_api/models/payments_configuration_we_pay.rb +427 -0
  66. data/lib/ultracart_api/models/payments_configuration_wire_transfer.rb +274 -0
  67. data/lib/ultracart_api/models/payments_theme_transaction_type.rb +239 -0
  68. data/lib/ultracart_api/models/payments_wepay_enroll.rb +310 -0
  69. data/lib/ultracart_api/models/rotating_transaction_gateway.rb +665 -0
  70. data/lib/ultracart_api/models/rotating_transaction_gateways_response.rb +223 -0
  71. data/lib/ultracart_api/models/rtg_currency.rb +205 -0
  72. data/lib/ultracart_api/models/rtg_day_of_month_restriction.rb +195 -0
  73. data/lib/ultracart_api/models/rtg_day_of_week_restriction.rb +205 -0
  74. data/lib/ultracart_api/models/rtg_summary.rb +240 -0
  75. data/lib/ultracart_api/models/rtg_summary_gateway.rb +329 -0
  76. data/lib/ultracart_api/models/rtg_theme_restriction.rb +239 -0
  77. data/lib/ultracart_api/models/screen_recording_page_view_event.rb +10 -1
  78. data/lib/ultracart_api/models/single_sign_on_authorize_response.rb +195 -0
  79. data/lib/ultracart_api/models/single_sign_on_token_response.rb +205 -0
  80. data/lib/ultracart_api/models/stripe_connect_response.rb +221 -0
  81. data/lib/ultracart_api/models/transaction_gateway.rb +823 -0
  82. data/lib/ultracart_api/models/transaction_gateways_request.rb +242 -0
  83. data/lib/ultracart_api/models/transaction_gateways_response.rb +223 -0
  84. data/lib/ultracart_api/version.rb +1 -1
  85. metadata +76 -2
@@ -0,0 +1,205 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class SingleSignOnTokenResponse
17
+ # Expiration date/time after which time the key is no longer valid
18
+ attr_accessor :expiration_dts
19
+
20
+ # IP address of the user which we recommend you lock the simple key's usage to.
21
+ attr_accessor :ip_address
22
+
23
+ # The simple key that can then be used to make SDK calls on the users behalf.
24
+ attr_accessor :simple_key
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'expiration_dts' => :'expiration_dts',
30
+ :'ip_address' => :'ip_address',
31
+ :'simple_key' => :'simple_key'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.swagger_types
37
+ {
38
+ :'expiration_dts' => :'String',
39
+ :'ip_address' => :'String',
40
+ :'simple_key' => :'String'
41
+ }
42
+ end
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ return unless attributes.is_a?(Hash)
48
+
49
+ # convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
51
+
52
+ if attributes.has_key?(:'expiration_dts')
53
+ self.expiration_dts = attributes[:'expiration_dts']
54
+ end
55
+
56
+ if attributes.has_key?(:'ip_address')
57
+ self.ip_address = attributes[:'ip_address']
58
+ end
59
+
60
+ if attributes.has_key?(:'simple_key')
61
+ self.simple_key = attributes[:'simple_key']
62
+ end
63
+ end
64
+
65
+ # Show invalid properties with the reasons. Usually used together with valid?
66
+ # @return Array for valid properties with the reasons
67
+ def list_invalid_properties
68
+ invalid_properties = Array.new
69
+ invalid_properties
70
+ end
71
+
72
+ # Check to see if the all the properties in the model are valid
73
+ # @return true if the model is valid
74
+ def valid?
75
+ true
76
+ end
77
+
78
+ # Checks equality by comparing each attribute.
79
+ # @param [Object] Object to be compared
80
+ def ==(o)
81
+ return true if self.equal?(o)
82
+ self.class == o.class &&
83
+ expiration_dts == o.expiration_dts &&
84
+ ip_address == o.ip_address &&
85
+ simple_key == o.simple_key
86
+ end
87
+
88
+ # @see the `==` method
89
+ # @param [Object] Object to be compared
90
+ def eql?(o)
91
+ self == o
92
+ end
93
+
94
+ # Calculates hash code according to all attributes.
95
+ # @return [Fixnum] Hash code
96
+ def hash
97
+ [expiration_dts, ip_address, simple_key].hash
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def build_from_hash(attributes)
104
+ return nil unless attributes.is_a?(Hash)
105
+ self.class.swagger_types.each_pair do |key, type|
106
+ if type =~ /\AArray<(.*)>/i
107
+ # check to ensure the input is an array given that the attribute
108
+ # is documented as an array but the input is not
109
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
110
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
111
+ end
112
+ elsif !attributes[self.class.attribute_map[key]].nil?
113
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
114
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
115
+ end
116
+
117
+ self
118
+ end
119
+
120
+ # Deserializes the data based on type
121
+ # @param string type Data type
122
+ # @param string value Value to be deserialized
123
+ # @return [Object] Deserialized data
124
+ def _deserialize(type, value)
125
+ case type.to_sym
126
+ when :DateTime
127
+ DateTime.parse(value)
128
+ when :Date
129
+ Date.parse(value)
130
+ when :String
131
+ value.to_s
132
+ when :Integer
133
+ value.to_i
134
+ when :Float
135
+ value.to_f
136
+ when :BOOLEAN
137
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
138
+ true
139
+ else
140
+ false
141
+ end
142
+ when :Object
143
+ # generic object (usually a Hash), return directly
144
+ value
145
+ when /\AArray<(?<inner_type>.+)>\z/
146
+ inner_type = Regexp.last_match[:inner_type]
147
+ value.map { |v| _deserialize(inner_type, v) }
148
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
149
+ k_type = Regexp.last_match[:k_type]
150
+ v_type = Regexp.last_match[:v_type]
151
+ {}.tap do |hash|
152
+ value.each do |k, v|
153
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
154
+ end
155
+ end
156
+ else # model
157
+ temp_model = UltracartClient.const_get(type).new
158
+ temp_model.build_from_hash(value)
159
+ end
160
+ end
161
+
162
+ # Returns the string representation of the object
163
+ # @return [String] String presentation of the object
164
+ def to_s
165
+ to_hash.to_s
166
+ end
167
+
168
+ # to_body is an alias to to_hash (backward compatibility)
169
+ # @return [Hash] Returns the object in the form of hash
170
+ def to_body
171
+ to_hash
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ next if value.nil?
181
+ hash[param] = _to_hash(value)
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Outputs non-array value in the form of hash
187
+ # For object, use to_hash. Otherwise, just return the value
188
+ # @param [Object] value Any valid value
189
+ # @return [Hash] Returns the value in the form of hash
190
+ def _to_hash(value)
191
+ if value.is_a?(Array)
192
+ value.compact.map { |v| _to_hash(v) }
193
+ elsif value.is_a?(Hash)
194
+ {}.tap do |hash|
195
+ value.each { |k, v| hash[k] = _to_hash(v) }
196
+ end
197
+ elsif value.respond_to? :to_hash
198
+ value.to_hash
199
+ else
200
+ value
201
+ end
202
+ end
203
+
204
+ end
205
+ end
@@ -0,0 +1,221 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class StripeConnectResponse
17
+ attr_accessor :connect_url
18
+
19
+ attr_accessor :error
20
+
21
+ attr_accessor :metadata
22
+
23
+ # Indicates if API call was successful
24
+ attr_accessor :success
25
+
26
+ attr_accessor :warning
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'connect_url' => :'connect_url',
32
+ :'error' => :'error',
33
+ :'metadata' => :'metadata',
34
+ :'success' => :'success',
35
+ :'warning' => :'warning'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.swagger_types
41
+ {
42
+ :'connect_url' => :'String',
43
+ :'error' => :'Error',
44
+ :'metadata' => :'ResponseMetadata',
45
+ :'success' => :'BOOLEAN',
46
+ :'warning' => :'Warning'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
57
+
58
+ if attributes.has_key?(:'connect_url')
59
+ self.connect_url = attributes[:'connect_url']
60
+ end
61
+
62
+ if attributes.has_key?(:'error')
63
+ self.error = attributes[:'error']
64
+ end
65
+
66
+ if attributes.has_key?(:'metadata')
67
+ self.metadata = attributes[:'metadata']
68
+ end
69
+
70
+ if attributes.has_key?(:'success')
71
+ self.success = attributes[:'success']
72
+ end
73
+
74
+ if attributes.has_key?(:'warning')
75
+ self.warning = attributes[:'warning']
76
+ end
77
+ end
78
+
79
+ # Show invalid properties with the reasons. Usually used together with valid?
80
+ # @return Array for valid properties with the reasons
81
+ def list_invalid_properties
82
+ invalid_properties = Array.new
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ true
90
+ end
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] Object to be compared
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ connect_url == o.connect_url &&
98
+ error == o.error &&
99
+ metadata == o.metadata &&
100
+ success == o.success &&
101
+ warning == o.warning
102
+ end
103
+
104
+ # @see the `==` method
105
+ # @param [Object] Object to be compared
106
+ def eql?(o)
107
+ self == o
108
+ end
109
+
110
+ # Calculates hash code according to all attributes.
111
+ # @return [Fixnum] Hash code
112
+ def hash
113
+ [connect_url, error, metadata, success, warning].hash
114
+ end
115
+
116
+ # Builds the object from hash
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @return [Object] Returns the model itself
119
+ def build_from_hash(attributes)
120
+ return nil unless attributes.is_a?(Hash)
121
+ self.class.swagger_types.each_pair do |key, type|
122
+ if type =~ /\AArray<(.*)>/i
123
+ # check to ensure the input is an array given that the attribute
124
+ # is documented as an array but the input is not
125
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
126
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
127
+ end
128
+ elsif !attributes[self.class.attribute_map[key]].nil?
129
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
130
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
131
+ end
132
+
133
+ self
134
+ end
135
+
136
+ # Deserializes the data based on type
137
+ # @param string type Data type
138
+ # @param string value Value to be deserialized
139
+ # @return [Object] Deserialized data
140
+ def _deserialize(type, value)
141
+ case type.to_sym
142
+ when :DateTime
143
+ DateTime.parse(value)
144
+ when :Date
145
+ Date.parse(value)
146
+ when :String
147
+ value.to_s
148
+ when :Integer
149
+ value.to_i
150
+ when :Float
151
+ value.to_f
152
+ when :BOOLEAN
153
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
154
+ true
155
+ else
156
+ false
157
+ end
158
+ when :Object
159
+ # generic object (usually a Hash), return directly
160
+ value
161
+ when /\AArray<(?<inner_type>.+)>\z/
162
+ inner_type = Regexp.last_match[:inner_type]
163
+ value.map { |v| _deserialize(inner_type, v) }
164
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
165
+ k_type = Regexp.last_match[:k_type]
166
+ v_type = Regexp.last_match[:v_type]
167
+ {}.tap do |hash|
168
+ value.each do |k, v|
169
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
170
+ end
171
+ end
172
+ else # model
173
+ temp_model = UltracartClient.const_get(type).new
174
+ temp_model.build_from_hash(value)
175
+ end
176
+ end
177
+
178
+ # Returns the string representation of the object
179
+ # @return [String] String presentation of the object
180
+ def to_s
181
+ to_hash.to_s
182
+ end
183
+
184
+ # to_body is an alias to to_hash (backward compatibility)
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_body
187
+ to_hash
188
+ end
189
+
190
+ # Returns the object in the form of hash
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_hash
193
+ hash = {}
194
+ self.class.attribute_map.each_pair do |attr, param|
195
+ value = self.send(attr)
196
+ next if value.nil?
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ # Outputs non-array value in the form of hash
203
+ # For object, use to_hash. Otherwise, just return the value
204
+ # @param [Object] value Any valid value
205
+ # @return [Hash] Returns the value in the form of hash
206
+ def _to_hash(value)
207
+ if value.is_a?(Array)
208
+ value.compact.map { |v| _to_hash(v) }
209
+ elsif value.is_a?(Hash)
210
+ {}.tap do |hash|
211
+ value.each { |k, v| hash[k] = _to_hash(v) }
212
+ end
213
+ elsif value.respond_to? :to_hash
214
+ value.to_hash
215
+ else
216
+ value
217
+ end
218
+ end
219
+
220
+ end
221
+ end
@@ -0,0 +1,823 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ OpenAPI spec version: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.15-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module UltracartClient
16
+ class TransactionGateway
17
+ # Additional html to display for this transaction gateway. This html will include instructions and connection links
18
+ attr_accessor :arbitrary_html
19
+
20
+ # Additional comments
21
+ attr_accessor :comment
22
+
23
+ # True if this gateway supports credit cards
24
+ attr_accessor :credit_card_capable
25
+
26
+ # True if this gateway supports eChecks
27
+ attr_accessor :echeck_capable
28
+
29
+ # True if this gateway supports eChecks
30
+ attr_accessor :echeck_supported
31
+
32
+ # True if this transaction gateway is the currently active gateway.
33
+ attr_accessor :enabled
34
+
35
+ # Cryptographic public certificate allowing UltraCart to communicate securely with this gateway.
36
+ attr_accessor :gateway_cert_pem
37
+
38
+ # The label for the gateway certificate pem. The actual value stored may vary by gateway, so the label will vary too.
39
+ attr_accessor :gateway_cert_pem_label
40
+
41
+ # Gateway Email
42
+ attr_accessor :gateway_email
43
+
44
+ # The label for the gateway email. The actual value stored may vary by gateway, so the label will vary too.
45
+ attr_accessor :gateway_email_label
46
+
47
+ # Gateway Environment to indicate sandbox versus production environments
48
+ attr_accessor :gateway_environment
49
+
50
+ # The label for the gateway environment. The actual value stored may vary by gateway, so the label will vary too.
51
+ attr_accessor :gateway_environment_label
52
+
53
+ # Used to populate drop down lists for the gateway environment. Varies by gateway.
54
+ attr_accessor :gateway_environments
55
+
56
+ # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS
57
+ attr_accessor :gateway_header_back_color
58
+
59
+ # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS
60
+ attr_accessor :gateway_header_border_color
61
+
62
+ # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS
63
+ attr_accessor :gateway_header_image_url
64
+
65
+ # Gateway Key
66
+ attr_accessor :gateway_key
67
+
68
+ # The label for the gateway key. The actual value stored may vary by gateway, so the label will vary too.
69
+ attr_accessor :gateway_key_label
70
+
71
+ # Cryptographic private key allowing UltraCart to communicate securely with this gateway.
72
+ attr_accessor :gateway_key_pem
73
+
74
+ # The label for the gateway key pem. The actual value stored may vary by gateway, so the label will vary too.
75
+ attr_accessor :gateway_key_pem_label
76
+
77
+ # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS
78
+ attr_accessor :gateway_landing_page
79
+
80
+ # Gateway Merchant ID
81
+ attr_accessor :gateway_merchant_id
82
+
83
+ # The label for the gateway merchant id. The actual value stored may vary by gateway, so the label will vary too.
84
+ attr_accessor :gateway_merchant_id_label
85
+
86
+ # Gateway Mode
87
+ attr_accessor :gateway_mode
88
+
89
+ # The label for the gateway mode. The actual value stored may vary by gateway, so the label will vary too.
90
+ attr_accessor :gateway_mode_label
91
+
92
+ # Used to populate drop down lists for gateway modes
93
+ attr_accessor :gateway_modes
94
+
95
+ # Gateway Page Style
96
+ attr_accessor :gateway_page_style
97
+
98
+ # Gateway page style label
99
+ attr_accessor :gateway_page_style_label
100
+
101
+ # Used to populate drop down lists for gateway page style
102
+ attr_accessor :gateway_page_styles
103
+
104
+ # Gateway Partner
105
+ attr_accessor :gateway_partner
106
+
107
+ # The label for the gateway partner. The actual value stored may vary by gateway, so the label will vary too.
108
+ attr_accessor :gateway_partner_label
109
+
110
+ # Gateway Password
111
+ attr_accessor :gateway_password
112
+
113
+ # The label for the gateway password. The actual value stored may vary by gateway, so the label will vary too.
114
+ attr_accessor :gateway_password_label
115
+
116
+ # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS
117
+ attr_accessor :gateway_payflow_color
118
+
119
+ # Gateway private key password
120
+ attr_accessor :gateway_private_key_password
121
+
122
+ # The label for the gateway private key password. The actual value stored may vary by gateway, so the label will vary too.
123
+ attr_accessor :gateway_private_key_password_label
124
+
125
+ # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS
126
+ attr_accessor :gateway_solution_type
127
+
128
+ # The label for the gateway solution type. The actual value stored may vary by gateway, so the label will vary too.
129
+ attr_accessor :gateway_solution_type_label
130
+
131
+ # Used to populate drop down lists for gateway solution types
132
+ attr_accessor :gateway_solution_types
133
+
134
+ # Gateway URL
135
+ attr_accessor :gateway_url
136
+
137
+ # The label for the gateway url. The actual value stored may vary by gateway, so the label will vary too.
138
+ attr_accessor :gateway_url_label
139
+
140
+ # Gateway Username
141
+ attr_accessor :gateway_username
142
+
143
+ # The label for the gateway username. The actual value stored may vary by gateway, so the label will vary too.
144
+ attr_accessor :gateway_username_label
145
+
146
+ # If a merchant has multiple card processing accounts, this is the one to use for American Express cards.
147
+ attr_accessor :merchant_account_profile_amex
148
+
149
+ # If a merchant has multiple card processing accounts, this is the one to use for Diners Club cards.
150
+ attr_accessor :merchant_account_profile_diners_club
151
+
152
+ # If a merchant has multiple card processing accounts, this is the one to use for Discover cards.
153
+ attr_accessor :merchant_account_profile_discover
154
+
155
+ # If a merchant has multiple card processing accounts, this is the one to use for JCB cards.
156
+ attr_accessor :merchant_account_profile_jcb
157
+
158
+ # If a merchant has multiple card processing accounts, this is the one to use for MasterCard cards.
159
+ attr_accessor :merchant_account_profile_mastercard
160
+
161
+ # If a merchant has multiple card processing accounts, this is the one to use for VISA cards.
162
+ attr_accessor :merchant_account_profile_visa
163
+
164
+ # UltraCart Merchant ID
165
+ attr_accessor :merchant_id
166
+
167
+ # True if this gateway provides details for multiple currency transactions
168
+ attr_accessor :multi_currency_details
169
+
170
+ # Name of this transaction gateway
171
+ attr_accessor :name
172
+
173
+ # True if this gateway supports refunds
174
+ attr_accessor :refund_supported
175
+
176
+ # If true, e-Check transaction will require either a Tax ID or a Driver License
177
+ attr_accessor :require_echeck_tax_id_or_drivers_license
178
+
179
+ # True if this gateway supported Verified-by-VISA 3D Secure
180
+ attr_accessor :support_vbv_3ds
181
+
182
+ # If true, this gateway will attempt to process American Express transactions. If false, the customer will not be allowed to use this type of Credit Card.
183
+ attr_accessor :supports_amex
184
+
185
+ # If true, this gateway will attempt to process Diners Club transactions. If false, the customer will not be allowed to use this type of Credit Card.
186
+ attr_accessor :supports_diners_club
187
+
188
+ # If true, this gateway will attempt to process Discover transactions. If false, the customer will not be allowed to use this type of Credit Card.
189
+ attr_accessor :supports_discover
190
+
191
+ # If true, this gateway will attempt to process e-Check transactions. If false, the customer will not be allowed to use e-Checks.
192
+ attr_accessor :supports_echeck
193
+
194
+ # if true, this gateway will attempt to process electronic gift cards.
195
+ attr_accessor :supports_electronic_gift_card
196
+
197
+ # If true, this gateway will attempt to process JCB transactions. If false, the customer will not be allowed to use this type of Credit Card.
198
+ attr_accessor :supports_jcb
199
+
200
+ # If true, this gateway will attempt to process MasterCard transactions. If false, the customer will not be allowed to use this type of Credit Card.
201
+ attr_accessor :supports_mastercard
202
+
203
+ # If true, this gateway will attempt to process VISA transactions. If false, the customer will not be allowed to use this type of Credit Card.
204
+ attr_accessor :supports_visa
205
+
206
+ # True if this gateway supports third parties
207
+ attr_accessor :third_party
208
+
209
+ # Attribute mapping from ruby-style variable name to JSON key.
210
+ def self.attribute_map
211
+ {
212
+ :'arbitrary_html' => :'arbitrary_html',
213
+ :'comment' => :'comment',
214
+ :'credit_card_capable' => :'credit_card_capable',
215
+ :'echeck_capable' => :'echeck_capable',
216
+ :'echeck_supported' => :'echeck_supported',
217
+ :'enabled' => :'enabled',
218
+ :'gateway_cert_pem' => :'gateway_cert_pem',
219
+ :'gateway_cert_pem_label' => :'gateway_cert_pem_label',
220
+ :'gateway_email' => :'gateway_email',
221
+ :'gateway_email_label' => :'gateway_email_label',
222
+ :'gateway_environment' => :'gateway_environment',
223
+ :'gateway_environment_label' => :'gateway_environment_label',
224
+ :'gateway_environments' => :'gateway_environments',
225
+ :'gateway_header_back_color' => :'gateway_header_back_color',
226
+ :'gateway_header_border_color' => :'gateway_header_border_color',
227
+ :'gateway_header_image_url' => :'gateway_header_image_url',
228
+ :'gateway_key' => :'gateway_key',
229
+ :'gateway_key_label' => :'gateway_key_label',
230
+ :'gateway_key_pem' => :'gateway_key_pem',
231
+ :'gateway_key_pem_label' => :'gateway_key_pem_label',
232
+ :'gateway_landing_page' => :'gateway_landing_page',
233
+ :'gateway_merchant_id' => :'gateway_merchant_id',
234
+ :'gateway_merchant_id_label' => :'gateway_merchant_id_label',
235
+ :'gateway_mode' => :'gateway_mode',
236
+ :'gateway_mode_label' => :'gateway_mode_label',
237
+ :'gateway_modes' => :'gateway_modes',
238
+ :'gateway_page_style' => :'gateway_page_style',
239
+ :'gateway_page_style_label' => :'gateway_page_style_label',
240
+ :'gateway_page_styles' => :'gateway_page_styles',
241
+ :'gateway_partner' => :'gateway_partner',
242
+ :'gateway_partner_label' => :'gateway_partner_label',
243
+ :'gateway_password' => :'gateway_password',
244
+ :'gateway_password_label' => :'gateway_password_label',
245
+ :'gateway_payflow_color' => :'gateway_payflow_color',
246
+ :'gateway_private_key_password' => :'gateway_private_key_password',
247
+ :'gateway_private_key_password_label' => :'gateway_private_key_password_label',
248
+ :'gateway_solution_type' => :'gateway_solution_type',
249
+ :'gateway_solution_type_label' => :'gateway_solution_type_label',
250
+ :'gateway_solution_types' => :'gateway_solution_types',
251
+ :'gateway_url' => :'gateway_url',
252
+ :'gateway_url_label' => :'gateway_url_label',
253
+ :'gateway_username' => :'gateway_username',
254
+ :'gateway_username_label' => :'gateway_username_label',
255
+ :'merchant_account_profile_amex' => :'merchant_account_profile_amex',
256
+ :'merchant_account_profile_diners_club' => :'merchant_account_profile_diners_club',
257
+ :'merchant_account_profile_discover' => :'merchant_account_profile_discover',
258
+ :'merchant_account_profile_jcb' => :'merchant_account_profile_jcb',
259
+ :'merchant_account_profile_mastercard' => :'merchant_account_profile_mastercard',
260
+ :'merchant_account_profile_visa' => :'merchant_account_profile_visa',
261
+ :'merchant_id' => :'merchant_id',
262
+ :'multi_currency_details' => :'multi_currency_details',
263
+ :'name' => :'name',
264
+ :'refund_supported' => :'refund_supported',
265
+ :'require_echeck_tax_id_or_drivers_license' => :'require_echeck_tax_id_or_drivers_license',
266
+ :'support_vbv_3ds' => :'support_vbv_3ds',
267
+ :'supports_amex' => :'supports_amex',
268
+ :'supports_diners_club' => :'supports_diners_club',
269
+ :'supports_discover' => :'supports_discover',
270
+ :'supports_echeck' => :'supports_echeck',
271
+ :'supports_electronic_gift_card' => :'supports_electronic_gift_card',
272
+ :'supports_jcb' => :'supports_jcb',
273
+ :'supports_mastercard' => :'supports_mastercard',
274
+ :'supports_visa' => :'supports_visa',
275
+ :'third_party' => :'third_party'
276
+ }
277
+ end
278
+
279
+ # Attribute type mapping.
280
+ def self.swagger_types
281
+ {
282
+ :'arbitrary_html' => :'String',
283
+ :'comment' => :'String',
284
+ :'credit_card_capable' => :'BOOLEAN',
285
+ :'echeck_capable' => :'BOOLEAN',
286
+ :'echeck_supported' => :'String',
287
+ :'enabled' => :'BOOLEAN',
288
+ :'gateway_cert_pem' => :'String',
289
+ :'gateway_cert_pem_label' => :'String',
290
+ :'gateway_email' => :'String',
291
+ :'gateway_email_label' => :'String',
292
+ :'gateway_environment' => :'String',
293
+ :'gateway_environment_label' => :'String',
294
+ :'gateway_environments' => :'Array<String>',
295
+ :'gateway_header_back_color' => :'String',
296
+ :'gateway_header_border_color' => :'String',
297
+ :'gateway_header_image_url' => :'String',
298
+ :'gateway_key' => :'String',
299
+ :'gateway_key_label' => :'String',
300
+ :'gateway_key_pem' => :'String',
301
+ :'gateway_key_pem_label' => :'String',
302
+ :'gateway_landing_page' => :'String',
303
+ :'gateway_merchant_id' => :'String',
304
+ :'gateway_merchant_id_label' => :'String',
305
+ :'gateway_mode' => :'String',
306
+ :'gateway_mode_label' => :'String',
307
+ :'gateway_modes' => :'Array<String>',
308
+ :'gateway_page_style' => :'String',
309
+ :'gateway_page_style_label' => :'String',
310
+ :'gateway_page_styles' => :'Array<String>',
311
+ :'gateway_partner' => :'String',
312
+ :'gateway_partner_label' => :'String',
313
+ :'gateway_password' => :'String',
314
+ :'gateway_password_label' => :'String',
315
+ :'gateway_payflow_color' => :'String',
316
+ :'gateway_private_key_password' => :'String',
317
+ :'gateway_private_key_password_label' => :'String',
318
+ :'gateway_solution_type' => :'String',
319
+ :'gateway_solution_type_label' => :'String',
320
+ :'gateway_solution_types' => :'Array<String>',
321
+ :'gateway_url' => :'String',
322
+ :'gateway_url_label' => :'String',
323
+ :'gateway_username' => :'String',
324
+ :'gateway_username_label' => :'String',
325
+ :'merchant_account_profile_amex' => :'String',
326
+ :'merchant_account_profile_diners_club' => :'String',
327
+ :'merchant_account_profile_discover' => :'String',
328
+ :'merchant_account_profile_jcb' => :'String',
329
+ :'merchant_account_profile_mastercard' => :'String',
330
+ :'merchant_account_profile_visa' => :'String',
331
+ :'merchant_id' => :'String',
332
+ :'multi_currency_details' => :'BOOLEAN',
333
+ :'name' => :'String',
334
+ :'refund_supported' => :'BOOLEAN',
335
+ :'require_echeck_tax_id_or_drivers_license' => :'BOOLEAN',
336
+ :'support_vbv_3ds' => :'BOOLEAN',
337
+ :'supports_amex' => :'BOOLEAN',
338
+ :'supports_diners_club' => :'BOOLEAN',
339
+ :'supports_discover' => :'BOOLEAN',
340
+ :'supports_echeck' => :'BOOLEAN',
341
+ :'supports_electronic_gift_card' => :'BOOLEAN',
342
+ :'supports_jcb' => :'BOOLEAN',
343
+ :'supports_mastercard' => :'BOOLEAN',
344
+ :'supports_visa' => :'BOOLEAN',
345
+ :'third_party' => :'BOOLEAN'
346
+ }
347
+ end
348
+
349
+ # Initializes the object
350
+ # @param [Hash] attributes Model attributes in the form of hash
351
+ def initialize(attributes = {})
352
+ return unless attributes.is_a?(Hash)
353
+
354
+ # convert string to symbol for hash key
355
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
356
+
357
+ if attributes.has_key?(:'arbitrary_html')
358
+ self.arbitrary_html = attributes[:'arbitrary_html']
359
+ end
360
+
361
+ if attributes.has_key?(:'comment')
362
+ self.comment = attributes[:'comment']
363
+ end
364
+
365
+ if attributes.has_key?(:'credit_card_capable')
366
+ self.credit_card_capable = attributes[:'credit_card_capable']
367
+ end
368
+
369
+ if attributes.has_key?(:'echeck_capable')
370
+ self.echeck_capable = attributes[:'echeck_capable']
371
+ end
372
+
373
+ if attributes.has_key?(:'echeck_supported')
374
+ self.echeck_supported = attributes[:'echeck_supported']
375
+ end
376
+
377
+ if attributes.has_key?(:'enabled')
378
+ self.enabled = attributes[:'enabled']
379
+ end
380
+
381
+ if attributes.has_key?(:'gateway_cert_pem')
382
+ self.gateway_cert_pem = attributes[:'gateway_cert_pem']
383
+ end
384
+
385
+ if attributes.has_key?(:'gateway_cert_pem_label')
386
+ self.gateway_cert_pem_label = attributes[:'gateway_cert_pem_label']
387
+ end
388
+
389
+ if attributes.has_key?(:'gateway_email')
390
+ self.gateway_email = attributes[:'gateway_email']
391
+ end
392
+
393
+ if attributes.has_key?(:'gateway_email_label')
394
+ self.gateway_email_label = attributes[:'gateway_email_label']
395
+ end
396
+
397
+ if attributes.has_key?(:'gateway_environment')
398
+ self.gateway_environment = attributes[:'gateway_environment']
399
+ end
400
+
401
+ if attributes.has_key?(:'gateway_environment_label')
402
+ self.gateway_environment_label = attributes[:'gateway_environment_label']
403
+ end
404
+
405
+ if attributes.has_key?(:'gateway_environments')
406
+ if (value = attributes[:'gateway_environments']).is_a?(Array)
407
+ self.gateway_environments = value
408
+ end
409
+ end
410
+
411
+ if attributes.has_key?(:'gateway_header_back_color')
412
+ self.gateway_header_back_color = attributes[:'gateway_header_back_color']
413
+ end
414
+
415
+ if attributes.has_key?(:'gateway_header_border_color')
416
+ self.gateway_header_border_color = attributes[:'gateway_header_border_color']
417
+ end
418
+
419
+ if attributes.has_key?(:'gateway_header_image_url')
420
+ self.gateway_header_image_url = attributes[:'gateway_header_image_url']
421
+ end
422
+
423
+ if attributes.has_key?(:'gateway_key')
424
+ self.gateway_key = attributes[:'gateway_key']
425
+ end
426
+
427
+ if attributes.has_key?(:'gateway_key_label')
428
+ self.gateway_key_label = attributes[:'gateway_key_label']
429
+ end
430
+
431
+ if attributes.has_key?(:'gateway_key_pem')
432
+ self.gateway_key_pem = attributes[:'gateway_key_pem']
433
+ end
434
+
435
+ if attributes.has_key?(:'gateway_key_pem_label')
436
+ self.gateway_key_pem_label = attributes[:'gateway_key_pem_label']
437
+ end
438
+
439
+ if attributes.has_key?(:'gateway_landing_page')
440
+ self.gateway_landing_page = attributes[:'gateway_landing_page']
441
+ end
442
+
443
+ if attributes.has_key?(:'gateway_merchant_id')
444
+ self.gateway_merchant_id = attributes[:'gateway_merchant_id']
445
+ end
446
+
447
+ if attributes.has_key?(:'gateway_merchant_id_label')
448
+ self.gateway_merchant_id_label = attributes[:'gateway_merchant_id_label']
449
+ end
450
+
451
+ if attributes.has_key?(:'gateway_mode')
452
+ self.gateway_mode = attributes[:'gateway_mode']
453
+ end
454
+
455
+ if attributes.has_key?(:'gateway_mode_label')
456
+ self.gateway_mode_label = attributes[:'gateway_mode_label']
457
+ end
458
+
459
+ if attributes.has_key?(:'gateway_modes')
460
+ if (value = attributes[:'gateway_modes']).is_a?(Array)
461
+ self.gateway_modes = value
462
+ end
463
+ end
464
+
465
+ if attributes.has_key?(:'gateway_page_style')
466
+ self.gateway_page_style = attributes[:'gateway_page_style']
467
+ end
468
+
469
+ if attributes.has_key?(:'gateway_page_style_label')
470
+ self.gateway_page_style_label = attributes[:'gateway_page_style_label']
471
+ end
472
+
473
+ if attributes.has_key?(:'gateway_page_styles')
474
+ if (value = attributes[:'gateway_page_styles']).is_a?(Array)
475
+ self.gateway_page_styles = value
476
+ end
477
+ end
478
+
479
+ if attributes.has_key?(:'gateway_partner')
480
+ self.gateway_partner = attributes[:'gateway_partner']
481
+ end
482
+
483
+ if attributes.has_key?(:'gateway_partner_label')
484
+ self.gateway_partner_label = attributes[:'gateway_partner_label']
485
+ end
486
+
487
+ if attributes.has_key?(:'gateway_password')
488
+ self.gateway_password = attributes[:'gateway_password']
489
+ end
490
+
491
+ if attributes.has_key?(:'gateway_password_label')
492
+ self.gateway_password_label = attributes[:'gateway_password_label']
493
+ end
494
+
495
+ if attributes.has_key?(:'gateway_payflow_color')
496
+ self.gateway_payflow_color = attributes[:'gateway_payflow_color']
497
+ end
498
+
499
+ if attributes.has_key?(:'gateway_private_key_password')
500
+ self.gateway_private_key_password = attributes[:'gateway_private_key_password']
501
+ end
502
+
503
+ if attributes.has_key?(:'gateway_private_key_password_label')
504
+ self.gateway_private_key_password_label = attributes[:'gateway_private_key_password_label']
505
+ end
506
+
507
+ if attributes.has_key?(:'gateway_solution_type')
508
+ self.gateway_solution_type = attributes[:'gateway_solution_type']
509
+ end
510
+
511
+ if attributes.has_key?(:'gateway_solution_type_label')
512
+ self.gateway_solution_type_label = attributes[:'gateway_solution_type_label']
513
+ end
514
+
515
+ if attributes.has_key?(:'gateway_solution_types')
516
+ if (value = attributes[:'gateway_solution_types']).is_a?(Array)
517
+ self.gateway_solution_types = value
518
+ end
519
+ end
520
+
521
+ if attributes.has_key?(:'gateway_url')
522
+ self.gateway_url = attributes[:'gateway_url']
523
+ end
524
+
525
+ if attributes.has_key?(:'gateway_url_label')
526
+ self.gateway_url_label = attributes[:'gateway_url_label']
527
+ end
528
+
529
+ if attributes.has_key?(:'gateway_username')
530
+ self.gateway_username = attributes[:'gateway_username']
531
+ end
532
+
533
+ if attributes.has_key?(:'gateway_username_label')
534
+ self.gateway_username_label = attributes[:'gateway_username_label']
535
+ end
536
+
537
+ if attributes.has_key?(:'merchant_account_profile_amex')
538
+ self.merchant_account_profile_amex = attributes[:'merchant_account_profile_amex']
539
+ end
540
+
541
+ if attributes.has_key?(:'merchant_account_profile_diners_club')
542
+ self.merchant_account_profile_diners_club = attributes[:'merchant_account_profile_diners_club']
543
+ end
544
+
545
+ if attributes.has_key?(:'merchant_account_profile_discover')
546
+ self.merchant_account_profile_discover = attributes[:'merchant_account_profile_discover']
547
+ end
548
+
549
+ if attributes.has_key?(:'merchant_account_profile_jcb')
550
+ self.merchant_account_profile_jcb = attributes[:'merchant_account_profile_jcb']
551
+ end
552
+
553
+ if attributes.has_key?(:'merchant_account_profile_mastercard')
554
+ self.merchant_account_profile_mastercard = attributes[:'merchant_account_profile_mastercard']
555
+ end
556
+
557
+ if attributes.has_key?(:'merchant_account_profile_visa')
558
+ self.merchant_account_profile_visa = attributes[:'merchant_account_profile_visa']
559
+ end
560
+
561
+ if attributes.has_key?(:'merchant_id')
562
+ self.merchant_id = attributes[:'merchant_id']
563
+ end
564
+
565
+ if attributes.has_key?(:'multi_currency_details')
566
+ self.multi_currency_details = attributes[:'multi_currency_details']
567
+ end
568
+
569
+ if attributes.has_key?(:'name')
570
+ self.name = attributes[:'name']
571
+ end
572
+
573
+ if attributes.has_key?(:'refund_supported')
574
+ self.refund_supported = attributes[:'refund_supported']
575
+ end
576
+
577
+ if attributes.has_key?(:'require_echeck_tax_id_or_drivers_license')
578
+ self.require_echeck_tax_id_or_drivers_license = attributes[:'require_echeck_tax_id_or_drivers_license']
579
+ end
580
+
581
+ if attributes.has_key?(:'support_vbv_3ds')
582
+ self.support_vbv_3ds = attributes[:'support_vbv_3ds']
583
+ end
584
+
585
+ if attributes.has_key?(:'supports_amex')
586
+ self.supports_amex = attributes[:'supports_amex']
587
+ end
588
+
589
+ if attributes.has_key?(:'supports_diners_club')
590
+ self.supports_diners_club = attributes[:'supports_diners_club']
591
+ end
592
+
593
+ if attributes.has_key?(:'supports_discover')
594
+ self.supports_discover = attributes[:'supports_discover']
595
+ end
596
+
597
+ if attributes.has_key?(:'supports_echeck')
598
+ self.supports_echeck = attributes[:'supports_echeck']
599
+ end
600
+
601
+ if attributes.has_key?(:'supports_electronic_gift_card')
602
+ self.supports_electronic_gift_card = attributes[:'supports_electronic_gift_card']
603
+ end
604
+
605
+ if attributes.has_key?(:'supports_jcb')
606
+ self.supports_jcb = attributes[:'supports_jcb']
607
+ end
608
+
609
+ if attributes.has_key?(:'supports_mastercard')
610
+ self.supports_mastercard = attributes[:'supports_mastercard']
611
+ end
612
+
613
+ if attributes.has_key?(:'supports_visa')
614
+ self.supports_visa = attributes[:'supports_visa']
615
+ end
616
+
617
+ if attributes.has_key?(:'third_party')
618
+ self.third_party = attributes[:'third_party']
619
+ end
620
+ end
621
+
622
+ # Show invalid properties with the reasons. Usually used together with valid?
623
+ # @return Array for valid properties with the reasons
624
+ def list_invalid_properties
625
+ invalid_properties = Array.new
626
+ invalid_properties
627
+ end
628
+
629
+ # Check to see if the all the properties in the model are valid
630
+ # @return true if the model is valid
631
+ def valid?
632
+ true
633
+ end
634
+
635
+ # Checks equality by comparing each attribute.
636
+ # @param [Object] Object to be compared
637
+ def ==(o)
638
+ return true if self.equal?(o)
639
+ self.class == o.class &&
640
+ arbitrary_html == o.arbitrary_html &&
641
+ comment == o.comment &&
642
+ credit_card_capable == o.credit_card_capable &&
643
+ echeck_capable == o.echeck_capable &&
644
+ echeck_supported == o.echeck_supported &&
645
+ enabled == o.enabled &&
646
+ gateway_cert_pem == o.gateway_cert_pem &&
647
+ gateway_cert_pem_label == o.gateway_cert_pem_label &&
648
+ gateway_email == o.gateway_email &&
649
+ gateway_email_label == o.gateway_email_label &&
650
+ gateway_environment == o.gateway_environment &&
651
+ gateway_environment_label == o.gateway_environment_label &&
652
+ gateway_environments == o.gateway_environments &&
653
+ gateway_header_back_color == o.gateway_header_back_color &&
654
+ gateway_header_border_color == o.gateway_header_border_color &&
655
+ gateway_header_image_url == o.gateway_header_image_url &&
656
+ gateway_key == o.gateway_key &&
657
+ gateway_key_label == o.gateway_key_label &&
658
+ gateway_key_pem == o.gateway_key_pem &&
659
+ gateway_key_pem_label == o.gateway_key_pem_label &&
660
+ gateway_landing_page == o.gateway_landing_page &&
661
+ gateway_merchant_id == o.gateway_merchant_id &&
662
+ gateway_merchant_id_label == o.gateway_merchant_id_label &&
663
+ gateway_mode == o.gateway_mode &&
664
+ gateway_mode_label == o.gateway_mode_label &&
665
+ gateway_modes == o.gateway_modes &&
666
+ gateway_page_style == o.gateway_page_style &&
667
+ gateway_page_style_label == o.gateway_page_style_label &&
668
+ gateway_page_styles == o.gateway_page_styles &&
669
+ gateway_partner == o.gateway_partner &&
670
+ gateway_partner_label == o.gateway_partner_label &&
671
+ gateway_password == o.gateway_password &&
672
+ gateway_password_label == o.gateway_password_label &&
673
+ gateway_payflow_color == o.gateway_payflow_color &&
674
+ gateway_private_key_password == o.gateway_private_key_password &&
675
+ gateway_private_key_password_label == o.gateway_private_key_password_label &&
676
+ gateway_solution_type == o.gateway_solution_type &&
677
+ gateway_solution_type_label == o.gateway_solution_type_label &&
678
+ gateway_solution_types == o.gateway_solution_types &&
679
+ gateway_url == o.gateway_url &&
680
+ gateway_url_label == o.gateway_url_label &&
681
+ gateway_username == o.gateway_username &&
682
+ gateway_username_label == o.gateway_username_label &&
683
+ merchant_account_profile_amex == o.merchant_account_profile_amex &&
684
+ merchant_account_profile_diners_club == o.merchant_account_profile_diners_club &&
685
+ merchant_account_profile_discover == o.merchant_account_profile_discover &&
686
+ merchant_account_profile_jcb == o.merchant_account_profile_jcb &&
687
+ merchant_account_profile_mastercard == o.merchant_account_profile_mastercard &&
688
+ merchant_account_profile_visa == o.merchant_account_profile_visa &&
689
+ merchant_id == o.merchant_id &&
690
+ multi_currency_details == o.multi_currency_details &&
691
+ name == o.name &&
692
+ refund_supported == o.refund_supported &&
693
+ require_echeck_tax_id_or_drivers_license == o.require_echeck_tax_id_or_drivers_license &&
694
+ support_vbv_3ds == o.support_vbv_3ds &&
695
+ supports_amex == o.supports_amex &&
696
+ supports_diners_club == o.supports_diners_club &&
697
+ supports_discover == o.supports_discover &&
698
+ supports_echeck == o.supports_echeck &&
699
+ supports_electronic_gift_card == o.supports_electronic_gift_card &&
700
+ supports_jcb == o.supports_jcb &&
701
+ supports_mastercard == o.supports_mastercard &&
702
+ supports_visa == o.supports_visa &&
703
+ third_party == o.third_party
704
+ end
705
+
706
+ # @see the `==` method
707
+ # @param [Object] Object to be compared
708
+ def eql?(o)
709
+ self == o
710
+ end
711
+
712
+ # Calculates hash code according to all attributes.
713
+ # @return [Fixnum] Hash code
714
+ def hash
715
+ [arbitrary_html, comment, credit_card_capable, echeck_capable, echeck_supported, enabled, gateway_cert_pem, gateway_cert_pem_label, gateway_email, gateway_email_label, gateway_environment, gateway_environment_label, gateway_environments, gateway_header_back_color, gateway_header_border_color, gateway_header_image_url, gateway_key, gateway_key_label, gateway_key_pem, gateway_key_pem_label, gateway_landing_page, gateway_merchant_id, gateway_merchant_id_label, gateway_mode, gateway_mode_label, gateway_modes, gateway_page_style, gateway_page_style_label, gateway_page_styles, gateway_partner, gateway_partner_label, gateway_password, gateway_password_label, gateway_payflow_color, gateway_private_key_password, gateway_private_key_password_label, gateway_solution_type, gateway_solution_type_label, gateway_solution_types, gateway_url, gateway_url_label, gateway_username, gateway_username_label, merchant_account_profile_amex, merchant_account_profile_diners_club, merchant_account_profile_discover, merchant_account_profile_jcb, merchant_account_profile_mastercard, merchant_account_profile_visa, merchant_id, multi_currency_details, name, refund_supported, require_echeck_tax_id_or_drivers_license, support_vbv_3ds, supports_amex, supports_diners_club, supports_discover, supports_echeck, supports_electronic_gift_card, supports_jcb, supports_mastercard, supports_visa, third_party].hash
716
+ end
717
+
718
+ # Builds the object from hash
719
+ # @param [Hash] attributes Model attributes in the form of hash
720
+ # @return [Object] Returns the model itself
721
+ def build_from_hash(attributes)
722
+ return nil unless attributes.is_a?(Hash)
723
+ self.class.swagger_types.each_pair do |key, type|
724
+ if type =~ /\AArray<(.*)>/i
725
+ # check to ensure the input is an array given that the attribute
726
+ # is documented as an array but the input is not
727
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
728
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
729
+ end
730
+ elsif !attributes[self.class.attribute_map[key]].nil?
731
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
732
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
733
+ end
734
+
735
+ self
736
+ end
737
+
738
+ # Deserializes the data based on type
739
+ # @param string type Data type
740
+ # @param string value Value to be deserialized
741
+ # @return [Object] Deserialized data
742
+ def _deserialize(type, value)
743
+ case type.to_sym
744
+ when :DateTime
745
+ DateTime.parse(value)
746
+ when :Date
747
+ Date.parse(value)
748
+ when :String
749
+ value.to_s
750
+ when :Integer
751
+ value.to_i
752
+ when :Float
753
+ value.to_f
754
+ when :BOOLEAN
755
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
756
+ true
757
+ else
758
+ false
759
+ end
760
+ when :Object
761
+ # generic object (usually a Hash), return directly
762
+ value
763
+ when /\AArray<(?<inner_type>.+)>\z/
764
+ inner_type = Regexp.last_match[:inner_type]
765
+ value.map { |v| _deserialize(inner_type, v) }
766
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
767
+ k_type = Regexp.last_match[:k_type]
768
+ v_type = Regexp.last_match[:v_type]
769
+ {}.tap do |hash|
770
+ value.each do |k, v|
771
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
772
+ end
773
+ end
774
+ else # model
775
+ temp_model = UltracartClient.const_get(type).new
776
+ temp_model.build_from_hash(value)
777
+ end
778
+ end
779
+
780
+ # Returns the string representation of the object
781
+ # @return [String] String presentation of the object
782
+ def to_s
783
+ to_hash.to_s
784
+ end
785
+
786
+ # to_body is an alias to to_hash (backward compatibility)
787
+ # @return [Hash] Returns the object in the form of hash
788
+ def to_body
789
+ to_hash
790
+ end
791
+
792
+ # Returns the object in the form of hash
793
+ # @return [Hash] Returns the object in the form of hash
794
+ def to_hash
795
+ hash = {}
796
+ self.class.attribute_map.each_pair do |attr, param|
797
+ value = self.send(attr)
798
+ next if value.nil?
799
+ hash[param] = _to_hash(value)
800
+ end
801
+ hash
802
+ end
803
+
804
+ # Outputs non-array value in the form of hash
805
+ # For object, use to_hash. Otherwise, just return the value
806
+ # @param [Object] value Any valid value
807
+ # @return [Hash] Returns the value in the form of hash
808
+ def _to_hash(value)
809
+ if value.is_a?(Array)
810
+ value.compact.map { |v| _to_hash(v) }
811
+ elsif value.is_a?(Hash)
812
+ {}.tap do |hash|
813
+ value.each { |k, v| hash[k] = _to_hash(v) }
814
+ end
815
+ elsif value.respond_to? :to_hash
816
+ value.to_hash
817
+ else
818
+ value
819
+ end
820
+ end
821
+
822
+ end
823
+ end