chargebee 2.49.0 → 2.50.1

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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +0 -1
  5. data/chargebee.gemspec +4 -2
  6. data/lib/chargebee/environment.rb +8 -1
  7. data/lib/chargebee/list_result.rb +9 -5
  8. data/lib/chargebee/models/addon.rb +23 -7
  9. data/lib/chargebee/models/address.rb +6 -2
  10. data/lib/chargebee/models/attached_item.rb +16 -6
  11. data/lib/chargebee/models/business_entity.rb +6 -2
  12. data/lib/chargebee/models/card.rb +15 -5
  13. data/lib/chargebee/models/comment.rb +12 -4
  14. data/lib/chargebee/models/configuration.rb +3 -1
  15. data/lib/chargebee/models/coupon.rb +40 -10
  16. data/lib/chargebee/models/coupon_code.rb +12 -4
  17. data/lib/chargebee/models/coupon_set.rb +23 -7
  18. data/lib/chargebee/models/credit_note.rb +44 -16
  19. data/lib/chargebee/models/currency.rb +18 -6
  20. data/lib/chargebee/models/customer.rb +83 -25
  21. data/lib/chargebee/models/customer_entitlement.rb +3 -1
  22. data/lib/chargebee/models/differential_price.rb +19 -6
  23. data/lib/chargebee/models/entitlement.rb +6 -2
  24. data/lib/chargebee/models/entitlement_override.rb +6 -2
  25. data/lib/chargebee/models/estimate.rb +64 -20
  26. data/lib/chargebee/models/event.rb +7 -3
  27. data/lib/chargebee/models/export.rb +54 -18
  28. data/lib/chargebee/models/feature.rb +24 -8
  29. data/lib/chargebee/models/gift.rb +23 -7
  30. data/lib/chargebee/models/hosted_page.rb +68 -23
  31. data/lib/chargebee/models/in_app_subscription.rb +12 -4
  32. data/lib/chargebee/models/invoice.rb +129 -44
  33. data/lib/chargebee/models/invoice_estimate.rb +5 -1
  34. data/lib/chargebee/models/item.rb +18 -6
  35. data/lib/chargebee/models/item_entitlement.rb +12 -4
  36. data/lib/chargebee/models/item_family.rb +17 -6
  37. data/lib/chargebee/models/item_price.rb +24 -8
  38. data/lib/chargebee/models/non_subscription.rb +3 -1
  39. data/lib/chargebee/models/omnichannel_subscription.rb +9 -3
  40. data/lib/chargebee/models/order.rb +36 -12
  41. data/lib/chargebee/models/payment_intent.rb +9 -3
  42. data/lib/chargebee/models/payment_schedule_scheme.rb +9 -3
  43. data/lib/chargebee/models/payment_source.rb +57 -16
  44. data/lib/chargebee/models/payment_voucher.rb +12 -4
  45. data/lib/chargebee/models/plan.rb +23 -7
  46. data/lib/chargebee/models/portal_session.rb +12 -4
  47. data/lib/chargebee/models/price_variant.rb +16 -6
  48. data/lib/chargebee/models/pricing_page_session.rb +6 -2
  49. data/lib/chargebee/models/promotional_credit.rb +15 -5
  50. data/lib/chargebee/models/purchase.rb +8 -2
  51. data/lib/chargebee/models/quote.rb +60 -20
  52. data/lib/chargebee/models/ramp.rb +15 -5
  53. data/lib/chargebee/models/recorded_purchase.rb +6 -2
  54. data/lib/chargebee/models/resource_migration.rb +3 -1
  55. data/lib/chargebee/models/rule.rb +17 -0
  56. data/lib/chargebee/models/site_migration_detail.rb +3 -1
  57. data/lib/chargebee/models/subscription.rb +129 -37
  58. data/lib/chargebee/models/subscription_entitlement.rb +6 -2
  59. data/lib/chargebee/models/time_machine.rb +9 -3
  60. data/lib/chargebee/models/transaction.rb +33 -11
  61. data/lib/chargebee/models/unbilled_charge.rb +18 -6
  62. data/lib/chargebee/models/usage.rb +15 -5
  63. data/lib/chargebee/models/usage_event.rb +24 -0
  64. data/lib/chargebee/models/virtual_bank_account.rb +18 -6
  65. data/lib/chargebee/nativeRequest.rb +7 -5
  66. data/lib/chargebee/request.rb +11 -11
  67. data/lib/chargebee/result.rb +25 -10
  68. data/lib/chargebee/util.rb +8 -5
  69. data/lib/chargebee.rb +3 -1
  70. metadata +4 -2
@@ -0,0 +1,17 @@
1
+ module ChargeBee
2
+ class Rule < Model
3
+
4
+ attr_accessor :id, :namespace, :rule_name, :rule_order, :status, :conditions, :outcome, :deleted,
5
+ :created_at, :modified_at
6
+
7
+ # OPERATIONS
8
+ #-----------
9
+
10
+ def self.retrieve(id, env=nil, headers={})
11
+ jsonKeys = {
12
+ }
13
+ Request.send('get', uri_path("rules",id.to_s), {}, env, headers,nil, false, jsonKeys)
14
+ end
15
+
16
+ end # ~Rule
17
+ end # ~ChargeBee
@@ -8,7 +8,9 @@ module ChargeBee
8
8
  #-----------
9
9
 
10
10
  def self.list(params={}, env=nil, headers={})
11
- Request.send_list_request('get', uri_path("site_migration_details"), params, env, headers)
11
+ jsonKeys = {
12
+ }
13
+ Request.send_list_request('get', uri_path("site_migration_details"), params, env, headers,nil, false, jsonKeys)
12
14
  end
13
15
 
14
16
  end # ~SiteMigrationDetail
@@ -72,151 +72,243 @@ module ChargeBee
72
72
  #-----------
73
73
 
74
74
  def self.create(params, env=nil, headers={})
75
- Request.send('post', uri_path("subscriptions"), params, env, headers)
75
+ jsonKeys = {
76
+ :meta_data => 0,
77
+ :exemption_details => 1,
78
+ :additional_information => 1,
79
+ :billing_address => 1,
80
+ }
81
+ Request.send('post', uri_path("subscriptions"), params, env, headers,nil, false, jsonKeys)
76
82
  end
77
83
 
78
84
  def self.create_for_customer(id, params, env=nil, headers={})
79
- Request.send('post', uri_path("customers",id.to_s,"subscriptions"), params, env, headers)
85
+ jsonKeys = {
86
+ :meta_data => 0,
87
+ :additional_information => 1,
88
+ }
89
+ Request.send('post', uri_path("customers",id.to_s,"subscriptions"), params, env, headers,nil, false, jsonKeys)
80
90
  end
81
91
 
82
92
  def self.create_with_items(id, params, env=nil, headers={})
83
- Request.send('post', uri_path("customers",id.to_s,"subscription_for_items"), params, env, headers)
93
+ jsonKeys = {
94
+ :meta_data => 0,
95
+ :additional_information => 1,
96
+ }
97
+ Request.send('post', uri_path("customers",id.to_s,"subscription_for_items"), params, env, headers,nil, false, jsonKeys)
84
98
  end
85
99
 
86
100
  def self.list(params={}, env=nil, headers={})
87
- Request.send_list_request('get', uri_path("subscriptions"), params, env, headers)
101
+ jsonKeys = {
102
+ }
103
+ Request.send_list_request('get', uri_path("subscriptions"), params, env, headers,nil, false, jsonKeys)
88
104
  end
89
105
 
90
106
  def self.subscriptions_for_customer(id, params={}, env=nil, headers={})
91
- Request.send('get', uri_path("customers",id.to_s,"subscriptions"), params, env, headers)
107
+ jsonKeys = {
108
+ }
109
+ Request.send('get', uri_path("customers",id.to_s,"subscriptions"), params, env, headers,nil, false, jsonKeys)
92
110
  end
93
111
 
94
112
  def self.contract_terms_for_subscription(id, params={}, env=nil, headers={})
95
- Request.send('get', uri_path("subscriptions",id.to_s,"contract_terms"), params, env, headers)
113
+ jsonKeys = {
114
+ }
115
+ Request.send('get', uri_path("subscriptions",id.to_s,"contract_terms"), params, env, headers,nil, false, jsonKeys)
96
116
  end
97
117
 
98
118
  def self.list_discounts(id, params={}, env=nil, headers={})
99
- Request.send('get', uri_path("subscriptions",id.to_s,"discounts"), params, env, headers)
119
+ jsonKeys = {
120
+ }
121
+ Request.send('get', uri_path("subscriptions",id.to_s,"discounts"), params, env, headers,nil, false, jsonKeys)
100
122
  end
101
123
 
102
124
  def self.retrieve(id, env=nil, headers={})
103
- Request.send('get', uri_path("subscriptions",id.to_s), {}, env, headers)
125
+ jsonKeys = {
126
+ }
127
+ Request.send('get', uri_path("subscriptions",id.to_s), {}, env, headers,nil, false, jsonKeys)
104
128
  end
105
129
 
106
130
  def self.retrieve_with_scheduled_changes(id, env=nil, headers={})
107
- Request.send('get', uri_path("subscriptions",id.to_s,"retrieve_with_scheduled_changes"), {}, env, headers)
131
+ jsonKeys = {
132
+ }
133
+ Request.send('get', uri_path("subscriptions",id.to_s,"retrieve_with_scheduled_changes"), {}, env, headers,nil, false, jsonKeys)
108
134
  end
109
135
 
110
136
  def self.remove_scheduled_changes(id, env=nil, headers={})
111
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_changes"), {}, env, headers)
137
+ jsonKeys = {
138
+ }
139
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_changes"), {}, env, headers,nil, false, jsonKeys)
112
140
  end
113
141
 
114
142
  def self.remove_scheduled_cancellation(id, params={}, env=nil, headers={})
115
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_cancellation"), params, env, headers)
143
+ jsonKeys = {
144
+ }
145
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_cancellation"), params, env, headers,nil, false, jsonKeys)
116
146
  end
117
147
 
118
148
  def self.remove_coupons(id, params={}, env=nil, headers={})
119
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_coupons"), params, env, headers)
149
+ jsonKeys = {
150
+ }
151
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_coupons"), params, env, headers,nil, false, jsonKeys)
120
152
  end
121
153
 
122
154
  def self.update(id, params={}, env=nil, headers={})
123
- Request.send('post', uri_path("subscriptions",id.to_s), params, env, headers)
155
+ jsonKeys = {
156
+ :meta_data => 0,
157
+ :additional_information => 1,
158
+ }
159
+ Request.send('post', uri_path("subscriptions",id.to_s), params, env, headers,nil, false, jsonKeys)
124
160
  end
125
161
 
126
162
  def self.update_for_items(id, params, env=nil, headers={})
127
- Request.send('post', uri_path("subscriptions",id.to_s,"update_for_items"), params, env, headers)
163
+ jsonKeys = {
164
+ :meta_data => 0,
165
+ :additional_information => 1,
166
+ }
167
+ Request.send('post', uri_path("subscriptions",id.to_s,"update_for_items"), params, env, headers,nil, false, jsonKeys)
128
168
  end
129
169
 
130
170
  def self.change_term_end(id, params, env=nil, headers={})
131
- Request.send('post', uri_path("subscriptions",id.to_s,"change_term_end"), params, env, headers)
171
+ jsonKeys = {
172
+ }
173
+ Request.send('post', uri_path("subscriptions",id.to_s,"change_term_end"), params, env, headers,nil, false, jsonKeys)
132
174
  end
133
175
 
134
176
  def self.reactivate(id, params={}, env=nil, headers={})
135
- Request.send('post', uri_path("subscriptions",id.to_s,"reactivate"), params, env, headers)
177
+ jsonKeys = {
178
+ :additional_information => 1,
179
+ }
180
+ Request.send('post', uri_path("subscriptions",id.to_s,"reactivate"), params, env, headers,nil, false, jsonKeys)
136
181
  end
137
182
 
138
183
  def self.add_charge_at_term_end(id, params, env=nil, headers={})
139
- Request.send('post', uri_path("subscriptions",id.to_s,"add_charge_at_term_end"), params, env, headers)
184
+ jsonKeys = {
185
+ }
186
+ Request.send('post', uri_path("subscriptions",id.to_s,"add_charge_at_term_end"), params, env, headers,nil, false, jsonKeys)
140
187
  end
141
188
 
142
189
  def self.charge_addon_at_term_end(id, params, env=nil, headers={})
143
- Request.send('post', uri_path("subscriptions",id.to_s,"charge_addon_at_term_end"), params, env, headers)
190
+ jsonKeys = {
191
+ }
192
+ Request.send('post', uri_path("subscriptions",id.to_s,"charge_addon_at_term_end"), params, env, headers,nil, false, jsonKeys)
144
193
  end
145
194
 
146
195
  def self.charge_future_renewals(id, params={}, env=nil, headers={})
147
- Request.send('post', uri_path("subscriptions",id.to_s,"charge_future_renewals"), params, env, headers)
196
+ jsonKeys = {
197
+ }
198
+ Request.send('post', uri_path("subscriptions",id.to_s,"charge_future_renewals"), params, env, headers,nil, false, jsonKeys)
148
199
  end
149
200
 
150
201
  def self.edit_advance_invoice_schedule(id, params={}, env=nil, headers={})
151
- Request.send('post', uri_path("subscriptions",id.to_s,"edit_advance_invoice_schedule"), params, env, headers)
202
+ jsonKeys = {
203
+ }
204
+ Request.send('post', uri_path("subscriptions",id.to_s,"edit_advance_invoice_schedule"), params, env, headers,nil, false, jsonKeys)
152
205
  end
153
206
 
154
207
  def self.retrieve_advance_invoice_schedule(id, env=nil, headers={})
155
- Request.send('get', uri_path("subscriptions",id.to_s,"retrieve_advance_invoice_schedule"), {}, env, headers)
208
+ jsonKeys = {
209
+ }
210
+ Request.send('get', uri_path("subscriptions",id.to_s,"retrieve_advance_invoice_schedule"), {}, env, headers,nil, false, jsonKeys)
156
211
  end
157
212
 
158
213
  def self.remove_advance_invoice_schedule(id, params={}, env=nil, headers={})
159
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_advance_invoice_schedule"), params, env, headers)
214
+ jsonKeys = {
215
+ }
216
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_advance_invoice_schedule"), params, env, headers,nil, false, jsonKeys)
160
217
  end
161
218
 
162
219
  def self.regenerate_invoice(id, params={}, env=nil, headers={})
163
- Request.send('post', uri_path("subscriptions",id.to_s,"regenerate_invoice"), params, env, headers)
220
+ jsonKeys = {
221
+ }
222
+ Request.send('post', uri_path("subscriptions",id.to_s,"regenerate_invoice"), params, env, headers,nil, false, jsonKeys)
164
223
  end
165
224
 
166
225
  def self.import_subscription(params, env=nil, headers={})
167
- Request.send('post', uri_path("subscriptions","import_subscription"), params, env, headers)
226
+ jsonKeys = {
227
+ :meta_data => 0,
228
+ :additional_information => 1,
229
+ }
230
+ Request.send('post', uri_path("subscriptions","import_subscription"), params, env, headers,nil, false, jsonKeys)
168
231
  end
169
232
 
170
233
  def self.import_for_customer(id, params, env=nil, headers={})
171
- Request.send('post', uri_path("customers",id.to_s,"import_subscription"), params, env, headers)
234
+ jsonKeys = {
235
+ :meta_data => 0,
236
+ }
237
+ Request.send('post', uri_path("customers",id.to_s,"import_subscription"), params, env, headers,nil, false, jsonKeys)
172
238
  end
173
239
 
174
240
  def self.import_contract_term(id, params={}, env=nil, headers={})
175
- Request.send('post', uri_path("subscriptions",id.to_s,"import_contract_term"), params, env, headers)
241
+ jsonKeys = {
242
+ }
243
+ Request.send('post', uri_path("subscriptions",id.to_s,"import_contract_term"), params, env, headers,nil, false, jsonKeys)
176
244
  end
177
245
 
178
246
  def self.import_unbilled_charges(id, params, env=nil, headers={})
179
- Request.send('post', uri_path("subscriptions",id.to_s,"import_unbilled_charges"), params, env, headers)
247
+ jsonKeys = {
248
+ }
249
+ Request.send('post', uri_path("subscriptions",id.to_s,"import_unbilled_charges"), params, env, headers,nil, false, jsonKeys)
180
250
  end
181
251
 
182
252
  def self.import_for_items(id, params, env=nil, headers={})
183
- Request.send('post', uri_path("customers",id.to_s,"import_for_items"), params, env, headers)
253
+ jsonKeys = {
254
+ :meta_data => 0,
255
+ }
256
+ Request.send('post', uri_path("customers",id.to_s,"import_for_items"), params, env, headers,nil, false, jsonKeys)
184
257
  end
185
258
 
186
259
  def self.override_billing_profile(id, params={}, env=nil, headers={})
187
- Request.send('post', uri_path("subscriptions",id.to_s,"override_billing_profile"), params, env, headers)
260
+ jsonKeys = {
261
+ }
262
+ Request.send('post', uri_path("subscriptions",id.to_s,"override_billing_profile"), params, env, headers,nil, false, jsonKeys)
188
263
  end
189
264
 
190
265
  def self.delete(id, env=nil, headers={})
191
- Request.send('post', uri_path("subscriptions",id.to_s,"delete"), {}, env, headers)
266
+ jsonKeys = {
267
+ }
268
+ Request.send('post', uri_path("subscriptions",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys)
192
269
  end
193
270
 
194
271
  def self.pause(id, params={}, env=nil, headers={})
195
- Request.send('post', uri_path("subscriptions",id.to_s,"pause"), params, env, headers)
272
+ jsonKeys = {
273
+ }
274
+ Request.send('post', uri_path("subscriptions",id.to_s,"pause"), params, env, headers,nil, false, jsonKeys)
196
275
  end
197
276
 
198
277
  def self.cancel(id, params={}, env=nil, headers={})
199
- Request.send('post', uri_path("subscriptions",id.to_s,"cancel"), params, env, headers)
278
+ jsonKeys = {
279
+ }
280
+ Request.send('post', uri_path("subscriptions",id.to_s,"cancel"), params, env, headers,nil, false, jsonKeys)
200
281
  end
201
282
 
202
283
  def self.cancel_for_items(id, params={}, env=nil, headers={})
203
- Request.send('post', uri_path("subscriptions",id.to_s,"cancel_for_items"), params, env, headers)
284
+ jsonKeys = {
285
+ }
286
+ Request.send('post', uri_path("subscriptions",id.to_s,"cancel_for_items"), params, env, headers,nil, false, jsonKeys)
204
287
  end
205
288
 
206
289
  def self.resume(id, params={}, env=nil, headers={})
207
- Request.send('post', uri_path("subscriptions",id.to_s,"resume"), params, env, headers)
290
+ jsonKeys = {
291
+ :additional_information => 1,
292
+ }
293
+ Request.send('post', uri_path("subscriptions",id.to_s,"resume"), params, env, headers,nil, false, jsonKeys)
208
294
  end
209
295
 
210
296
  def self.remove_scheduled_pause(id, env=nil, headers={})
211
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_pause"), {}, env, headers)
297
+ jsonKeys = {
298
+ }
299
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_pause"), {}, env, headers,nil, false, jsonKeys)
212
300
  end
213
301
 
214
302
  def self.remove_scheduled_resumption(id, env=nil, headers={})
215
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_resumption"), {}, env, headers)
303
+ jsonKeys = {
304
+ }
305
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_resumption"), {}, env, headers,nil, false, jsonKeys)
216
306
  end
217
307
 
218
308
  def self.move(id, params, env=nil, headers={})
219
- Request.send('post', uri_path("subscriptions",id.to_s,"move"), params, env, headers)
309
+ jsonKeys = {
310
+ }
311
+ Request.send('post', uri_path("subscriptions",id.to_s,"move"), params, env, headers,nil, false, jsonKeys)
220
312
  end
221
313
 
222
314
  end # ~Subscription
@@ -12,11 +12,15 @@ module ChargeBee
12
12
  #-----------
13
13
 
14
14
  def self.subscription_entitlements_for_subscription(id, params={}, env=nil, headers={})
15
- Request.send('get', uri_path("subscriptions",id.to_s,"subscription_entitlements"), params, env, headers)
15
+ jsonKeys = {
16
+ }
17
+ Request.send('get', uri_path("subscriptions",id.to_s,"subscription_entitlements"), params, env, headers,nil, false, jsonKeys)
16
18
  end
17
19
 
18
20
  def self.set_subscription_entitlement_availability(id, params, env=nil, headers={})
19
- Request.send('post', uri_path("subscriptions",id.to_s,"subscription_entitlements/set_availability"), params, env, headers)
21
+ jsonKeys = {
22
+ }
23
+ Request.send('post', uri_path("subscriptions",id.to_s,"subscription_entitlements/set_availability"), params, env, headers,nil, false, jsonKeys)
20
24
  end
21
25
 
22
26
  end # ~SubscriptionEntitlement
@@ -34,15 +34,21 @@ module ChargeBee
34
34
  #-----------
35
35
 
36
36
  def self.retrieve(id, env=nil, headers={})
37
- Request.send('get', uri_path("time_machines",id.to_s), {}, env, headers)
37
+ jsonKeys = {
38
+ }
39
+ Request.send('get', uri_path("time_machines",id.to_s), {}, env, headers,nil, false, jsonKeys)
38
40
  end
39
41
 
40
42
  def self.start_afresh(id, params={}, env=nil, headers={})
41
- Request.send('post', uri_path("time_machines",id.to_s,"start_afresh"), params, env, headers)
43
+ jsonKeys = {
44
+ }
45
+ Request.send('post', uri_path("time_machines",id.to_s,"start_afresh"), params, env, headers,nil, false, jsonKeys)
42
46
  end
43
47
 
44
48
  def self.travel_forward(id, params={}, env=nil, headers={})
45
- Request.send('post', uri_path("time_machines",id.to_s,"travel_forward"), params, env, headers)
49
+ jsonKeys = {
50
+ }
51
+ Request.send('post', uri_path("time_machines",id.to_s,"travel_forward"), params, env, headers,nil, false, jsonKeys)
46
52
  end
47
53
 
48
54
  end # ~TimeMachine
@@ -34,47 +34,69 @@ module ChargeBee
34
34
  #-----------
35
35
 
36
36
  def self.create_authorization(params, env=nil, headers={})
37
- Request.send('post', uri_path("transactions","create_authorization"), params, env, headers)
37
+ jsonKeys = {
38
+ }
39
+ Request.send('post', uri_path("transactions","create_authorization"), params, env, headers,nil, false, jsonKeys)
38
40
  end
39
41
 
40
42
  def self.void_transaction(id, env=nil, headers={})
41
- Request.send('post', uri_path("transactions",id.to_s,"void"), {}, env, headers)
43
+ jsonKeys = {
44
+ }
45
+ Request.send('post', uri_path("transactions",id.to_s,"void"), {}, env, headers,nil, false, jsonKeys)
42
46
  end
43
47
 
44
48
  def self.record_refund(id, params, env=nil, headers={})
45
- Request.send('post', uri_path("transactions",id.to_s,"record_refund"), params, env, headers)
49
+ jsonKeys = {
50
+ }
51
+ Request.send('post', uri_path("transactions",id.to_s,"record_refund"), params, env, headers,nil, false, jsonKeys)
46
52
  end
47
53
 
48
54
  def self.reconcile(id, params={}, env=nil, headers={})
49
- Request.send('post', uri_path("transactions",id.to_s,"reconcile"), params, env, headers)
55
+ jsonKeys = {
56
+ }
57
+ Request.send('post', uri_path("transactions",id.to_s,"reconcile"), params, env, headers,nil, false, jsonKeys)
50
58
  end
51
59
 
52
60
  def self.refund(id, params={}, env=nil, headers={})
53
- Request.send('post', uri_path("transactions",id.to_s,"refund"), params, env, headers)
61
+ jsonKeys = {
62
+ }
63
+ Request.send('post', uri_path("transactions",id.to_s,"refund"), params, env, headers,nil, false, jsonKeys)
54
64
  end
55
65
 
56
66
  def self.list(params={}, env=nil, headers={})
57
- Request.send_list_request('get', uri_path("transactions"), params, env, headers)
67
+ jsonKeys = {
68
+ }
69
+ Request.send_list_request('get', uri_path("transactions"), params, env, headers,nil, false, jsonKeys)
58
70
  end
59
71
 
60
72
  def self.transactions_for_customer(id, params={}, env=nil, headers={})
61
- Request.send('get', uri_path("customers",id.to_s,"transactions"), params, env, headers)
73
+ jsonKeys = {
74
+ }
75
+ Request.send('get', uri_path("customers",id.to_s,"transactions"), params, env, headers,nil, false, jsonKeys)
62
76
  end
63
77
 
64
78
  def self.transactions_for_subscription(id, params={}, env=nil, headers={})
65
- Request.send('get', uri_path("subscriptions",id.to_s,"transactions"), params, env, headers)
79
+ jsonKeys = {
80
+ }
81
+ Request.send('get', uri_path("subscriptions",id.to_s,"transactions"), params, env, headers,nil, false, jsonKeys)
66
82
  end
67
83
 
68
84
  def self.payments_for_invoice(id, params={}, env=nil, headers={})
69
- Request.send('get', uri_path("invoices",id.to_s,"payments"), params, env, headers)
85
+ jsonKeys = {
86
+ }
87
+ Request.send('get', uri_path("invoices",id.to_s,"payments"), params, env, headers,nil, false, jsonKeys)
70
88
  end
71
89
 
72
90
  def self.retrieve(id, env=nil, headers={})
73
- Request.send('get', uri_path("transactions",id.to_s), {}, env, headers)
91
+ jsonKeys = {
92
+ }
93
+ Request.send('get', uri_path("transactions",id.to_s), {}, env, headers,nil, false, jsonKeys)
74
94
  end
75
95
 
76
96
  def self.delete_offline_transaction(id, params={}, env=nil, headers={})
77
- Request.send('post', uri_path("transactions",id.to_s,"delete_offline_transaction"), params, env, headers)
97
+ jsonKeys = {
98
+ }
99
+ Request.send('post', uri_path("transactions",id.to_s,"delete_offline_transaction"), params, env, headers,nil, false, jsonKeys)
78
100
  end
79
101
 
80
102
  end # ~Transaction
@@ -14,27 +14,39 @@ module ChargeBee
14
14
  #-----------
15
15
 
16
16
  def self.create_unbilled_charge(params, env=nil, headers={})
17
- Request.send('post', uri_path("unbilled_charges","create"), params, env, headers)
17
+ jsonKeys = {
18
+ }
19
+ Request.send('post', uri_path("unbilled_charges","create"), params, env, headers,nil, false, jsonKeys)
18
20
  end
19
21
 
20
22
  def self.create(params, env=nil, headers={})
21
- Request.send('post', uri_path("unbilled_charges"), params, env, headers)
23
+ jsonKeys = {
24
+ }
25
+ Request.send('post', uri_path("unbilled_charges"), params, env, headers,nil, false, jsonKeys)
22
26
  end
23
27
 
24
28
  def self.invoice_unbilled_charges(params={}, env=nil, headers={})
25
- Request.send('post', uri_path("unbilled_charges","invoice_unbilled_charges"), params, env, headers)
29
+ jsonKeys = {
30
+ }
31
+ Request.send('post', uri_path("unbilled_charges","invoice_unbilled_charges"), params, env, headers,nil, false, jsonKeys)
26
32
  end
27
33
 
28
34
  def self.delete(id, env=nil, headers={})
29
- Request.send('post', uri_path("unbilled_charges",id.to_s,"delete"), {}, env, headers)
35
+ jsonKeys = {
36
+ }
37
+ Request.send('post', uri_path("unbilled_charges",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys)
30
38
  end
31
39
 
32
40
  def self.list(params={}, env=nil, headers={})
33
- Request.send_list_request('get', uri_path("unbilled_charges"), params, env, headers)
41
+ jsonKeys = {
42
+ }
43
+ Request.send_list_request('get', uri_path("unbilled_charges"), params, env, headers,nil, false, jsonKeys)
34
44
  end
35
45
 
36
46
  def self.invoice_now_estimate(params={}, env=nil, headers={})
37
- Request.send('post', uri_path("unbilled_charges","invoice_now_estimate"), params, env, headers)
47
+ jsonKeys = {
48
+ }
49
+ Request.send('post', uri_path("unbilled_charges","invoice_now_estimate"), params, env, headers,nil, false, jsonKeys)
38
50
  end
39
51
 
40
52
  end # ~UnbilledCharge
@@ -8,23 +8,33 @@ module ChargeBee
8
8
  #-----------
9
9
 
10
10
  def self.create(id, params, env=nil, headers={})
11
- Request.send('post', uri_path("subscriptions",id.to_s,"usages"), params, env, headers)
11
+ jsonKeys = {
12
+ }
13
+ Request.send('post', uri_path("subscriptions",id.to_s,"usages"), params, env, headers,nil, false, jsonKeys)
12
14
  end
13
15
 
14
16
  def self.retrieve(id, params, env=nil, headers={})
15
- Request.send('get', uri_path("subscriptions",id.to_s,"usages"), params, env, headers)
17
+ jsonKeys = {
18
+ }
19
+ Request.send('get', uri_path("subscriptions",id.to_s,"usages"), params, env, headers,nil, false, jsonKeys)
16
20
  end
17
21
 
18
22
  def self.delete(id, params, env=nil, headers={})
19
- Request.send('post', uri_path("subscriptions",id.to_s,"delete_usage"), params, env, headers)
23
+ jsonKeys = {
24
+ }
25
+ Request.send('post', uri_path("subscriptions",id.to_s,"delete_usage"), params, env, headers,nil, false, jsonKeys)
20
26
  end
21
27
 
22
28
  def self.list(params={}, env=nil, headers={})
23
- Request.send_list_request('get', uri_path("usages"), params, env, headers)
29
+ jsonKeys = {
30
+ }
31
+ Request.send_list_request('get', uri_path("usages"), params, env, headers,nil, false, jsonKeys)
24
32
  end
25
33
 
26
34
  def self.pdf(params, env=nil, headers={})
27
- Request.send('post', uri_path("usages","pdf"), params, env, headers)
35
+ jsonKeys = {
36
+ }
37
+ Request.send('post', uri_path("usages","pdf"), params, env, headers,nil, false, jsonKeys)
28
38
  end
29
39
 
30
40
  end # ~Usage
@@ -0,0 +1,24 @@
1
+ module ChargeBee
2
+ class UsageEvent < Model
3
+
4
+ attr_accessor :subscription_id, :deduplication_id, :usage_timestamp, :properties
5
+
6
+ # OPERATIONS
7
+ #-----------
8
+
9
+ def self.create(params, env=nil, headers={})
10
+ jsonKeys = {
11
+ :properties => 0,
12
+ }
13
+ Request.send('post', uri_path("usage_events"), params, env, headers, "ingest", true, jsonKeys)
14
+ end
15
+
16
+ def self.batch_ingest(params, env=nil, headers={})
17
+ jsonKeys = {
18
+ :properties => 1,
19
+ }
20
+ Request.send('post', uri_path("batch","usage_events"), params, env, headers, "ingest", true, jsonKeys)
21
+ end
22
+
23
+ end # ~UsageEvent
24
+ end # ~ChargeBee
@@ -9,27 +9,39 @@ module ChargeBee
9
9
  #-----------
10
10
 
11
11
  def self.create_using_permanent_token(params, env=nil, headers={})
12
- Request.send('post', uri_path("virtual_bank_accounts","create_using_permanent_token"), params, env, headers)
12
+ jsonKeys = {
13
+ }
14
+ Request.send('post', uri_path("virtual_bank_accounts","create_using_permanent_token"), params, env, headers,nil, false, jsonKeys)
13
15
  end
14
16
 
15
17
  def self.create(params, env=nil, headers={})
16
- Request.send('post', uri_path("virtual_bank_accounts"), params, env, headers)
18
+ jsonKeys = {
19
+ }
20
+ Request.send('post', uri_path("virtual_bank_accounts"), params, env, headers,nil, false, jsonKeys)
17
21
  end
18
22
 
19
23
  def self.retrieve(id, env=nil, headers={})
20
- Request.send('get', uri_path("virtual_bank_accounts",id.to_s), {}, env, headers)
24
+ jsonKeys = {
25
+ }
26
+ Request.send('get', uri_path("virtual_bank_accounts",id.to_s), {}, env, headers,nil, false, jsonKeys)
21
27
  end
22
28
 
23
29
  def self.list(params={}, env=nil, headers={})
24
- Request.send_list_request('get', uri_path("virtual_bank_accounts"), params, env, headers)
30
+ jsonKeys = {
31
+ }
32
+ Request.send_list_request('get', uri_path("virtual_bank_accounts"), params, env, headers,nil, false, jsonKeys)
25
33
  end
26
34
 
27
35
  def self.delete(id, env=nil, headers={})
28
- Request.send('post', uri_path("virtual_bank_accounts",id.to_s,"delete"), {}, env, headers)
36
+ jsonKeys = {
37
+ }
38
+ Request.send('post', uri_path("virtual_bank_accounts",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys)
29
39
  end
30
40
 
31
41
  def self.delete_local(id, env=nil, headers={})
32
- Request.send('post', uri_path("virtual_bank_accounts",id.to_s,"delete_local"), {}, env, headers)
42
+ jsonKeys = {
43
+ }
44
+ Request.send('post', uri_path("virtual_bank_accounts",id.to_s,"delete_local"), {}, env, headers,nil, false, jsonKeys)
33
45
  end
34
46
 
35
47
  end # ~VirtualBankAccount
@@ -6,26 +6,27 @@ require 'stringio'
6
6
  module ChargeBee
7
7
  module NativeRequest
8
8
 
9
- def self.request(method, url, env, params = nil, headers = {})
9
+ def self.request(method, url, env, params = nil, headers = {}, subdomain = nil, isJsonRequest = false)
10
10
  raise Error.new('No environment configured.') unless env
11
11
  api_key = env.api_key
12
12
 
13
- uri = URI(env.api_url(url))
13
+ uri = URI(env.api_url(url, subdomain))
14
14
 
15
15
  case method.to_s.downcase.to_sym
16
16
  when :get, :head, :delete
17
17
  uri.query = URI.encode_www_form(params) if params
18
18
  payload = nil
19
19
  else
20
- payload = URI.encode_www_form(params || {})
20
+ payload = isJsonRequest ? params : URI.encode_www_form(params || {})
21
21
  end
22
22
  user_agent = ChargeBee.user_agent
23
+ content_type_header = isJsonRequest ? "application/json;charset=UTF-8" : "application/x-www-form-urlencoded"
23
24
  headers = {
24
25
  "User-Agent" => user_agent,
25
26
  "Accept" => "application/json",
26
27
  "Lang-Version" => RUBY_VERSION,
27
28
  "OS-Version" => RUBY_PLATFORM,
28
- "Content-Type" => "application/x-www-form-urlencoded"
29
+ "Content-Type" => content_type_header
29
30
  }.merge(headers)
30
31
 
31
32
  http = Net::HTTP.new(uri.host, uri.port)
@@ -51,6 +52,7 @@ module ChargeBee
51
52
  request.body = payload if payload
52
53
 
53
54
  request.basic_auth(api_key, nil)
55
+
54
56
  begin
55
57
  response = http.request(request)
56
58
  rescue => e
@@ -81,7 +83,7 @@ module ChargeBee
81
83
  rescue JSON::ParserError => e
82
84
  raise handle_json_error(rbody, e)
83
85
  end
84
- return Util.symbolize_keys(resp), rheaders
86
+ return Util.symbolize_keys(resp), rheaders, rcode
85
87
  else
86
88
  raise handle_for_error(rcode, rbody)
87
89
  end