ultracart_api 3.4.8 → 3.4.12

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -4
  3. data/docs/EmailWebhookEditorValuesResponse.md +14 -0
  4. data/docs/PaymentsConfiguration.md +4 -4
  5. data/docs/PaymentsConfigurationAffirm.md +7 -7
  6. data/docs/PaymentsConfigurationAmazon.md +7 -7
  7. data/docs/PaymentsConfigurationCOD.md +5 -5
  8. data/docs/PaymentsConfigurationCash.md +1 -1
  9. data/docs/PaymentsConfigurationCheck.md +12 -13
  10. data/docs/PaymentsConfigurationCreditCard.md +11 -8
  11. data/docs/PaymentsConfigurationCreditCardType.md +17 -0
  12. data/docs/PaymentsConfigurationEcheck.md +3 -3
  13. data/docs/PaymentsConfigurationLoanHero.md +4 -4
  14. data/docs/PaymentsConfigurationMoneyOrder.md +3 -1
  15. data/docs/PaymentsConfigurationPayPal.md +28 -28
  16. data/docs/PaymentsConfigurationPurchaseOrder.md +3 -3
  17. data/docs/PaymentsConfigurationQuoteRequest.md +2 -2
  18. data/docs/PaymentsConfigurationRestrictions.md +14 -12
  19. data/docs/PaymentsConfigurationRestrictionsTheme.md +10 -0
  20. data/docs/PaymentsConfigurationSezzle.md +8 -7
  21. data/docs/PaymentsConfigurationTestMethod.md +18 -0
  22. data/docs/PaymentsConfigurationWePay.md +26 -26
  23. data/docs/PaymentsConfigurationWireTransfer.md +10 -10
  24. data/docs/StorefrontApi.md +52 -0
  25. data/lib/ultracart_api.rb +4 -0
  26. data/lib/ultracart_api/api/storefront_api.rb +59 -0
  27. data/lib/ultracart_api/models/email_webhook_editor_values_response.rb +243 -0
  28. data/lib/ultracart_api/models/payments_configuration.rb +41 -40
  29. data/lib/ultracart_api/models/payments_configuration_affirm.rb +81 -40
  30. data/lib/ultracart_api/models/payments_configuration_amazon.rb +51 -44
  31. data/lib/ultracart_api/models/payments_configuration_cash.rb +4 -3
  32. data/lib/ultracart_api/models/payments_configuration_check.rb +73 -68
  33. data/lib/ultracart_api/models/payments_configuration_cod.rb +39 -34
  34. data/lib/ultracart_api/models/payments_configuration_credit_card.rb +78 -34
  35. data/lib/ultracart_api/models/payments_configuration_credit_card_type.rb +309 -0
  36. data/lib/ultracart_api/models/payments_configuration_echeck.rb +22 -19
  37. data/lib/ultracart_api/models/payments_configuration_loan_hero.rb +23 -19
  38. data/lib/ultracart_api/models/payments_configuration_money_order.rb +25 -4
  39. data/lib/ultracart_api/models/payments_configuration_pay_pal.rb +270 -172
  40. data/lib/ultracart_api/models/payments_configuration_purchase_order.rb +19 -16
  41. data/lib/ultracart_api/models/payments_configuration_quote_request.rb +12 -10
  42. data/lib/ultracart_api/models/payments_configuration_restrictions.rb +75 -41
  43. data/lib/ultracart_api/models/payments_configuration_restrictions_theme.rb +202 -0
  44. data/lib/ultracart_api/models/payments_configuration_sezzle.rb +99 -46
  45. data/lib/ultracart_api/models/payments_configuration_test_method.rb +319 -0
  46. data/lib/ultracart_api/models/payments_configuration_we_pay.rb +186 -160
  47. data/lib/ultracart_api/models/payments_configuration_wire_transfer.rb +71 -61
  48. data/lib/ultracart_api/version.rb +1 -1
  49. metadata +10 -2
@@ -0,0 +1,309 @@
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 PaymentsConfigurationCreditCardType
17
+ # Optional field used for Quickbooks integrations to match this credit card with the corresponding payment type in Quickbooks
18
+ attr_accessor :accounting_code
19
+
20
+ # Internally used icon information for this card type
21
+ attr_accessor :card_type_icon
22
+
23
+ # Credit card type
24
+ attr_accessor :credit_card
25
+
26
+ # The name of the account to deposit funds
27
+ attr_accessor :deposit_to_account
28
+
29
+ # If true, this card type will be accepted during checkout
30
+ attr_accessor :enabled
31
+
32
+ # Optional additional fee applied to order for this card
33
+ attr_accessor :processing_fee
34
+
35
+ # Optional additional fee applied to order for this card
36
+ attr_accessor :processing_percentage
37
+
38
+ # Optional field. If integrated with Quickbooks, this code will be used when informing Quickbooks about any surcharges applied to orders
39
+ attr_accessor :surcharge_accounting_code
40
+
41
+ # An optional additional fee to charge the customer for using this card.
42
+ attr_accessor :transaction_fee
43
+
44
+ # An optional transaction percentage to charge the customer for using this card
45
+ attr_accessor :transaction_percentage
46
+
47
+ class EnumAttributeValidator
48
+ attr_reader :datatype
49
+ attr_reader :allowable_values
50
+
51
+ def initialize(datatype, allowable_values)
52
+ @allowable_values = allowable_values.map do |value|
53
+ case datatype.to_s
54
+ when /Integer/i
55
+ value.to_i
56
+ when /Float/i
57
+ value.to_f
58
+ else
59
+ value
60
+ end
61
+ end
62
+ end
63
+
64
+ def valid?(value)
65
+ !value || allowable_values.include?(value)
66
+ end
67
+ end
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'accounting_code' => :'accounting_code',
73
+ :'card_type_icon' => :'card_type_icon',
74
+ :'credit_card' => :'credit_card',
75
+ :'deposit_to_account' => :'deposit_to_account',
76
+ :'enabled' => :'enabled',
77
+ :'processing_fee' => :'processing_fee',
78
+ :'processing_percentage' => :'processing_percentage',
79
+ :'surcharge_accounting_code' => :'surcharge_accounting_code',
80
+ :'transaction_fee' => :'transaction_fee',
81
+ :'transaction_percentage' => :'transaction_percentage'
82
+ }
83
+ end
84
+
85
+ # Attribute type mapping.
86
+ def self.swagger_types
87
+ {
88
+ :'accounting_code' => :'String',
89
+ :'card_type_icon' => :'String',
90
+ :'credit_card' => :'String',
91
+ :'deposit_to_account' => :'String',
92
+ :'enabled' => :'BOOLEAN',
93
+ :'processing_fee' => :'Float',
94
+ :'processing_percentage' => :'Float',
95
+ :'surcharge_accounting_code' => :'String',
96
+ :'transaction_fee' => :'Float',
97
+ :'transaction_percentage' => :'Float'
98
+ }
99
+ end
100
+
101
+ # Initializes the object
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ def initialize(attributes = {})
104
+ return unless attributes.is_a?(Hash)
105
+
106
+ # convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
108
+
109
+ if attributes.has_key?(:'accounting_code')
110
+ self.accounting_code = attributes[:'accounting_code']
111
+ end
112
+
113
+ if attributes.has_key?(:'card_type_icon')
114
+ self.card_type_icon = attributes[:'card_type_icon']
115
+ end
116
+
117
+ if attributes.has_key?(:'credit_card')
118
+ self.credit_card = attributes[:'credit_card']
119
+ end
120
+
121
+ if attributes.has_key?(:'deposit_to_account')
122
+ self.deposit_to_account = attributes[:'deposit_to_account']
123
+ end
124
+
125
+ if attributes.has_key?(:'enabled')
126
+ self.enabled = attributes[:'enabled']
127
+ end
128
+
129
+ if attributes.has_key?(:'processing_fee')
130
+ self.processing_fee = attributes[:'processing_fee']
131
+ end
132
+
133
+ if attributes.has_key?(:'processing_percentage')
134
+ self.processing_percentage = attributes[:'processing_percentage']
135
+ end
136
+
137
+ if attributes.has_key?(:'surcharge_accounting_code')
138
+ self.surcharge_accounting_code = attributes[:'surcharge_accounting_code']
139
+ end
140
+
141
+ if attributes.has_key?(:'transaction_fee')
142
+ self.transaction_fee = attributes[:'transaction_fee']
143
+ end
144
+
145
+ if attributes.has_key?(:'transaction_percentage')
146
+ self.transaction_percentage = attributes[:'transaction_percentage']
147
+ end
148
+ end
149
+
150
+ # Show invalid properties with the reasons. Usually used together with valid?
151
+ # @return Array for valid properties with the reasons
152
+ def list_invalid_properties
153
+ invalid_properties = Array.new
154
+ invalid_properties
155
+ end
156
+
157
+ # Check to see if the all the properties in the model are valid
158
+ # @return true if the model is valid
159
+ def valid?
160
+ credit_card_validator = EnumAttributeValidator.new('String', ['AMEX', 'Visa', 'Diners Club', 'Discover', 'JCB', 'MasterCard'])
161
+ return false unless credit_card_validator.valid?(@credit_card)
162
+ true
163
+ end
164
+
165
+ # Custom attribute writer method checking allowed values (enum).
166
+ # @param [Object] credit_card Object to be assigned
167
+ def credit_card=(credit_card)
168
+ validator = EnumAttributeValidator.new('String', ['AMEX', 'Visa', 'Diners Club', 'Discover', 'JCB', 'MasterCard'])
169
+ unless validator.valid?(credit_card)
170
+ fail ArgumentError, 'invalid value for "credit_card", must be one of #{validator.allowable_values}.'
171
+ end
172
+ @credit_card = credit_card
173
+ end
174
+
175
+ # Checks equality by comparing each attribute.
176
+ # @param [Object] Object to be compared
177
+ def ==(o)
178
+ return true if self.equal?(o)
179
+ self.class == o.class &&
180
+ accounting_code == o.accounting_code &&
181
+ card_type_icon == o.card_type_icon &&
182
+ credit_card == o.credit_card &&
183
+ deposit_to_account == o.deposit_to_account &&
184
+ enabled == o.enabled &&
185
+ processing_fee == o.processing_fee &&
186
+ processing_percentage == o.processing_percentage &&
187
+ surcharge_accounting_code == o.surcharge_accounting_code &&
188
+ transaction_fee == o.transaction_fee &&
189
+ transaction_percentage == o.transaction_percentage
190
+ end
191
+
192
+ # @see the `==` method
193
+ # @param [Object] Object to be compared
194
+ def eql?(o)
195
+ self == o
196
+ end
197
+
198
+ # Calculates hash code according to all attributes.
199
+ # @return [Fixnum] Hash code
200
+ def hash
201
+ [accounting_code, card_type_icon, credit_card, deposit_to_account, enabled, processing_fee, processing_percentage, surcharge_accounting_code, transaction_fee, transaction_percentage].hash
202
+ end
203
+
204
+ # Builds the object from hash
205
+ # @param [Hash] attributes Model attributes in the form of hash
206
+ # @return [Object] Returns the model itself
207
+ def build_from_hash(attributes)
208
+ return nil unless attributes.is_a?(Hash)
209
+ self.class.swagger_types.each_pair do |key, type|
210
+ if type =~ /\AArray<(.*)>/i
211
+ # check to ensure the input is an array given that the attribute
212
+ # is documented as an array but the input is not
213
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
214
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
215
+ end
216
+ elsif !attributes[self.class.attribute_map[key]].nil?
217
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
218
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
219
+ end
220
+
221
+ self
222
+ end
223
+
224
+ # Deserializes the data based on type
225
+ # @param string type Data type
226
+ # @param string value Value to be deserialized
227
+ # @return [Object] Deserialized data
228
+ def _deserialize(type, value)
229
+ case type.to_sym
230
+ when :DateTime
231
+ DateTime.parse(value)
232
+ when :Date
233
+ Date.parse(value)
234
+ when :String
235
+ value.to_s
236
+ when :Integer
237
+ value.to_i
238
+ when :Float
239
+ value.to_f
240
+ when :BOOLEAN
241
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
242
+ true
243
+ else
244
+ false
245
+ end
246
+ when :Object
247
+ # generic object (usually a Hash), return directly
248
+ value
249
+ when /\AArray<(?<inner_type>.+)>\z/
250
+ inner_type = Regexp.last_match[:inner_type]
251
+ value.map { |v| _deserialize(inner_type, v) }
252
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
253
+ k_type = Regexp.last_match[:k_type]
254
+ v_type = Regexp.last_match[:v_type]
255
+ {}.tap do |hash|
256
+ value.each do |k, v|
257
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
258
+ end
259
+ end
260
+ else # model
261
+ temp_model = UltracartClient.const_get(type).new
262
+ temp_model.build_from_hash(value)
263
+ end
264
+ end
265
+
266
+ # Returns the string representation of the object
267
+ # @return [String] String presentation of the object
268
+ def to_s
269
+ to_hash.to_s
270
+ end
271
+
272
+ # to_body is an alias to to_hash (backward compatibility)
273
+ # @return [Hash] Returns the object in the form of hash
274
+ def to_body
275
+ to_hash
276
+ end
277
+
278
+ # Returns the object in the form of hash
279
+ # @return [Hash] Returns the object in the form of hash
280
+ def to_hash
281
+ hash = {}
282
+ self.class.attribute_map.each_pair do |attr, param|
283
+ value = self.send(attr)
284
+ next if value.nil?
285
+ hash[param] = _to_hash(value)
286
+ end
287
+ hash
288
+ end
289
+
290
+ # Outputs non-array value in the form of hash
291
+ # For object, use to_hash. Otherwise, just return the value
292
+ # @param [Object] value Any valid value
293
+ # @return [Hash] Returns the value in the form of hash
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map { |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
305
+ end
306
+ end
307
+
308
+ end
309
+ end
@@ -14,20 +14,23 @@ require 'date'
14
14
 
15
15
  module UltracartClient
16
16
  class PaymentsConfigurationEcheck
17
- attr_accessor :accept_e_check
17
+ # Master flag indicating this merchant accepts eChecks
18
+ attr_accessor :accept_echeck
18
19
 
19
- attr_accessor :e_check_accounting_code
20
+ # Optional Quickbooks accounting code
21
+ attr_accessor :accounting_code
20
22
 
21
- attr_accessor :e_check_deposit_to_account
23
+ # Optional Quickbooks deposit to account
24
+ attr_accessor :deposit_to_account
22
25
 
23
26
  attr_accessor :restrictions
24
27
 
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
26
29
  def self.attribute_map
27
30
  {
28
- :'accept_e_check' => :'acceptECheck',
29
- :'e_check_accounting_code' => :'eCheckAccountingCode',
30
- :'e_check_deposit_to_account' => :'eCheckDepositToAccount',
31
+ :'accept_echeck' => :'accept_echeck',
32
+ :'accounting_code' => :'accounting_code',
33
+ :'deposit_to_account' => :'deposit_to_account',
31
34
  :'restrictions' => :'restrictions'
32
35
  }
33
36
  end
@@ -35,9 +38,9 @@ module UltracartClient
35
38
  # Attribute type mapping.
36
39
  def self.swagger_types
37
40
  {
38
- :'accept_e_check' => :'BOOLEAN',
39
- :'e_check_accounting_code' => :'String',
40
- :'e_check_deposit_to_account' => :'String',
41
+ :'accept_echeck' => :'BOOLEAN',
42
+ :'accounting_code' => :'String',
43
+ :'deposit_to_account' => :'String',
41
44
  :'restrictions' => :'PaymentsConfigurationRestrictions'
42
45
  }
43
46
  end
@@ -50,16 +53,16 @@ module UltracartClient
50
53
  # convert string to symbol for hash key
51
54
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
55
 
53
- if attributes.has_key?(:'acceptECheck')
54
- self.accept_e_check = attributes[:'acceptECheck']
56
+ if attributes.has_key?(:'accept_echeck')
57
+ self.accept_echeck = attributes[:'accept_echeck']
55
58
  end
56
59
 
57
- if attributes.has_key?(:'eCheckAccountingCode')
58
- self.e_check_accounting_code = attributes[:'eCheckAccountingCode']
60
+ if attributes.has_key?(:'accounting_code')
61
+ self.accounting_code = attributes[:'accounting_code']
59
62
  end
60
63
 
61
- if attributes.has_key?(:'eCheckDepositToAccount')
62
- self.e_check_deposit_to_account = attributes[:'eCheckDepositToAccount']
64
+ if attributes.has_key?(:'deposit_to_account')
65
+ self.deposit_to_account = attributes[:'deposit_to_account']
63
66
  end
64
67
 
65
68
  if attributes.has_key?(:'restrictions')
@@ -85,9 +88,9 @@ module UltracartClient
85
88
  def ==(o)
86
89
  return true if self.equal?(o)
87
90
  self.class == o.class &&
88
- accept_e_check == o.accept_e_check &&
89
- e_check_accounting_code == o.e_check_accounting_code &&
90
- e_check_deposit_to_account == o.e_check_deposit_to_account &&
91
+ accept_echeck == o.accept_echeck &&
92
+ accounting_code == o.accounting_code &&
93
+ deposit_to_account == o.deposit_to_account &&
91
94
  restrictions == o.restrictions
92
95
  end
93
96
 
@@ -100,7 +103,7 @@ module UltracartClient
100
103
  # Calculates hash code according to all attributes.
101
104
  # @return [Fixnum] Hash code
102
105
  def hash
103
- [accept_e_check, e_check_accounting_code, e_check_deposit_to_account, restrictions].hash
106
+ [accept_echeck, accounting_code, deposit_to_account, restrictions].hash
104
107
  end
105
108
 
106
109
  # Builds the object from hash
@@ -14,24 +14,28 @@ require 'date'
14
14
 
15
15
  module UltracartClient
16
16
  class PaymentsConfigurationLoanHero
17
+ # Master flag indicating this merchant accepts Loan Hero
17
18
  attr_accessor :accept_loan_hero
18
19
 
19
- attr_accessor :loan_hero_accounting_code
20
+ # Optional Quickbooks accounting code
21
+ attr_accessor :accounting_code
20
22
 
21
- attr_accessor :loan_hero_deposit_to_account
23
+ # Optional Quickbooks deposit to account
24
+ attr_accessor :deposit_to_account
22
25
 
23
26
  attr_accessor :restrictions
24
27
 
28
+ # Internal field to aid UI
25
29
  attr_accessor :show_loan_hero
26
30
 
27
31
  # Attribute mapping from ruby-style variable name to JSON key.
28
32
  def self.attribute_map
29
33
  {
30
- :'accept_loan_hero' => :'acceptLoanHero',
31
- :'loan_hero_accounting_code' => :'loanHeroAccountingCode',
32
- :'loan_hero_deposit_to_account' => :'loanHeroDepositToAccount',
34
+ :'accept_loan_hero' => :'accept_loan_hero',
35
+ :'accounting_code' => :'accounting_code',
36
+ :'deposit_to_account' => :'deposit_to_account',
33
37
  :'restrictions' => :'restrictions',
34
- :'show_loan_hero' => :'showLoanHero'
38
+ :'show_loan_hero' => :'show_loan_hero'
35
39
  }
36
40
  end
37
41
 
@@ -39,8 +43,8 @@ module UltracartClient
39
43
  def self.swagger_types
40
44
  {
41
45
  :'accept_loan_hero' => :'BOOLEAN',
42
- :'loan_hero_accounting_code' => :'String',
43
- :'loan_hero_deposit_to_account' => :'String',
46
+ :'accounting_code' => :'String',
47
+ :'deposit_to_account' => :'String',
44
48
  :'restrictions' => :'PaymentsConfigurationRestrictions',
45
49
  :'show_loan_hero' => :'BOOLEAN'
46
50
  }
@@ -54,24 +58,24 @@ module UltracartClient
54
58
  # convert string to symbol for hash key
55
59
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
56
60
 
57
- if attributes.has_key?(:'acceptLoanHero')
58
- self.accept_loan_hero = attributes[:'acceptLoanHero']
61
+ if attributes.has_key?(:'accept_loan_hero')
62
+ self.accept_loan_hero = attributes[:'accept_loan_hero']
59
63
  end
60
64
 
61
- if attributes.has_key?(:'loanHeroAccountingCode')
62
- self.loan_hero_accounting_code = attributes[:'loanHeroAccountingCode']
65
+ if attributes.has_key?(:'accounting_code')
66
+ self.accounting_code = attributes[:'accounting_code']
63
67
  end
64
68
 
65
- if attributes.has_key?(:'loanHeroDepositToAccount')
66
- self.loan_hero_deposit_to_account = attributes[:'loanHeroDepositToAccount']
69
+ if attributes.has_key?(:'deposit_to_account')
70
+ self.deposit_to_account = attributes[:'deposit_to_account']
67
71
  end
68
72
 
69
73
  if attributes.has_key?(:'restrictions')
70
74
  self.restrictions = attributes[:'restrictions']
71
75
  end
72
76
 
73
- if attributes.has_key?(:'showLoanHero')
74
- self.show_loan_hero = attributes[:'showLoanHero']
77
+ if attributes.has_key?(:'show_loan_hero')
78
+ self.show_loan_hero = attributes[:'show_loan_hero']
75
79
  end
76
80
  end
77
81
 
@@ -94,8 +98,8 @@ module UltracartClient
94
98
  return true if self.equal?(o)
95
99
  self.class == o.class &&
96
100
  accept_loan_hero == o.accept_loan_hero &&
97
- loan_hero_accounting_code == o.loan_hero_accounting_code &&
98
- loan_hero_deposit_to_account == o.loan_hero_deposit_to_account &&
101
+ accounting_code == o.accounting_code &&
102
+ deposit_to_account == o.deposit_to_account &&
99
103
  restrictions == o.restrictions &&
100
104
  show_loan_hero == o.show_loan_hero
101
105
  end
@@ -109,7 +113,7 @@ module UltracartClient
109
113
  # Calculates hash code according to all attributes.
110
114
  # @return [Fixnum] Hash code
111
115
  def hash
112
- [accept_loan_hero, loan_hero_accounting_code, loan_hero_deposit_to_account, restrictions, show_loan_hero].hash
116
+ [accept_loan_hero, accounting_code, deposit_to_account, restrictions, show_loan_hero].hash
113
117
  end
114
118
 
115
119
  # Builds the object from hash