tremendous_ruby 5.21.0 → 5.22.0

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tremendous/models/balance_transaction.rb +30 -3
  3. data/lib/tremendous/models/balance_transaction_order_payment.rb +32 -5
  4. data/lib/tremendous/models/campaign.rb +46 -1
  5. data/lib/tremendous/models/campaign_base.rb +46 -1
  6. data/lib/tremendous/models/connected_organization_organization.rb +11 -1
  7. data/lib/tremendous/models/create_campaign_request.rb +46 -1
  8. data/lib/tremendous/models/create_order200_response_order.rb +1 -1
  9. data/lib/tremendous/models/create_organization.rb +11 -1
  10. data/lib/tremendous/models/create_organization200_response_organization.rb +11 -1
  11. data/lib/tremendous/models/create_organization_for_response.rb +11 -1
  12. data/lib/tremendous/models/create_organization_properties.rb +11 -1
  13. data/lib/tremendous/models/create_organization_request.rb +14 -4
  14. data/lib/tremendous/models/create_topup_request.rb +1 -1
  15. data/lib/tremendous/models/fraud_config_redeemed_rewards_amount.rb +1 -1
  16. data/lib/tremendous/models/fraud_review.rb +1 -1
  17. data/lib/tremendous/models/fraud_review_related_rewards.rb +16 -5
  18. data/lib/tremendous/models/fraud_rules_list_item.rb +1 -1
  19. data/lib/tremendous/models/get_fraud_review200_response_fraud_review_related_rewards.rb +15 -5
  20. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner.rb +30 -3
  21. data/lib/tremendous/models/list_balance_transactions200_response_transactions_inner_order_payment.rb +32 -5
  22. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner.rb +46 -1
  23. data/lib/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_organization.rb +11 -1
  24. data/lib/tremendous/models/list_fraud_rules200_response_fraud_rules_inner.rb +1 -1
  25. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.rb +44 -4
  26. data/lib/tremendous/models/list_orders200_response_orders_inner.rb +1 -1
  27. data/lib/tremendous/models/list_orders200_response_orders_inner_payment.rb +33 -6
  28. data/lib/tremendous/models/list_orders200_response_orders_inner_payment_refund.rb +33 -6
  29. data/lib/tremendous/models/list_organizations200_response_organizations_inner.rb +11 -1
  30. data/lib/tremendous/models/list_rewards200_response_rewards_inner_recipient.rb +1 -0
  31. data/lib/tremendous/models/list_topups200_response_topups_inner.rb +48 -7
  32. data/lib/tremendous/models/order.rb +1 -1
  33. data/lib/tremendous/models/order_base.rb +1 -1
  34. data/lib/tremendous/models/order_base_payment.rb +33 -6
  35. data/lib/tremendous/models/order_with_link.rb +1 -1
  36. data/lib/tremendous/models/order_without_link.rb +1 -1
  37. data/lib/tremendous/models/organization.rb +11 -1
  38. data/lib/tremendous/models/payment_details.rb +32 -5
  39. data/lib/tremendous/models/payment_details_refund.rb +33 -6
  40. data/lib/tremendous/models/recipient.rb +1 -0
  41. data/lib/tremendous/models/refund_details.rb +32 -5
  42. data/lib/tremendous/models/review_redeemed_rewards_amount.rb +1 -1
  43. data/lib/tremendous/models/single_reward_order_with_link_order.rb +1 -1
  44. data/lib/tremendous/models/single_reward_order_without_link_order.rb +1 -1
  45. data/lib/tremendous/models/topup.rb +48 -7
  46. data/lib/tremendous/models/topup_create_request.rb +1 -1
  47. data/lib/tremendous/models/update_campaign.rb +46 -1
  48. data/lib/tremendous/models/update_campaign_request.rb +46 -1
  49. data/lib/tremendous/version.rb +1 -1
  50. metadata +1 -1
@@ -28,6 +28,9 @@ module Tremendous
28
28
  # Phone number of the organization. For non-US phone numbers, specify the country code (prefixed with +).
29
29
  attr_accessor :phone
30
30
 
31
+ # Currency code for the new organization. Defaults to the current organization's currency if not provided.
32
+ attr_accessor :currency_code
33
+
31
34
  # Timestamp of when the organization has been created.
32
35
  attr_accessor :created_at
33
36
 
@@ -42,6 +45,7 @@ module Tremendous
42
45
  :'website' => :'website',
43
46
  :'copy_settings' => :'copy_settings',
44
47
  :'phone' => :'phone',
48
+ :'currency_code' => :'currency_code',
45
49
  :'created_at' => :'created_at',
46
50
  :'api_key' => :'api_key'
47
51
  }
@@ -65,6 +69,7 @@ module Tremendous
65
69
  :'website' => :'String',
66
70
  :'copy_settings' => :'CreateOrganizationRequestCopySettings',
67
71
  :'phone' => :'String',
72
+ :'currency_code' => :'String',
68
73
  :'created_at' => :'Date',
69
74
  :'api_key' => :'String'
70
75
  }
@@ -117,6 +122,10 @@ module Tremendous
117
122
  self.phone = attributes[:'phone']
118
123
  end
119
124
 
125
+ if attributes.key?(:'currency_code')
126
+ self.currency_code = attributes[:'currency_code']
127
+ end
128
+
120
129
  if attributes.key?(:'created_at')
121
130
  self.created_at = attributes[:'created_at']
122
131
  end
@@ -202,6 +211,7 @@ module Tremendous
202
211
  website == o.website &&
203
212
  copy_settings == o.copy_settings &&
204
213
  phone == o.phone &&
214
+ currency_code == o.currency_code &&
205
215
  created_at == o.created_at &&
206
216
  api_key == o.api_key
207
217
  end
@@ -215,7 +225,7 @@ module Tremendous
215
225
  # Calculates hash code according to all attributes.
216
226
  # @return [Integer] Hash code
217
227
  def hash
218
- [id, name, website, copy_settings, phone, created_at, api_key].hash
228
+ [id, name, website, copy_settings, phone, currency_code, created_at, api_key].hash
219
229
  end
220
230
 
221
231
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Tremendous
31
31
  # Phone number of the organization. For non-US phone numbers, specify the country code (prefixed with +).
32
32
  attr_accessor :phone
33
33
 
34
+ # Currency code for the new organization. Defaults to the current organization's currency if not provided.
35
+ attr_accessor :currency_code
36
+
34
37
  # Timestamp of when the organization has been created.
35
38
  attr_accessor :created_at
36
39
 
@@ -43,6 +46,7 @@ module Tremendous
43
46
  :'with_api_key' => :'with_api_key',
44
47
  :'copy_settings' => :'copy_settings',
45
48
  :'phone' => :'phone',
49
+ :'currency_code' => :'currency_code',
46
50
  :'created_at' => :'created_at'
47
51
  }
48
52
  end
@@ -66,6 +70,7 @@ module Tremendous
66
70
  :'with_api_key' => :'Boolean',
67
71
  :'copy_settings' => :'CreateOrganizationRequestCopySettings',
68
72
  :'phone' => :'String',
73
+ :'currency_code' => :'String',
69
74
  :'created_at' => :'Date'
70
75
  }
71
76
  end
@@ -121,6 +126,10 @@ module Tremendous
121
126
  self.phone = attributes[:'phone']
122
127
  end
123
128
 
129
+ if attributes.key?(:'currency_code')
130
+ self.currency_code = attributes[:'currency_code']
131
+ end
132
+
124
133
  if attributes.key?(:'created_at')
125
134
  self.created_at = attributes[:'created_at']
126
135
  end
@@ -203,6 +212,7 @@ module Tremendous
203
212
  with_api_key == o.with_api_key &&
204
213
  copy_settings == o.copy_settings &&
205
214
  phone == o.phone &&
215
+ currency_code == o.currency_code &&
206
216
  created_at == o.created_at
207
217
  end
208
218
 
@@ -215,7 +225,7 @@ module Tremendous
215
225
  # Calculates hash code according to all attributes.
216
226
  # @return [Integer] Hash code
217
227
  def hash
218
- [id, name, website, with_api_key, copy_settings, phone, created_at].hash
228
+ [id, name, website, with_api_key, copy_settings, phone, currency_code, created_at].hash
219
229
  end
220
230
 
221
231
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Tremendous
31
31
  # Phone number of the organization. For non-US phone numbers, specify the country code (prefixed with +).
32
32
  attr_accessor :phone
33
33
 
34
+ # Currency code for the new organization. Defaults to the current organization's currency if not provided.
35
+ attr_accessor :currency_code
36
+
34
37
  # Timestamp of when the organization has been created.
35
38
  attr_accessor :created_at
36
39
 
@@ -43,6 +46,7 @@ module Tremendous
43
46
  :'with_api_key' => :'with_api_key',
44
47
  :'copy_settings' => :'copy_settings',
45
48
  :'phone' => :'phone',
49
+ :'currency_code' => :'currency_code',
46
50
  :'created_at' => :'created_at'
47
51
  }
48
52
  end
@@ -66,6 +70,7 @@ module Tremendous
66
70
  :'with_api_key' => :'Boolean',
67
71
  :'copy_settings' => :'CreateOrganizationRequestCopySettings',
68
72
  :'phone' => :'String',
73
+ :'currency_code' => :'String',
69
74
  :'created_at' => :'Date'
70
75
  }
71
76
  end
@@ -116,6 +121,10 @@ module Tremendous
116
121
  self.phone = attributes[:'phone']
117
122
  end
118
123
 
124
+ if attributes.key?(:'currency_code')
125
+ self.currency_code = attributes[:'currency_code']
126
+ end
127
+
119
128
  if attributes.key?(:'created_at')
120
129
  self.created_at = attributes[:'created_at']
121
130
  end
@@ -168,6 +177,7 @@ module Tremendous
168
177
  with_api_key == o.with_api_key &&
169
178
  copy_settings == o.copy_settings &&
170
179
  phone == o.phone &&
180
+ currency_code == o.currency_code &&
171
181
  created_at == o.created_at
172
182
  end
173
183
 
@@ -180,7 +190,7 @@ module Tremendous
180
190
  # Calculates hash code according to all attributes.
181
191
  # @return [Integer] Hash code
182
192
  def hash
183
- [id, name, website, with_api_key, copy_settings, phone, created_at].hash
193
+ [id, name, website, with_api_key, copy_settings, phone, currency_code, created_at].hash
184
194
  end
185
195
 
186
196
  # Builds the object from hash
@@ -29,6 +29,9 @@ module Tremendous
29
29
  # Phone number of the organization. For non-US phone numbers, specify the country code (prefixed with +).
30
30
  attr_accessor :phone
31
31
 
32
+ # Currency code for the new organization. Defaults to the current organization's currency if not provided.
33
+ attr_accessor :currency_code
34
+
32
35
  # Attribute mapping from ruby-style variable name to JSON key.
33
36
  def self.attribute_map
34
37
  {
@@ -36,7 +39,8 @@ module Tremendous
36
39
  :'website' => :'website',
37
40
  :'with_api_key' => :'with_api_key',
38
41
  :'copy_settings' => :'copy_settings',
39
- :'phone' => :'phone'
42
+ :'phone' => :'phone',
43
+ :'currency_code' => :'currency_code'
40
44
  }
41
45
  end
42
46
 
@@ -57,7 +61,8 @@ module Tremendous
57
61
  :'website' => :'String',
58
62
  :'with_api_key' => :'Boolean',
59
63
  :'copy_settings' => :'CreateOrganizationRequestCopySettings',
60
- :'phone' => :'String'
64
+ :'phone' => :'String',
65
+ :'currency_code' => :'String'
61
66
  }
62
67
  end
63
68
 
@@ -108,6 +113,10 @@ module Tremendous
108
113
  if attributes.key?(:'phone')
109
114
  self.phone = attributes[:'phone']
110
115
  end
116
+
117
+ if attributes.key?(:'currency_code')
118
+ self.currency_code = attributes[:'currency_code']
119
+ end
111
120
  end
112
121
 
113
122
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -179,7 +188,8 @@ module Tremendous
179
188
  website == o.website &&
180
189
  with_api_key == o.with_api_key &&
181
190
  copy_settings == o.copy_settings &&
182
- phone == o.phone
191
+ phone == o.phone &&
192
+ currency_code == o.currency_code
183
193
  end
184
194
 
185
195
  # @see the `==` method
@@ -191,7 +201,7 @@ module Tremendous
191
201
  # Calculates hash code according to all attributes.
192
202
  # @return [Integer] Hash code
193
203
  def hash
194
- [name, website, with_api_key, copy_settings, phone].hash
204
+ [name, website, with_api_key, copy_settings, phone, currency_code].hash
195
205
  end
196
206
 
197
207
  # Builds the object from hash
@@ -21,7 +21,7 @@ module Tremendous
21
21
  # Unique key that ensures this request is only processed once.
22
22
  attr_accessor :idempotency_key
23
23
 
24
- # Amount in USD intended to be added to your organizations balance.
24
+ # Amount to add to your organization's balance, denominated in `currency_code`.
25
25
  attr_accessor :amount
26
26
 
27
27
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Tremendous
17
17
  class FraudConfigRedeemedRewardsAmount
18
- # The total amount in USD of redeemed rewards to use as a threshold.
18
+ # The total amount of redeemed rewards to use as a threshold. The amount is denominated in the organization's currency.
19
19
  attr_accessor :amount
20
20
 
21
21
  # The period, in days, to consider for the count. Use `all_time` to consider any redeemed rewards.
@@ -113,7 +113,7 @@ module Tremendous
113
113
  :'reviewed_at' => :'Time',
114
114
  :'redemption_method_account_hash' => :'String',
115
115
  :'risk' => :'String',
116
- :'related_rewards' => :'GetFraudReview200ResponseFraudReviewRelatedRewards'
116
+ :'related_rewards' => :'FraudReviewRelatedRewards'
117
117
  }
118
118
  end
119
119
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Tremendous
17
+ # The related rewards associated with the fraud review.
17
18
  class FraudReviewRelatedRewards
18
19
  # The IDs of rewards that have similar attributes to the fraud reward. A maximum of 100 IDs is returned.
19
20
  attr_accessor :ids
@@ -24,16 +25,20 @@ module Tremendous
24
25
  # How many related rewards have been blocked.
25
26
  attr_accessor :blocked_count
26
27
 
27
- # Total amount claimed by the related rewards (in USD).
28
+ # Total amount claimed by the related rewards, denominated in `currency_code`.
28
29
  attr_accessor :aggregated_value
29
30
 
31
+ # Currency of the aggregated value. Always matches the organization's currency.
32
+ attr_accessor :currency_code
33
+
30
34
  # Attribute mapping from ruby-style variable name to JSON key.
31
35
  def self.attribute_map
32
36
  {
33
37
  :'ids' => :'ids',
34
38
  :'count' => :'count',
35
39
  :'blocked_count' => :'blocked_count',
36
- :'aggregated_value' => :'aggregated_value'
40
+ :'aggregated_value' => :'aggregated_value',
41
+ :'currency_code' => :'currency_code'
37
42
  }
38
43
  end
39
44
 
@@ -53,7 +58,8 @@ module Tremendous
53
58
  :'ids' => :'Array<String>',
54
59
  :'count' => :'Float',
55
60
  :'blocked_count' => :'Float',
56
- :'aggregated_value' => :'Float'
61
+ :'aggregated_value' => :'Float',
62
+ :'currency_code' => :'String'
57
63
  }
58
64
  end
59
65
 
@@ -96,6 +102,10 @@ module Tremendous
96
102
  if attributes.key?(:'aggregated_value')
97
103
  self.aggregated_value = attributes[:'aggregated_value']
98
104
  end
105
+
106
+ if attributes.key?(:'currency_code')
107
+ self.currency_code = attributes[:'currency_code']
108
+ end
99
109
  end
100
110
 
101
111
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -178,7 +188,8 @@ module Tremendous
178
188
  ids == o.ids &&
179
189
  count == o.count &&
180
190
  blocked_count == o.blocked_count &&
181
- aggregated_value == o.aggregated_value
191
+ aggregated_value == o.aggregated_value &&
192
+ currency_code == o.currency_code
182
193
  end
183
194
 
184
195
  # @see the `==` method
@@ -190,7 +201,7 @@ module Tremendous
190
201
  # Calculates hash code according to all attributes.
191
202
  # @return [Integer] Hash code
192
203
  def hash
193
- [ids, count, blocked_count, aggregated_value].hash
204
+ [ids, count, blocked_count, aggregated_value, currency_code].hash
194
205
  end
195
206
 
196
207
  # Builds the object from hash
@@ -16,7 +16,7 @@ require 'time'
16
16
  module Tremendous
17
17
  # An active fraud rule
18
18
  class FraudRulesListItem
19
- # * `review_country` - Flags when the recipient's IP country matches the criteria in the rule * `review_ip` - Flags when recipient's IP matches one in the list * `review_email` - Flags when the recipient's email matches one in the list * `review_redeemed_rewards_count` - Flags when the recipient redeemed more than the number of rewards specified in the config * `review_redeemed_rewards_amount` - Flags when the recipient redeemed more than the total amount specified in the config * `review_multiple_emails` - Flags when recipient's device or account has multiple emails associated * `review_vpn` - Flags when VPN is suspected * `review_tremendous_flag_list` - Flags rewards when redemption attributes match at least one criteria defined by the Tremendous flag list * `review_previously_blocked_recipients` - Flags rewards when the recipient has been blocked before * `allow_ip` - Releases a reward when a recipient's IP matches one in the list * `allow_email` - Releases a reward when the recipient's email matches one in the list
19
+ # * `review_country` - Flags when the recipient's IP country matches the criteria in the rule * `review_ip` - Flags when recipient's IP matches one in the list * `review_email` - Flags when the recipient's email matches one in the list * `review_redeemed_rewards_count` - Flags when the recipient redeemed more than the number of rewards specified in the config * `review_redeemed_rewards_amount` - Flags when the recipient redeemed more than the total amount specified in the config. The amount is denominated in the organization's currency. * `review_multiple_emails` - Flags when recipient's device or account has multiple emails associated * `review_vpn` - Flags when VPN is suspected * `review_tremendous_flag_list` - Flags rewards when redemption attributes match at least one criteria defined by the Tremendous flag list * `review_previously_blocked_recipients` - Flags rewards when the recipient has been blocked before * `allow_ip` - Releases a reward when a recipient's IP matches one in the list * `allow_email` - Releases a reward when the recipient's email matches one in the list
20
20
  attr_accessor :rule_type
21
21
 
22
22
  # The configuration associated with the rule. The properties allowed depend on the type of rule. This property is only present for rules that require configuration.
@@ -25,16 +25,20 @@ module Tremendous
25
25
  # How many related rewards have been blocked.
26
26
  attr_accessor :blocked_count
27
27
 
28
- # Total amount claimed by the related rewards (in USD).
28
+ # Total amount claimed by the related rewards, denominated in `currency_code`.
29
29
  attr_accessor :aggregated_value
30
30
 
31
+ # Currency of the aggregated value. Always matches the organization's currency.
32
+ attr_accessor :currency_code
33
+
31
34
  # Attribute mapping from ruby-style variable name to JSON key.
32
35
  def self.attribute_map
33
36
  {
34
37
  :'ids' => :'ids',
35
38
  :'count' => :'count',
36
39
  :'blocked_count' => :'blocked_count',
37
- :'aggregated_value' => :'aggregated_value'
40
+ :'aggregated_value' => :'aggregated_value',
41
+ :'currency_code' => :'currency_code'
38
42
  }
39
43
  end
40
44
 
@@ -54,7 +58,8 @@ module Tremendous
54
58
  :'ids' => :'Array<String>',
55
59
  :'count' => :'Float',
56
60
  :'blocked_count' => :'Float',
57
- :'aggregated_value' => :'Float'
61
+ :'aggregated_value' => :'Float',
62
+ :'currency_code' => :'String'
58
63
  }
59
64
  end
60
65
 
@@ -97,6 +102,10 @@ module Tremendous
97
102
  if attributes.key?(:'aggregated_value')
98
103
  self.aggregated_value = attributes[:'aggregated_value']
99
104
  end
105
+
106
+ if attributes.key?(:'currency_code')
107
+ self.currency_code = attributes[:'currency_code']
108
+ end
100
109
  end
101
110
 
102
111
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -179,7 +188,8 @@ module Tremendous
179
188
  ids == o.ids &&
180
189
  count == o.count &&
181
190
  blocked_count == o.blocked_count &&
182
- aggregated_value == o.aggregated_value
191
+ aggregated_value == o.aggregated_value &&
192
+ currency_code == o.currency_code
183
193
  end
184
194
 
185
195
  # @see the `==` method
@@ -191,7 +201,7 @@ module Tremendous
191
201
  # Calculates hash code according to all attributes.
192
202
  # @return [Integer] Hash code
193
203
  def hash
194
- [ids, count, blocked_count, aggregated_value].hash
204
+ [ids, count, blocked_count, aggregated_value, currency_code].hash
195
205
  end
196
206
 
197
207
  # Builds the object from hash
@@ -19,10 +19,13 @@ module Tremendous
19
19
  # Date that the transaction was created
20
20
  attr_accessor :created_at
21
21
 
22
- # Amount of the transaction in USD
22
+ # Amount of the transaction, denominated in `currency_code`.
23
23
  attr_accessor :amount
24
24
 
25
- # The updated total after the transaction. Note that this running balance may be delayed and contain `null`.
25
+ # Currency of the transaction amount and running balance. Always matches the organization's currency.
26
+ attr_accessor :currency_code
27
+
28
+ # The updated total after the transaction, denominated in `currency_code`. Note that this running balance may be delayed and contain `null`.
26
29
  attr_accessor :balance
27
30
 
28
31
  # The action that was performed
@@ -38,6 +41,7 @@ module Tremendous
38
41
  {
39
42
  :'created_at' => :'created_at',
40
43
  :'amount' => :'amount',
44
+ :'currency_code' => :'currency_code',
41
45
  :'balance' => :'balance',
42
46
  :'action' => :'action',
43
47
  :'description' => :'description',
@@ -60,6 +64,7 @@ module Tremendous
60
64
  {
61
65
  :'created_at' => :'Time',
62
66
  :'amount' => :'Float',
67
+ :'currency_code' => :'String',
63
68
  :'balance' => :'Float',
64
69
  :'action' => :'String',
65
70
  :'description' => :'String',
@@ -101,6 +106,12 @@ module Tremendous
101
106
  self.amount = nil
102
107
  end
103
108
 
109
+ if attributes.key?(:'currency_code')
110
+ self.currency_code = attributes[:'currency_code']
111
+ else
112
+ self.currency_code = nil
113
+ end
114
+
104
115
  if attributes.key?(:'balance')
105
116
  self.balance = attributes[:'balance']
106
117
  else
@@ -137,6 +148,10 @@ module Tremendous
137
148
  invalid_properties.push('invalid value for "amount", amount cannot be nil.')
138
149
  end
139
150
 
151
+ if @currency_code.nil?
152
+ invalid_properties.push('invalid value for "currency_code", currency_code cannot be nil.')
153
+ end
154
+
140
155
  if @balance.nil?
141
156
  invalid_properties.push('invalid value for "balance", balance cannot be nil.')
142
157
  end
@@ -158,6 +173,7 @@ module Tremendous
158
173
  warn '[DEPRECATED] the `valid?` method is obsolete'
159
174
  return false if @created_at.nil?
160
175
  return false if @amount.nil?
176
+ return false if @currency_code.nil?
161
177
  return false if @balance.nil?
162
178
  return false if @action.nil?
163
179
  return false if @description.nil?
@@ -184,6 +200,16 @@ module Tremendous
184
200
  @amount = amount
185
201
  end
186
202
 
203
+ # Custom attribute writer method with validation
204
+ # @param [Object] currency_code Value to be assigned
205
+ def currency_code=(currency_code)
206
+ if currency_code.nil?
207
+ fail ArgumentError, 'currency_code cannot be nil'
208
+ end
209
+
210
+ @currency_code = currency_code
211
+ end
212
+
187
213
  # Custom attribute writer method with validation
188
214
  # @param [Object] balance Value to be assigned
189
215
  def balance=(balance)
@@ -221,6 +247,7 @@ module Tremendous
221
247
  self.class == o.class &&
222
248
  created_at == o.created_at &&
223
249
  amount == o.amount &&
250
+ currency_code == o.currency_code &&
224
251
  balance == o.balance &&
225
252
  action == o.action &&
226
253
  description == o.description &&
@@ -236,7 +263,7 @@ module Tremendous
236
263
  # Calculates hash code according to all attributes.
237
264
  # @return [Integer] Hash code
238
265
  def hash
239
- [created_at, amount, balance, action, description, order].hash
266
+ [created_at, amount, currency_code, balance, action, description, order].hash
240
267
  end
241
268
 
242
269
  # Builds the object from hash
@@ -15,18 +15,21 @@ require 'time'
15
15
 
16
16
  module Tremendous
17
17
  class ListBalanceTransactions200ResponseTransactionsInnerOrderPayment
18
- # Total price of the order before fees (in USD)
18
+ # Total price of the order before fees, denominated in `currency_code`.
19
19
  attr_accessor :subtotal
20
20
 
21
- # Total price of the order including fees (in USD)
21
+ # Total price of the order including fees, denominated in `currency_code`.
22
22
  attr_accessor :total
23
23
 
24
- # Fees for the order (in USD)
24
+ # Fees for the order, denominated in `currency_code`.
25
25
  attr_accessor :fees
26
26
 
27
- # Discount for the order (in USD)
27
+ # Discount for the order, denominated in `currency_code`.
28
28
  attr_accessor :discount
29
29
 
30
+ # Currency in which the payment amounts (subtotal, total, fees, discount, refund) are denominated. This always matches the organization's currency.
31
+ attr_accessor :currency_code
32
+
30
33
  attr_accessor :refund
31
34
 
32
35
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -36,6 +39,7 @@ module Tremendous
36
39
  :'total' => :'total',
37
40
  :'fees' => :'fees',
38
41
  :'discount' => :'discount',
42
+ :'currency_code' => :'currency_code',
39
43
  :'refund' => :'refund'
40
44
  }
41
45
  end
@@ -57,6 +61,7 @@ module Tremendous
57
61
  :'total' => :'Float',
58
62
  :'fees' => :'Float',
59
63
  :'discount' => :'Float',
64
+ :'currency_code' => :'String',
60
65
  :'refund' => :'ListOrders200ResponseOrdersInnerPaymentRefund'
61
66
  }
62
67
  end
@@ -107,6 +112,12 @@ module Tremendous
107
112
  self.discount = nil
108
113
  end
109
114
 
115
+ if attributes.key?(:'currency_code')
116
+ self.currency_code = attributes[:'currency_code']
117
+ else
118
+ self.currency_code = nil
119
+ end
120
+
110
121
  if attributes.key?(:'refund')
111
122
  self.refund = attributes[:'refund']
112
123
  end
@@ -149,6 +160,10 @@ module Tremendous
149
160
  invalid_properties.push('invalid value for "discount", must be greater than or equal to 0.')
150
161
  end
151
162
 
163
+ if @currency_code.nil?
164
+ invalid_properties.push('invalid value for "currency_code", currency_code cannot be nil.')
165
+ end
166
+
152
167
  invalid_properties
153
168
  end
154
169
 
@@ -164,6 +179,7 @@ module Tremendous
164
179
  return false if @fees < 0
165
180
  return false if @discount.nil?
166
181
  return false if @discount < 0
182
+ return false if @currency_code.nil?
167
183
  true
168
184
  end
169
185
 
@@ -223,6 +239,16 @@ module Tremendous
223
239
  @discount = discount
224
240
  end
225
241
 
242
+ # Custom attribute writer method with validation
243
+ # @param [Object] currency_code Value to be assigned
244
+ def currency_code=(currency_code)
245
+ if currency_code.nil?
246
+ fail ArgumentError, 'currency_code cannot be nil'
247
+ end
248
+
249
+ @currency_code = currency_code
250
+ end
251
+
226
252
  # Checks equality by comparing each attribute.
227
253
  # @param [Object] Object to be compared
228
254
  def ==(o)
@@ -232,6 +258,7 @@ module Tremendous
232
258
  total == o.total &&
233
259
  fees == o.fees &&
234
260
  discount == o.discount &&
261
+ currency_code == o.currency_code &&
235
262
  refund == o.refund
236
263
  end
237
264
 
@@ -244,7 +271,7 @@ module Tremendous
244
271
  # Calculates hash code according to all attributes.
245
272
  # @return [Integer] Hash code
246
273
  def hash
247
- [subtotal, total, fees, discount, refund].hash
274
+ [subtotal, total, fees, discount, currency_code, refund].hash
248
275
  end
249
276
 
250
277
  # Builds the object from hash