chargebee 2.6.4 → 2.6.6

Sign up to get free protection for your applications and to get access to all the features.
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