chargebee 2.6.4 → 2.6.6

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1524 -1488
  3. data/LICENSE +24 -24
  4. data/README.rdoc +41 -41
  5. data/chargebee.gemspec +4 -3
  6. data/lib/chargebee.rb +85 -85
  7. data/lib/chargebee/environment.rb +28 -28
  8. data/lib/chargebee/errors.rb +43 -43
  9. data/lib/chargebee/models/addon.rb +45 -45
  10. data/lib/chargebee/models/address.rb +18 -18
  11. data/lib/chargebee/models/card.rb +32 -32
  12. data/lib/chargebee/models/comment.rb +25 -25
  13. data/lib/chargebee/models/contact.rb +10 -10
  14. data/lib/chargebee/models/coupon.rb +40 -40
  15. data/lib/chargebee/models/coupon_code.rb +25 -25
  16. data/lib/chargebee/models/coupon_set.rb +37 -37
  17. data/lib/chargebee/models/credit_note.rb +77 -77
  18. data/lib/chargebee/models/credit_note_estimate.rb +35 -35
  19. data/lib/chargebee/models/customer.rb +137 -120
  20. data/lib/chargebee/models/download.rb +9 -9
  21. data/lib/chargebee/models/estimate.rb +46 -46
  22. data/lib/chargebee/models/event.rb +45 -45
  23. data/lib/chargebee/models/export.rb +86 -86
  24. data/lib/chargebee/models/gift.rb +42 -42
  25. data/lib/chargebee/models/hierarchy.rb +10 -0
  26. data/lib/chargebee/models/hosted_page.rb +77 -77
  27. data/lib/chargebee/models/invoice.rb +172 -172
  28. data/lib/chargebee/models/invoice_estimate.rb +35 -35
  29. data/lib/chargebee/models/model.rb +101 -101
  30. data/lib/chargebee/models/order.rb +76 -76
  31. data/lib/chargebee/models/payment_source.rb +79 -71
  32. data/lib/chargebee/models/plan.rb +60 -59
  33. data/lib/chargebee/models/portal_session.rb +30 -30
  34. data/lib/chargebee/models/promotional_credit.rb +30 -30
  35. data/lib/chargebee/models/quote.rb +72 -72
  36. data/lib/chargebee/models/resource_migration.rb +13 -13
  37. data/lib/chargebee/models/site_migration_detail.rb +14 -14
  38. data/lib/chargebee/models/subscription.rb +137 -137
  39. data/lib/chargebee/models/subscription_estimate.rb +13 -13
  40. data/lib/chargebee/models/third_party_payment_method.rb +9 -9
  41. data/lib/chargebee/models/time_machine.rb +46 -46
  42. data/lib/chargebee/models/token.rb +11 -0
  43. data/lib/chargebee/models/transaction.rb +62 -62
  44. data/lib/chargebee/models/unbilled_charge.rb +31 -31
  45. data/lib/chargebee/models/virtual_bank_account.rb +30 -26
  46. data/lib/chargebee/request.rb +27 -27
  47. data/lib/chargebee/rest.rb +92 -92
  48. data/lib/chargebee/result.rb +255 -240
  49. data/spec/errors_spec.rb +23 -23
  50. data/spec/sample_response.rb +73 -73
  51. metadata +5 -4
  52. data/lib/chargebee/.DS_Store +0 -0
@@ -1,138 +1,138 @@
1
- module ChargeBee
2
- class Subscription < Model
3
-
4
- class Addon < Model
5
- attr_accessor :id, :quantity, :unit_price, :amount, :trial_end, :remaining_billing_cycles
6
- end
7
-
8
- class EventBasedAddon < Model
9
- attr_accessor :id, :quantity, :unit_price, :on_event, :charge_once
10
- end
11
-
12
- class ChargedEventBasedAddon < Model
13
- attr_accessor :id, :last_charged_at
14
- end
15
-
16
- class Coupon < Model
17
- attr_accessor :coupon_id, :apply_till, :applied_count, :coupon_code
18
- end
19
-
20
- class ShippingAddress < Model
21
- attr_accessor :first_name, :last_name, :email, :company, :phone, :line1, :line2, :line3, :city, :state_code, :state, :country, :zip, :validation_status
22
- end
23
-
24
- class ReferralInfo < Model
25
- attr_accessor :referral_code, :coupon_code, :referrer_id, :external_reference_id, :reward_status, :referral_system, :account_id, :campaign_id, :external_campaign_id, :friend_offer_type, :referrer_reward_type, :notify_referral_system, :destination_url, :post_purchase_widget_enabled
26
- end
27
-
28
- attr_accessor :id, :customer_id, :currency_code, :plan_id, :plan_quantity, :plan_unit_price,
29
- :setup_fee, :plan_amount, :billing_period, :billing_period_unit, :plan_free_quantity, :status,
30
- :start_date, :trial_start, :trial_end, :current_term_start, :current_term_end, :next_billing_at,
31
- :remaining_billing_cycles, :po_number, :created_at, :started_at, :activated_at, :gift_id, :pause_date,
32
- :resume_date, :cancelled_at, :cancel_reason, :affiliate_token, :created_from_ip, :resource_version,
33
- :updated_at, :has_scheduled_changes, :payment_source_id, :auto_collection, :due_invoices_count,
34
- :due_since, :total_dues, :mrr, :exchange_rate, :base_currency_code, :addons, :event_based_addons,
35
- :charged_event_based_addons, :coupon, :coupons, :shipping_address, :referral_info, :invoice_notes,
36
- :meta_data, :deleted
37
-
38
- # OPERATIONS
39
- #-----------
40
-
41
- def self.create(params, env=nil, headers={})
42
- Request.send('post', uri_path("subscriptions"), params, env, headers)
43
- end
44
-
45
- def self.create_for_customer(id, params, env=nil, headers={})
46
- Request.send('post', uri_path("customers",id.to_s,"subscriptions"), params, env, headers)
47
- end
48
-
49
- def self.list(params={}, env=nil, headers={})
50
- Request.send_list_request('get', uri_path("subscriptions"), params, env, headers)
51
- end
52
-
53
- def self.subscriptions_for_customer(id, params={}, env=nil, headers={})
54
- Request.send('get', uri_path("customers",id.to_s,"subscriptions"), params, env, headers)
55
- end
56
-
57
- def self.retrieve(id, env=nil, headers={})
58
- Request.send('get', uri_path("subscriptions",id.to_s), {}, env, headers)
59
- end
60
-
61
- def self.retrieve_with_scheduled_changes(id, env=nil, headers={})
62
- Request.send('get', uri_path("subscriptions",id.to_s,"retrieve_with_scheduled_changes"), {}, env, headers)
63
- end
64
-
65
- def self.remove_scheduled_changes(id, env=nil, headers={})
66
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_changes"), {}, env, headers)
67
- end
68
-
69
- def self.remove_scheduled_cancellation(id, params={}, env=nil, headers={})
70
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_cancellation"), params, env, headers)
71
- end
72
-
73
- def self.remove_coupons(id, params={}, env=nil, headers={})
74
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_coupons"), params, env, headers)
75
- end
76
-
77
- def self.update(id, params={}, env=nil, headers={})
78
- Request.send('post', uri_path("subscriptions",id.to_s), params, env, headers)
79
- end
80
-
81
- def self.change_term_end(id, params, env=nil, headers={})
82
- Request.send('post', uri_path("subscriptions",id.to_s,"change_term_end"), params, env, headers)
83
- end
84
-
85
- def self.cancel(id, params={}, env=nil, headers={})
86
- Request.send('post', uri_path("subscriptions",id.to_s,"cancel"), params, env, headers)
87
- end
88
-
89
- def self.reactivate(id, params={}, env=nil, headers={})
90
- Request.send('post', uri_path("subscriptions",id.to_s,"reactivate"), params, env, headers)
91
- end
92
-
93
- def self.add_charge_at_term_end(id, params, env=nil, headers={})
94
- Request.send('post', uri_path("subscriptions",id.to_s,"add_charge_at_term_end"), params, env, headers)
95
- end
96
-
97
- def self.charge_addon_at_term_end(id, params, env=nil, headers={})
98
- Request.send('post', uri_path("subscriptions",id.to_s,"charge_addon_at_term_end"), params, env, headers)
99
- end
100
-
101
- def self.charge_future_renewals(id, params={}, env=nil, headers={})
102
- Request.send('post', uri_path("subscriptions",id.to_s,"charge_future_renewals"), params, env, headers)
103
- end
104
-
105
- def self.import_subscription(params, env=nil, headers={})
106
- Request.send('post', uri_path("subscriptions","import_subscription"), params, env, headers)
107
- end
108
-
109
- def self.import_for_customer(id, params, env=nil, headers={})
110
- Request.send('post', uri_path("customers",id.to_s,"import_subscription"), params, env, headers)
111
- end
112
-
113
- def self.override_billing_profile(id, params={}, env=nil, headers={})
114
- Request.send('post', uri_path("subscriptions",id.to_s,"override_billing_profile"), params, env, headers)
115
- end
116
-
117
- def self.delete(id, env=nil, headers={})
118
- Request.send('post', uri_path("subscriptions",id.to_s,"delete"), {}, env, headers)
119
- end
120
-
121
- def self.pause(id, params={}, env=nil, headers={})
122
- Request.send('post', uri_path("subscriptions",id.to_s,"pause"), params, env, headers)
123
- end
124
-
125
- def self.resume(id, params={}, env=nil, headers={})
126
- Request.send('post', uri_path("subscriptions",id.to_s,"resume"), params, env, headers)
127
- end
128
-
129
- def self.remove_scheduled_pause(id, env=nil, headers={})
130
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_pause"), {}, env, headers)
131
- end
132
-
133
- def self.remove_scheduled_resumption(id, env=nil, headers={})
134
- Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_resumption"), {}, env, headers)
135
- end
136
-
137
- end # ~Subscription
1
+ module ChargeBee
2
+ class Subscription < Model
3
+
4
+ class Addon < Model
5
+ attr_accessor :id, :quantity, :unit_price, :amount, :trial_end, :remaining_billing_cycles
6
+ end
7
+
8
+ class EventBasedAddon < Model
9
+ attr_accessor :id, :quantity, :unit_price, :service_period_in_days, :on_event, :charge_once
10
+ end
11
+
12
+ class ChargedEventBasedAddon < Model
13
+ attr_accessor :id, :last_charged_at
14
+ end
15
+
16
+ class Coupon < Model
17
+ attr_accessor :coupon_id, :apply_till, :applied_count, :coupon_code
18
+ end
19
+
20
+ class ShippingAddress < Model
21
+ attr_accessor :first_name, :last_name, :email, :company, :phone, :line1, :line2, :line3, :city, :state_code, :state, :country, :zip, :validation_status
22
+ end
23
+
24
+ class ReferralInfo < Model
25
+ attr_accessor :referral_code, :coupon_code, :referrer_id, :external_reference_id, :reward_status, :referral_system, :account_id, :campaign_id, :external_campaign_id, :friend_offer_type, :referrer_reward_type, :notify_referral_system, :destination_url, :post_purchase_widget_enabled
26
+ end
27
+
28
+ attr_accessor :id, :customer_id, :currency_code, :plan_id, :plan_quantity, :plan_unit_price,
29
+ :setup_fee, :plan_amount, :billing_period, :billing_period_unit, :plan_free_quantity, :status,
30
+ :start_date, :trial_start, :trial_end, :current_term_start, :current_term_end, :next_billing_at,
31
+ :remaining_billing_cycles, :po_number, :created_at, :started_at, :activated_at, :gift_id, :override_relationship,
32
+ :pause_date, :resume_date, :cancelled_at, :cancel_reason, :affiliate_token, :created_from_ip,
33
+ :resource_version, :updated_at, :has_scheduled_changes, :payment_source_id, :auto_collection,
34
+ :due_invoices_count, :due_since, :total_dues, :mrr, :exchange_rate, :base_currency_code, :addons,
35
+ :event_based_addons, :charged_event_based_addons, :coupon, :coupons, :shipping_address, :referral_info,
36
+ :invoice_notes, :meta_data, :deleted
37
+
38
+ # OPERATIONS
39
+ #-----------
40
+
41
+ def self.create(params, env=nil, headers={})
42
+ Request.send('post', uri_path("subscriptions"), params, env, headers)
43
+ end
44
+
45
+ def self.create_for_customer(id, params, env=nil, headers={})
46
+ Request.send('post', uri_path("customers",id.to_s,"subscriptions"), params, env, headers)
47
+ end
48
+
49
+ def self.list(params={}, env=nil, headers={})
50
+ Request.send_list_request('get', uri_path("subscriptions"), params, env, headers)
51
+ end
52
+
53
+ def self.subscriptions_for_customer(id, params={}, env=nil, headers={})
54
+ Request.send('get', uri_path("customers",id.to_s,"subscriptions"), params, env, headers)
55
+ end
56
+
57
+ def self.retrieve(id, env=nil, headers={})
58
+ Request.send('get', uri_path("subscriptions",id.to_s), {}, env, headers)
59
+ end
60
+
61
+ def self.retrieve_with_scheduled_changes(id, env=nil, headers={})
62
+ Request.send('get', uri_path("subscriptions",id.to_s,"retrieve_with_scheduled_changes"), {}, env, headers)
63
+ end
64
+
65
+ def self.remove_scheduled_changes(id, env=nil, headers={})
66
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_changes"), {}, env, headers)
67
+ end
68
+
69
+ def self.remove_scheduled_cancellation(id, params={}, env=nil, headers={})
70
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_cancellation"), params, env, headers)
71
+ end
72
+
73
+ def self.remove_coupons(id, params={}, env=nil, headers={})
74
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_coupons"), params, env, headers)
75
+ end
76
+
77
+ def self.update(id, params={}, env=nil, headers={})
78
+ Request.send('post', uri_path("subscriptions",id.to_s), params, env, headers)
79
+ end
80
+
81
+ def self.change_term_end(id, params, env=nil, headers={})
82
+ Request.send('post', uri_path("subscriptions",id.to_s,"change_term_end"), params, env, headers)
83
+ end
84
+
85
+ def self.cancel(id, params={}, env=nil, headers={})
86
+ Request.send('post', uri_path("subscriptions",id.to_s,"cancel"), params, env, headers)
87
+ end
88
+
89
+ def self.reactivate(id, params={}, env=nil, headers={})
90
+ Request.send('post', uri_path("subscriptions",id.to_s,"reactivate"), params, env, headers)
91
+ end
92
+
93
+ def self.add_charge_at_term_end(id, params, env=nil, headers={})
94
+ Request.send('post', uri_path("subscriptions",id.to_s,"add_charge_at_term_end"), params, env, headers)
95
+ end
96
+
97
+ def self.charge_addon_at_term_end(id, params, env=nil, headers={})
98
+ Request.send('post', uri_path("subscriptions",id.to_s,"charge_addon_at_term_end"), params, env, headers)
99
+ end
100
+
101
+ def self.charge_future_renewals(id, params={}, env=nil, headers={})
102
+ Request.send('post', uri_path("subscriptions",id.to_s,"charge_future_renewals"), params, env, headers)
103
+ end
104
+
105
+ def self.import_subscription(params, env=nil, headers={})
106
+ Request.send('post', uri_path("subscriptions","import_subscription"), params, env, headers)
107
+ end
108
+
109
+ def self.import_for_customer(id, params, env=nil, headers={})
110
+ Request.send('post', uri_path("customers",id.to_s,"import_subscription"), params, env, headers)
111
+ end
112
+
113
+ def self.override_billing_profile(id, params={}, env=nil, headers={})
114
+ Request.send('post', uri_path("subscriptions",id.to_s,"override_billing_profile"), params, env, headers)
115
+ end
116
+
117
+ def self.delete(id, env=nil, headers={})
118
+ Request.send('post', uri_path("subscriptions",id.to_s,"delete"), {}, env, headers)
119
+ end
120
+
121
+ def self.pause(id, params={}, env=nil, headers={})
122
+ Request.send('post', uri_path("subscriptions",id.to_s,"pause"), params, env, headers)
123
+ end
124
+
125
+ def self.resume(id, params={}, env=nil, headers={})
126
+ Request.send('post', uri_path("subscriptions",id.to_s,"resume"), params, env, headers)
127
+ end
128
+
129
+ def self.remove_scheduled_pause(id, env=nil, headers={})
130
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_pause"), {}, env, headers)
131
+ end
132
+
133
+ def self.remove_scheduled_resumption(id, env=nil, headers={})
134
+ Request.send('post', uri_path("subscriptions",id.to_s,"remove_scheduled_resumption"), {}, env, headers)
135
+ end
136
+
137
+ end # ~Subscription
138
138
  end # ~ChargeBee
@@ -1,14 +1,14 @@
1
- module ChargeBee
2
- class SubscriptionEstimate < Model
3
-
4
- class ShippingAddress < Model
5
- attr_accessor :first_name, :last_name, :email, :company, :phone, :line1, :line2, :line3, :city, :state_code, :state, :country, :zip, :validation_status
6
- end
7
-
8
- attr_accessor :id, :currency_code, :status, :next_billing_at, :pause_date, :resume_date, :shipping_address
9
-
10
- # OPERATIONS
11
- #-----------
12
-
13
- end # ~SubscriptionEstimate
1
+ module ChargeBee
2
+ class SubscriptionEstimate < Model
3
+
4
+ class ShippingAddress < Model
5
+ attr_accessor :first_name, :last_name, :email, :company, :phone, :line1, :line2, :line3, :city, :state_code, :state, :country, :zip, :validation_status
6
+ end
7
+
8
+ attr_accessor :id, :currency_code, :status, :next_billing_at, :pause_date, :resume_date, :shipping_address
9
+
10
+ # OPERATIONS
11
+ #-----------
12
+
13
+ end # ~SubscriptionEstimate
14
14
  end # ~ChargeBee
@@ -1,10 +1,10 @@
1
- module ChargeBee
2
- class ThirdPartyPaymentMethod < Model
3
-
4
- attr_accessor :type, :gateway, :gateway_account_id, :reference_id
5
-
6
- # OPERATIONS
7
- #-----------
8
-
9
- end # ~ThirdPartyPaymentMethod
1
+ module ChargeBee
2
+ class ThirdPartyPaymentMethod < Model
3
+
4
+ attr_accessor :type, :gateway, :gateway_account_id, :reference_id
5
+
6
+ # OPERATIONS
7
+ #-----------
8
+
9
+ end # ~ThirdPartyPaymentMethod
10
10
  end # ~ChargeBee
@@ -1,47 +1,47 @@
1
- module ChargeBee
2
- class TimeMachine < Model
3
-
4
- attr_accessor :name, :time_travel_status, :genesis_time, :destination_time, :failure_code, :failure_reason,
5
- :error_json
6
- def wait_for_time_travel_completion(env = nil)
7
- env = env || ChargeBee.default_env
8
- sleeptime = env.time_machine_sleeptime
9
-
10
- tm = (1..30).inject(self) do |time_machine|
11
- break time_machine if time_machine.time_travel_status != "in_progress"
12
- sleep(sleeptime)
13
- self.class.retrieve(self.name, env).time_machine
14
- end
15
-
16
- # sync last fetched one with the current instance
17
- new_values = tm.instance_variable_get("@values")
18
- self.instance_variable_set("@values", new_values)
19
- self.load(new_values)
20
-
21
- case tm.time_travel_status
22
- when "in_progress"
23
- raise Error.new('The time travel is taking too much time')
24
- when "failed"
25
- json_obj = Util.symbolize_keys(JSON.parse(self.error_json))
26
- raise OperationFailedError.new(json_obj[:http_code], json_obj)
27
- when "not_enabled", "_unknown"
28
- raise Error.new("Time travel status is in wrong state #{self.time_travel_status}")
29
- end
30
- end
31
- # OPERATIONS
32
- #-----------
33
-
34
- def self.retrieve(id, env=nil, headers={})
35
- Request.send('get', uri_path("time_machines",id.to_s), {}, env, headers)
36
- end
37
-
38
- def self.start_afresh(id, params={}, env=nil, headers={})
39
- Request.send('post', uri_path("time_machines",id.to_s,"start_afresh"), params, env, headers)
40
- end
41
-
42
- def self.travel_forward(id, params={}, env=nil, headers={})
43
- Request.send('post', uri_path("time_machines",id.to_s,"travel_forward"), params, env, headers)
44
- end
45
-
46
- end # ~TimeMachine
1
+ module ChargeBee
2
+ class TimeMachine < Model
3
+
4
+ attr_accessor :name, :time_travel_status, :genesis_time, :destination_time, :failure_code, :failure_reason,
5
+ :error_json
6
+ def wait_for_time_travel_completion(env = nil)
7
+ env = env || ChargeBee.default_env
8
+ sleeptime = env.time_machine_sleeptime
9
+
10
+ tm = (1..30).inject(self) do |time_machine|
11
+ break time_machine if time_machine.time_travel_status != "in_progress"
12
+ sleep(sleeptime)
13
+ self.class.retrieve(self.name, env).time_machine
14
+ end
15
+
16
+ # sync last fetched one with the current instance
17
+ new_values = tm.instance_variable_get("@values")
18
+ self.instance_variable_set("@values", new_values)
19
+ self.load(new_values)
20
+
21
+ case tm.time_travel_status
22
+ when "in_progress"
23
+ raise Error.new('The time travel is taking too much time')
24
+ when "failed"
25
+ json_obj = Util.symbolize_keys(JSON.parse(self.error_json))
26
+ raise OperationFailedError.new(json_obj[:http_code], json_obj)
27
+ when "not_enabled", "_unknown"
28
+ raise Error.new("Time travel status is in wrong state #{self.time_travel_status}")
29
+ end
30
+ end
31
+ # OPERATIONS
32
+ #-----------
33
+
34
+ def self.retrieve(id, env=nil, headers={})
35
+ Request.send('get', uri_path("time_machines",id.to_s), {}, env, headers)
36
+ end
37
+
38
+ def self.start_afresh(id, params={}, env=nil, headers={})
39
+ Request.send('post', uri_path("time_machines",id.to_s,"start_afresh"), params, env, headers)
40
+ end
41
+
42
+ def self.travel_forward(id, params={}, env=nil, headers={})
43
+ Request.send('post', uri_path("time_machines",id.to_s,"travel_forward"), params, env, headers)
44
+ end
45
+
46
+ end # ~TimeMachine
47
47
  end # ~ChargeBee
@@ -0,0 +1,11 @@
1
+ module ChargeBee
2
+ class Token < Model
3
+
4
+ attr_accessor :id, :gateway, :gateway_account_id, :payment_method_type, :status, :id_at_vault,
5
+ :vault, :ip_address, :created_at, :expired_at
6
+
7
+ # OPERATIONS
8
+ #-----------
9
+
10
+ end # ~Token
11
+ end # ~ChargeBee
@@ -1,63 +1,63 @@
1
- module ChargeBee
2
- class Transaction < Model
3
-
4
- class LinkedInvoice < Model
5
- attr_accessor :invoice_id, :applied_amount, :applied_at, :invoice_date, :invoice_total, :invoice_status
6
- end
7
-
8
- class LinkedCreditNote < Model
9
- attr_accessor :cn_id, :applied_amount, :applied_at, :cn_reason_code, :cn_date, :cn_total, :cn_status, :cn_reference_invoice_id
10
- end
11
-
12
- class LinkedRefund < Model
13
- attr_accessor :txn_id, :txn_status, :txn_date, :txn_amount
14
- end
15
-
16
- class LinkedPayment < Model
17
- attr_accessor :id, :status, :amount, :date
18
- end
19
-
20
- attr_accessor :id, :customer_id, :subscription_id, :gateway_account_id, :payment_source_id,
21
- :payment_method, :reference_number, :gateway, :type, :date, :settled_at, :currency_code, :amount,
22
- :id_at_gateway, :status, :fraud_flag, :authorization_reason, :error_code, :error_text, :voided_at,
23
- :resource_version, :updated_at, :fraud_reason, :amount_unused, :masked_card_number, :reference_transaction_id,
24
- :refunded_txn_id, :reference_authorization_id, :amount_capturable, :reversal_transaction_id,
25
- :linked_invoices, :linked_credit_notes, :linked_refunds, :linked_payments, :deleted
26
-
27
- # OPERATIONS
28
- #-----------
29
-
30
- def self.create_authorization(params, env=nil, headers={})
31
- Request.send('post', uri_path("transactions","create_authorization"), params, env, headers)
32
- end
33
-
34
- def self.void_transaction(id, env=nil, headers={})
35
- Request.send('post', uri_path("transactions",id.to_s,"void"), {}, env, headers)
36
- end
37
-
38
- def self.list(params={}, env=nil, headers={})
39
- Request.send_list_request('get', uri_path("transactions"), params, env, headers)
40
- end
41
-
42
- def self.transactions_for_customer(id, params={}, env=nil, headers={})
43
- Request.send('get', uri_path("customers",id.to_s,"transactions"), params, env, headers)
44
- end
45
-
46
- def self.transactions_for_subscription(id, params={}, env=nil, headers={})
47
- Request.send('get', uri_path("subscriptions",id.to_s,"transactions"), params, env, headers)
48
- end
49
-
50
- def self.payments_for_invoice(id, params={}, env=nil, headers={})
51
- Request.send('get', uri_path("invoices",id.to_s,"payments"), params, env, headers)
52
- end
53
-
54
- def self.retrieve(id, env=nil, headers={})
55
- Request.send('get', uri_path("transactions",id.to_s), {}, env, headers)
56
- end
57
-
58
- def self.delete_offline_transaction(id, params={}, env=nil, headers={})
59
- Request.send('post', uri_path("transactions",id.to_s,"delete_offline_transaction"), params, env, headers)
60
- end
61
-
62
- end # ~Transaction
1
+ module ChargeBee
2
+ class Transaction < Model
3
+
4
+ class LinkedInvoice < Model
5
+ attr_accessor :invoice_id, :applied_amount, :applied_at, :invoice_date, :invoice_total, :invoice_status
6
+ end
7
+
8
+ class LinkedCreditNote < Model
9
+ attr_accessor :cn_id, :applied_amount, :applied_at, :cn_reason_code, :cn_date, :cn_total, :cn_status, :cn_reference_invoice_id
10
+ end
11
+
12
+ class LinkedRefund < Model
13
+ attr_accessor :txn_id, :txn_status, :txn_date, :txn_amount
14
+ end
15
+
16
+ class LinkedPayment < Model
17
+ attr_accessor :id, :status, :amount, :date
18
+ end
19
+
20
+ attr_accessor :id, :customer_id, :subscription_id, :gateway_account_id, :payment_source_id,
21
+ :payment_method, :reference_number, :gateway, :type, :date, :settled_at, :currency_code, :amount,
22
+ :id_at_gateway, :status, :fraud_flag, :authorization_reason, :error_code, :error_text, :voided_at,
23
+ :resource_version, :updated_at, :fraud_reason, :amount_unused, :masked_card_number, :reference_transaction_id,
24
+ :refunded_txn_id, :reference_authorization_id, :amount_capturable, :reversal_transaction_id,
25
+ :linked_invoices, :linked_credit_notes, :linked_refunds, :linked_payments, :deleted
26
+
27
+ # OPERATIONS
28
+ #-----------
29
+
30
+ def self.create_authorization(params, env=nil, headers={})
31
+ Request.send('post', uri_path("transactions","create_authorization"), params, env, headers)
32
+ end
33
+
34
+ def self.void_transaction(id, env=nil, headers={})
35
+ Request.send('post', uri_path("transactions",id.to_s,"void"), {}, env, headers)
36
+ end
37
+
38
+ def self.list(params={}, env=nil, headers={})
39
+ Request.send_list_request('get', uri_path("transactions"), params, env, headers)
40
+ end
41
+
42
+ def self.transactions_for_customer(id, params={}, env=nil, headers={})
43
+ Request.send('get', uri_path("customers",id.to_s,"transactions"), params, env, headers)
44
+ end
45
+
46
+ def self.transactions_for_subscription(id, params={}, env=nil, headers={})
47
+ Request.send('get', uri_path("subscriptions",id.to_s,"transactions"), params, env, headers)
48
+ end
49
+
50
+ def self.payments_for_invoice(id, params={}, env=nil, headers={})
51
+ Request.send('get', uri_path("invoices",id.to_s,"payments"), params, env, headers)
52
+ end
53
+
54
+ def self.retrieve(id, env=nil, headers={})
55
+ Request.send('get', uri_path("transactions",id.to_s), {}, env, headers)
56
+ end
57
+
58
+ def self.delete_offline_transaction(id, params={}, env=nil, headers={})
59
+ Request.send('post', uri_path("transactions",id.to_s,"delete_offline_transaction"), params, env, headers)
60
+ end
61
+
62
+ end # ~Transaction
63
63
  end # ~ChargeBee