chargebee 2.56.0 → 2.57.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +1 -1
- data/README.md +52 -0
- data/chargebee.gemspec +3 -2
- data/lib/chargebee/environment.rb +14 -8
- data/lib/chargebee/models/addon.rb +24 -7
- data/lib/chargebee/models/address.rb +6 -2
- data/lib/chargebee/models/attached_item.rb +16 -5
- data/lib/chargebee/models/business_entity.rb +6 -2
- data/lib/chargebee/models/card.rb +18 -5
- data/lib/chargebee/models/comment.rb +12 -4
- data/lib/chargebee/models/configuration.rb +2 -1
- data/lib/chargebee/models/coupon.rb +32 -9
- data/lib/chargebee/models/coupon_code.rb +12 -4
- data/lib/chargebee/models/coupon_set.rb +24 -7
- data/lib/chargebee/models/credit_note.rb +63 -29
- data/lib/chargebee/models/currency.rb +20 -6
- data/lib/chargebee/models/customer.rb +92 -25
- data/lib/chargebee/models/customer_entitlement.rb +2 -1
- data/lib/chargebee/models/differential_price.rb +16 -5
- data/lib/chargebee/models/entitlement.rb +6 -2
- data/lib/chargebee/models/entitlement_override.rb +6 -2
- data/lib/chargebee/models/estimate.rb +42 -20
- data/lib/chargebee/models/event.rb +7 -5
- data/lib/chargebee/models/export.rb +70 -18
- data/lib/chargebee/models/feature.rb +28 -8
- data/lib/chargebee/models/gift.rb +24 -7
- data/lib/chargebee/models/hosted_page.rb +107 -45
- data/lib/chargebee/models/in_app_subscription.rb +16 -4
- data/lib/chargebee/models/invoice.rb +187 -81
- data/lib/chargebee/models/item.rb +16 -5
- data/lib/chargebee/models/item_entitlement.rb +12 -4
- data/lib/chargebee/models/item_family.rb +16 -5
- data/lib/chargebee/models/item_price.rb +20 -7
- data/lib/chargebee/models/non_subscription.rb +4 -1
- data/lib/chargebee/models/omnichannel_subscription.rb +6 -3
- data/lib/chargebee/models/omnichannel_subscription_item.rb +2 -1
- data/lib/chargebee/models/order.rb +42 -12
- data/lib/chargebee/models/payment_intent.rb +10 -3
- data/lib/chargebee/models/payment_schedule_scheme.rb +10 -3
- data/lib/chargebee/models/payment_source.rb +60 -16
- data/lib/chargebee/models/payment_voucher.rb +10 -4
- data/lib/chargebee/models/plan.rb +24 -7
- data/lib/chargebee/models/portal_session.rb +14 -4
- data/lib/chargebee/models/price_variant.rb +16 -5
- data/lib/chargebee/models/pricing_page_session.rb +8 -2
- data/lib/chargebee/models/promotional_credit.rb +16 -5
- data/lib/chargebee/models/purchase.rb +6 -2
- data/lib/chargebee/models/quote.rb +74 -20
- data/lib/chargebee/models/ramp.rb +16 -5
- data/lib/chargebee/models/recorded_purchase.rb +6 -2
- data/lib/chargebee/models/resource_migration.rb +2 -1
- data/lib/chargebee/models/rule.rb +2 -1
- data/lib/chargebee/models/site_migration_detail.rb +2 -1
- data/lib/chargebee/models/subscription.rb +134 -37
- data/lib/chargebee/models/subscription_entitlement.rb +6 -2
- data/lib/chargebee/models/time_machine.rb +10 -3
- data/lib/chargebee/models/transaction.rb +34 -11
- data/lib/chargebee/models/unbilled_charge.rb +20 -6
- data/lib/chargebee/models/usage.rb +16 -5
- data/lib/chargebee/models/usage_event.rb +4 -2
- data/lib/chargebee/models/usage_file.rb +4 -2
- data/lib/chargebee/models/virtual_bank_account.rb +20 -6
- data/lib/chargebee/nativeRequest.rb +118 -63
- data/lib/chargebee/request.rb +4 -4
- data/lib/chargebee.rb +1 -1
- data/spec/chargebee/list_result_spec.rb +1 -1
- data/spec/chargebee/native_request_spec.rb +199 -0
- data/spec/spec_helper.rb +3 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf1336f15a71cb02ff2fa6141accef71818af3a6
|
4
|
+
data.tar.gz: 62eda545b0a3b114883c07c9bc2c68df5bbc518e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f860d22e73d44c8d173adf78a88c5c86e02c05c6279f20fb8f2d7eb80000c4f031ac722430fa12a07bcc69e73c4ef41b7df1040a68c78c21d77cbc43293a0d2
|
7
|
+
data.tar.gz: 118bc7a4a9ba25db7bf9e67848b5caa0d867679875b234059307ff4a7c96c5e3d62fb0bd6d4d026e853310d9e59a5f0442b99ebf0aeefa759e87b43aa201b7b6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
### v2.57.0 (2025-06-23)
|
2
|
+
* * *
|
3
|
+
|
4
|
+
### New Features
|
5
|
+
* Added built-in retry support for handling transient errors and rate-limiting.
|
6
|
+
* Retries are now supported for HTTP status codes 500, 502, 503, 504, and 429.
|
7
|
+
* Includes exponential backoff for server errors and Retry-After respect for rate limits (429).
|
8
|
+
* Configurable via retryConfig during SDK initialization.
|
9
|
+
|
1
10
|
### v2.56.0 (2025-06-19)
|
2
11
|
* * *
|
3
12
|
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -73,6 +73,58 @@ puts(idempotencyReplayedValue)
|
|
73
73
|
```
|
74
74
|
`is_idempotency_replayed` method can be accessed to differentiate between original and replayed requests.
|
75
75
|
|
76
|
+
|
77
|
+
### Retry Handling
|
78
|
+
|
79
|
+
Chargebee's SDK includes built-in retry logic to handle temporary network issues and server-side errors. This feature is **disabled by default** but can be **enabled when needed**.
|
80
|
+
|
81
|
+
#### Key features include:
|
82
|
+
|
83
|
+
- **Automatic retries for specific HTTP status codes**: Retries are automatically triggered for status codes `500`, `502`, `503`, and `504`.
|
84
|
+
- **Exponential backoff**: Retry delays increase exponentially to prevent overwhelming the server.
|
85
|
+
- **Rate limit management**: If a `429 Too Many Requests` response is received with a `Retry-After` header, the SDK waits for the specified duration before retrying.
|
86
|
+
> *Note: Exponential backoff and max retries do not apply in this case.*
|
87
|
+
- **Customizable retry behavior**: Retry logic can be configured using the `retryConfig` parameter in the environment configuration.
|
88
|
+
|
89
|
+
#### Example: Customizing Retry Logic
|
90
|
+
|
91
|
+
You can enable and configure the retry logic by passing a `retryConfig` object when initializing the Chargebee environment:
|
92
|
+
|
93
|
+
```ruby
|
94
|
+
require 'chargebee'
|
95
|
+
ChargeBee.configure({:api_key => "your_api_key" , :site => "your_site"})
|
96
|
+
|
97
|
+
# Set comprehensive retry configuration
|
98
|
+
ChargeBee::default_env.retry_config = {
|
99
|
+
enabled: true,
|
100
|
+
max_retries: 1,
|
101
|
+
delay_ms: 2000,
|
102
|
+
retry_on: [500]
|
103
|
+
}
|
104
|
+
|
105
|
+
# ... your Chargebee API operations ...
|
106
|
+
|
107
|
+
```
|
108
|
+
|
109
|
+
#### Example: Rate Limit retry logic
|
110
|
+
|
111
|
+
You can enable and configure the retry logic for rate-limit by passing a `retryConfig` object when initializing the Chargebee environment:
|
112
|
+
|
113
|
+
```ruby
|
114
|
+
require 'chargebee'
|
115
|
+
ChargeBee.configure({:api_key => "your_api_key" , :site => "your_site"})
|
116
|
+
|
117
|
+
# Set comprehensive retry configuration
|
118
|
+
ChargeBee::default_env.retry_config = {
|
119
|
+
enabled: true,
|
120
|
+
max_retries: 1,
|
121
|
+
delay_ms: 1000,
|
122
|
+
retry_on: [429]
|
123
|
+
}
|
124
|
+
|
125
|
+
# ... your Chargebee API operations ...
|
126
|
+
```
|
127
|
+
|
76
128
|
## License
|
77
129
|
|
78
130
|
See the LICENSE file.
|
data/chargebee.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
s.required_ruby_version = '>= 1.9.3'
|
6
6
|
s.name = 'chargebee'
|
7
|
-
s.version = '2.
|
8
|
-
s.date = '2025-06-
|
7
|
+
s.version = '2.57.0'
|
8
|
+
s.date = '2025-06-23'
|
9
9
|
s.summary = "Ruby client for Chargebee API."
|
10
10
|
s.description = "Subscription Billing - Simple. Secure. Affordable. More details at www.chargebee.com."
|
11
11
|
s.metadata = {
|
@@ -135,6 +135,7 @@ Gem::Specification.new do |s|
|
|
135
135
|
lib/chargebee/util.rb
|
136
136
|
lib/ssl/ca-certs.crt
|
137
137
|
spec/chargebee/list_result_spec.rb
|
138
|
+
spec/chargebee/native_request_spec.rb
|
138
139
|
spec/chargebee_spec.rb
|
139
140
|
spec/errors_spec.rb
|
140
141
|
spec/sample_response.rb
|
@@ -10,6 +10,9 @@ module ChargeBee
|
|
10
10
|
attr_accessor :api_key, :site, :time_machine_sleeptime, :export_sleeptime, :connect_timeout, :read_timeout
|
11
11
|
attr_reader :api_endpoint
|
12
12
|
|
13
|
+
# Add retry_config and enable_debug_logs
|
14
|
+
attr_accessor :retry_config, :enable_debug_logs
|
15
|
+
|
13
16
|
def initialize(options)
|
14
17
|
options[:time_machine_sleeptime] ||= TIME_MACHINE_TIMEOUT
|
15
18
|
options[:export_sleeptime] ||= EXPORT_TIMEOUT
|
@@ -18,6 +21,8 @@ module ChargeBee
|
|
18
21
|
[:api_key, :site, :time_machine_sleeptime, :export_sleeptime, :connect_timeout, :read_timeout].each do |attr|
|
19
22
|
instance_variable_set "@#{attr}", options[attr]
|
20
23
|
end
|
24
|
+
@retry_config = options[:retry_config]
|
25
|
+
@enable_debug_logs = options[:enable_debug_logs] || false
|
21
26
|
if($CHARGEBEE_DOMAIN == nil)
|
22
27
|
@api_endpoint = "https://#{@site}.chargebee.com/api/#{API_VERSION}"
|
23
28
|
else
|
@@ -25,15 +30,16 @@ module ChargeBee
|
|
25
30
|
end
|
26
31
|
end
|
27
32
|
|
28
|
-
def api_url(url, sub_domain=nil)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
33
|
+
def api_url(url, sub_domain = nil)
|
34
|
+
protocol = $ENV_PROTOCOL || "https"
|
35
|
+
domain = $CHARGEBEE_DOMAIN || "chargebee.com"
|
36
|
+
|
37
|
+
if sub_domain
|
38
|
+
@api_endpoint = "#{protocol}://#{@site}.#{sub_domain}.#{domain}/api/#{API_VERSION}"
|
39
|
+
else
|
40
|
+
@api_endpoint = "#{protocol}://#{@site}.#{domain}/api/#{API_VERSION}"
|
35
41
|
end
|
36
|
-
|
42
|
+
@api_endpoint + url
|
37
43
|
end
|
38
44
|
end
|
39
45
|
end
|
@@ -25,44 +25,61 @@ module ChargeBee
|
|
25
25
|
jsonKeys = {
|
26
26
|
:meta_data => 0,
|
27
27
|
}
|
28
|
-
|
28
|
+
options = {
|
29
|
+
:isIdempotent => true
|
30
|
+
}
|
31
|
+
Request.send('post', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options)
|
29
32
|
end
|
30
33
|
|
31
34
|
def self.update(id, params, env=nil, headers={})
|
32
35
|
jsonKeys = {
|
33
36
|
:meta_data => 0,
|
34
37
|
}
|
35
|
-
|
38
|
+
options = {
|
39
|
+
:isIdempotent => true
|
40
|
+
}
|
41
|
+
Request.send('post', uri_path("addons",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
36
42
|
end
|
37
43
|
|
38
44
|
def self.list(params={}, env=nil, headers={})
|
39
45
|
jsonKeys = {
|
40
46
|
}
|
41
|
-
|
47
|
+
options = {}
|
48
|
+
Request.send_list_request('get', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options)
|
42
49
|
end
|
43
50
|
|
44
51
|
def self.retrieve(id, env=nil, headers={})
|
45
52
|
jsonKeys = {
|
46
53
|
}
|
47
|
-
|
54
|
+
options = {}
|
55
|
+
Request.send('get', uri_path("addons",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
48
56
|
end
|
49
57
|
|
50
58
|
def self.delete(id, env=nil, headers={})
|
51
59
|
jsonKeys = {
|
52
60
|
}
|
53
|
-
|
61
|
+
options = {
|
62
|
+
:isIdempotent => true
|
63
|
+
}
|
64
|
+
Request.send('post', uri_path("addons",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
54
65
|
end
|
55
66
|
|
56
67
|
def self.copy(params, env=nil, headers={})
|
57
68
|
jsonKeys = {
|
58
69
|
}
|
59
|
-
|
70
|
+
options = {
|
71
|
+
:isIdempotent => true
|
72
|
+
}
|
73
|
+
Request.send('post', uri_path("addons","copy"), params, env, headers,nil, false, jsonKeys, options)
|
60
74
|
end
|
61
75
|
|
62
76
|
def self.unarchive(id, env=nil, headers={})
|
63
77
|
jsonKeys = {
|
64
78
|
}
|
65
|
-
|
79
|
+
options = {
|
80
|
+
:isIdempotent => true
|
81
|
+
}
|
82
|
+
Request.send('post', uri_path("addons",id.to_s,"unarchive"), {}, env, headers,nil, false, jsonKeys, options)
|
66
83
|
end
|
67
84
|
|
68
85
|
end # ~Addon
|
@@ -10,13 +10,17 @@ module ChargeBee
|
|
10
10
|
def self.retrieve(params, env=nil, headers={})
|
11
11
|
jsonKeys = {
|
12
12
|
}
|
13
|
-
|
13
|
+
options = {}
|
14
|
+
Request.send('get', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options)
|
14
15
|
end
|
15
16
|
|
16
17
|
def self.update(params, env=nil, headers={})
|
17
18
|
jsonKeys = {
|
18
19
|
}
|
19
|
-
|
20
|
+
options = {
|
21
|
+
:isIdempotent => true
|
22
|
+
}
|
23
|
+
Request.send('post', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options)
|
20
24
|
end
|
21
25
|
|
22
26
|
end # ~Address
|
@@ -11,31 +11,42 @@ module ChargeBee
|
|
11
11
|
def self.create(id, params, env=nil, headers={})
|
12
12
|
jsonKeys = {
|
13
13
|
}
|
14
|
-
|
14
|
+
options = {
|
15
|
+
:isIdempotent => true
|
16
|
+
}
|
17
|
+
Request.send('post', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options)
|
15
18
|
end
|
16
19
|
|
17
20
|
def self.update(id, params, env=nil, headers={})
|
18
21
|
jsonKeys = {
|
19
22
|
}
|
20
|
-
|
23
|
+
options = {
|
24
|
+
:isIdempotent => true
|
25
|
+
}
|
26
|
+
Request.send('post', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
21
27
|
end
|
22
28
|
|
23
29
|
def self.retrieve(id, params, env=nil, headers={})
|
24
30
|
jsonKeys = {
|
25
31
|
}
|
26
|
-
|
32
|
+
options = {}
|
33
|
+
Request.send('get', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
27
34
|
end
|
28
35
|
|
29
36
|
def self.delete(id, params, env=nil, headers={})
|
30
37
|
jsonKeys = {
|
31
38
|
}
|
32
|
-
|
39
|
+
options = {
|
40
|
+
:isIdempotent => true
|
41
|
+
}
|
42
|
+
Request.send('post', uri_path("attached_items",id.to_s,"delete"), params, env, headers,nil, false, jsonKeys, options)
|
33
43
|
end
|
34
44
|
|
35
45
|
def self.list(id, params={}, env=nil, headers={})
|
36
46
|
jsonKeys = {
|
37
47
|
}
|
38
|
-
|
48
|
+
options = {}
|
49
|
+
Request.send_list_request('get', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options)
|
39
50
|
end
|
40
51
|
|
41
52
|
end # ~AttachedItem
|
@@ -9,13 +9,17 @@ module ChargeBee
|
|
9
9
|
def self.create_transfers(params, env=nil, headers={})
|
10
10
|
jsonKeys = {
|
11
11
|
}
|
12
|
-
|
12
|
+
options = {
|
13
|
+
:isIdempotent => true
|
14
|
+
}
|
15
|
+
Request.send('post', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options)
|
13
16
|
end
|
14
17
|
|
15
18
|
def self.get_transfers(params={}, env=nil, headers={})
|
16
19
|
jsonKeys = {
|
17
20
|
}
|
18
|
-
|
21
|
+
options = {}
|
22
|
+
Request.send('get', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options)
|
19
23
|
end
|
20
24
|
|
21
25
|
end # ~BusinessEntity
|
@@ -13,31 +13,44 @@ module ChargeBee
|
|
13
13
|
def self.retrieve(id, env=nil, headers={})
|
14
14
|
jsonKeys = {
|
15
15
|
}
|
16
|
-
|
16
|
+
options = {}
|
17
|
+
Request.send('get', uri_path("cards",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
17
18
|
end
|
18
19
|
|
19
20
|
def self.update_card_for_customer(id, params, env=nil, headers={})
|
20
21
|
jsonKeys = {
|
21
22
|
}
|
22
|
-
|
23
|
+
options = {
|
24
|
+
:isIdempotent => true
|
25
|
+
}
|
26
|
+
Request.send('post', uri_path("customers",id.to_s,"credit_card"), params, env, headers,nil, false, jsonKeys, options)
|
23
27
|
end
|
24
28
|
|
25
29
|
def self.switch_gateway_for_customer(id, params, env=nil, headers={})
|
26
30
|
jsonKeys = {
|
27
31
|
}
|
28
|
-
|
32
|
+
options = {
|
33
|
+
:isIdempotent => true
|
34
|
+
}
|
35
|
+
Request.send('post', uri_path("customers",id.to_s,"switch_gateway"), params, env, headers,nil, false, jsonKeys, options)
|
29
36
|
end
|
30
37
|
|
31
38
|
def self.copy_card_for_customer(id, params, env=nil, headers={})
|
32
39
|
jsonKeys = {
|
33
40
|
}
|
34
|
-
|
41
|
+
options = {
|
42
|
+
:isIdempotent => true
|
43
|
+
}
|
44
|
+
Request.send('post', uri_path("customers",id.to_s,"copy_card"), params, env, headers,nil, false, jsonKeys, options)
|
35
45
|
end
|
36
46
|
|
37
47
|
def self.delete_card_for_customer(id, env=nil, headers={})
|
38
48
|
jsonKeys = {
|
39
49
|
}
|
40
|
-
|
50
|
+
options = {
|
51
|
+
:isIdempotent => true
|
52
|
+
}
|
53
|
+
Request.send('post', uri_path("customers",id.to_s,"delete_card"), {}, env, headers,nil, false, jsonKeys, options)
|
41
54
|
end
|
42
55
|
|
43
56
|
end # ~Card
|
@@ -9,25 +9,33 @@ module ChargeBee
|
|
9
9
|
def self.create(params, env=nil, headers={})
|
10
10
|
jsonKeys = {
|
11
11
|
}
|
12
|
-
|
12
|
+
options = {
|
13
|
+
:isIdempotent => true
|
14
|
+
}
|
15
|
+
Request.send('post', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options)
|
13
16
|
end
|
14
17
|
|
15
18
|
def self.retrieve(id, env=nil, headers={})
|
16
19
|
jsonKeys = {
|
17
20
|
}
|
18
|
-
|
21
|
+
options = {}
|
22
|
+
Request.send('get', uri_path("comments",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
19
23
|
end
|
20
24
|
|
21
25
|
def self.list(params={}, env=nil, headers={})
|
22
26
|
jsonKeys = {
|
23
27
|
}
|
24
|
-
|
28
|
+
options = {}
|
29
|
+
Request.send_list_request('get', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options)
|
25
30
|
end
|
26
31
|
|
27
32
|
def self.delete(id, env=nil, headers={})
|
28
33
|
jsonKeys = {
|
29
34
|
}
|
30
|
-
|
35
|
+
options = {
|
36
|
+
:isIdempotent => true
|
37
|
+
}
|
38
|
+
Request.send('post', uri_path("comments",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
31
39
|
end
|
32
40
|
|
33
41
|
end # ~Comment
|
@@ -9,7 +9,8 @@ module ChargeBee
|
|
9
9
|
def self.list(env=nil, headers={})
|
10
10
|
jsonKeys = {
|
11
11
|
}
|
12
|
-
|
12
|
+
options = {}
|
13
|
+
Request.send_list_request('get', uri_path("configurations"), {}, env, headers,nil, false, jsonKeys, options)
|
13
14
|
end
|
14
15
|
|
15
16
|
end # ~Configuration
|
@@ -27,7 +27,10 @@ module ChargeBee
|
|
27
27
|
jsonKeys = {
|
28
28
|
:meta_data => 0,
|
29
29
|
}
|
30
|
-
|
30
|
+
options = {
|
31
|
+
:isIdempotent => true
|
32
|
+
}
|
33
|
+
Request.send('post', uri_path("coupons"), params, env, headers,nil, false, jsonKeys, options)
|
31
34
|
end
|
32
35
|
|
33
36
|
def self.create_for_items(params, env=nil, headers={})
|
@@ -38,7 +41,10 @@ module ChargeBee
|
|
38
41
|
:currencies => 1,
|
39
42
|
:item_price_periods => 1,
|
40
43
|
}
|
41
|
-
|
44
|
+
options = {
|
45
|
+
:isIdempotent => true
|
46
|
+
}
|
47
|
+
Request.send('post', uri_path("coupons","create_for_items"), params, env, headers,nil, false, jsonKeys, options)
|
42
48
|
end
|
43
49
|
|
44
50
|
def self.update_for_items(id, params, env=nil, headers={})
|
@@ -49,44 +55,61 @@ module ChargeBee
|
|
49
55
|
:currencies => 1,
|
50
56
|
:item_price_periods => 1,
|
51
57
|
}
|
52
|
-
|
58
|
+
options = {
|
59
|
+
:isIdempotent => true
|
60
|
+
}
|
61
|
+
Request.send('post', uri_path("coupons",id.to_s,"update_for_items"), params, env, headers,nil, false, jsonKeys, options)
|
53
62
|
end
|
54
63
|
|
55
64
|
def self.list(params={}, env=nil, headers={})
|
56
65
|
jsonKeys = {
|
57
66
|
}
|
58
|
-
|
67
|
+
options = {}
|
68
|
+
Request.send_list_request('get', uri_path("coupons"), params, env, headers,nil, false, jsonKeys, options)
|
59
69
|
end
|
60
70
|
|
61
71
|
def self.retrieve(id, env=nil, headers={})
|
62
72
|
jsonKeys = {
|
63
73
|
}
|
64
|
-
|
74
|
+
options = {}
|
75
|
+
Request.send('get', uri_path("coupons",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
65
76
|
end
|
66
77
|
|
67
78
|
def self.update(id, params={}, env=nil, headers={})
|
68
79
|
jsonKeys = {
|
69
80
|
:meta_data => 0,
|
70
81
|
}
|
71
|
-
|
82
|
+
options = {
|
83
|
+
:isIdempotent => true
|
84
|
+
}
|
85
|
+
Request.send('post', uri_path("coupons",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
72
86
|
end
|
73
87
|
|
74
88
|
def self.delete(id, env=nil, headers={})
|
75
89
|
jsonKeys = {
|
76
90
|
}
|
77
|
-
|
91
|
+
options = {
|
92
|
+
:isIdempotent => true
|
93
|
+
}
|
94
|
+
Request.send('post', uri_path("coupons",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
78
95
|
end
|
79
96
|
|
80
97
|
def self.copy(params, env=nil, headers={})
|
81
98
|
jsonKeys = {
|
82
99
|
}
|
83
|
-
|
100
|
+
options = {
|
101
|
+
:isIdempotent => true
|
102
|
+
}
|
103
|
+
Request.send('post', uri_path("coupons","copy"), params, env, headers,nil, false, jsonKeys, options)
|
84
104
|
end
|
85
105
|
|
86
106
|
def self.unarchive(id, env=nil, headers={})
|
87
107
|
jsonKeys = {
|
88
108
|
}
|
89
|
-
|
109
|
+
options = {
|
110
|
+
:isIdempotent => true
|
111
|
+
}
|
112
|
+
Request.send('post', uri_path("coupons",id.to_s,"unarchive"), {}, env, headers,nil, false, jsonKeys, options)
|
90
113
|
end
|
91
114
|
|
92
115
|
end # ~Coupon
|
@@ -9,25 +9,33 @@ module ChargeBee
|
|
9
9
|
def self.create(params, env=nil, headers={})
|
10
10
|
jsonKeys = {
|
11
11
|
}
|
12
|
-
|
12
|
+
options = {
|
13
|
+
:isIdempotent => true
|
14
|
+
}
|
15
|
+
Request.send('post', uri_path("coupon_codes"), params, env, headers,nil, false, jsonKeys, options)
|
13
16
|
end
|
14
17
|
|
15
18
|
def self.retrieve(id, env=nil, headers={})
|
16
19
|
jsonKeys = {
|
17
20
|
}
|
18
|
-
|
21
|
+
options = {}
|
22
|
+
Request.send('get', uri_path("coupon_codes",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
19
23
|
end
|
20
24
|
|
21
25
|
def self.list(params={}, env=nil, headers={})
|
22
26
|
jsonKeys = {
|
23
27
|
}
|
24
|
-
|
28
|
+
options = {}
|
29
|
+
Request.send_list_request('get', uri_path("coupon_codes"), params, env, headers,nil, false, jsonKeys, options)
|
25
30
|
end
|
26
31
|
|
27
32
|
def self.archive(id, env=nil, headers={})
|
28
33
|
jsonKeys = {
|
29
34
|
}
|
30
|
-
|
35
|
+
options = {
|
36
|
+
:isIdempotent => true
|
37
|
+
}
|
38
|
+
Request.send('post', uri_path("coupon_codes",id.to_s,"archive"), {}, env, headers,nil, false, jsonKeys, options)
|
31
39
|
end
|
32
40
|
|
33
41
|
end # ~CouponCode
|
@@ -10,44 +10,61 @@ module ChargeBee
|
|
10
10
|
jsonKeys = {
|
11
11
|
:meta_data => 0,
|
12
12
|
}
|
13
|
-
|
13
|
+
options = {
|
14
|
+
:isIdempotent => true
|
15
|
+
}
|
16
|
+
Request.send('post', uri_path("coupon_sets"), params, env, headers,nil, false, jsonKeys, options)
|
14
17
|
end
|
15
18
|
|
16
19
|
def self.add_coupon_codes(id, params={}, env=nil, headers={})
|
17
20
|
jsonKeys = {
|
18
21
|
}
|
19
|
-
|
22
|
+
options = {
|
23
|
+
:isIdempotent => true
|
24
|
+
}
|
25
|
+
Request.send('post', uri_path("coupon_sets",id.to_s,"add_coupon_codes"), params, env, headers,nil, false, jsonKeys, options)
|
20
26
|
end
|
21
27
|
|
22
28
|
def self.list(params={}, env=nil, headers={})
|
23
29
|
jsonKeys = {
|
24
30
|
}
|
25
|
-
|
31
|
+
options = {}
|
32
|
+
Request.send_list_request('get', uri_path("coupon_sets"), params, env, headers,nil, false, jsonKeys, options)
|
26
33
|
end
|
27
34
|
|
28
35
|
def self.retrieve(id, env=nil, headers={})
|
29
36
|
jsonKeys = {
|
30
37
|
}
|
31
|
-
|
38
|
+
options = {}
|
39
|
+
Request.send('get', uri_path("coupon_sets",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
32
40
|
end
|
33
41
|
|
34
42
|
def self.update(id, params={}, env=nil, headers={})
|
35
43
|
jsonKeys = {
|
36
44
|
:meta_data => 0,
|
37
45
|
}
|
38
|
-
|
46
|
+
options = {
|
47
|
+
:isIdempotent => true
|
48
|
+
}
|
49
|
+
Request.send('post', uri_path("coupon_sets",id.to_s,"update"), params, env, headers,nil, false, jsonKeys, options)
|
39
50
|
end
|
40
51
|
|
41
52
|
def self.delete(id, env=nil, headers={})
|
42
53
|
jsonKeys = {
|
43
54
|
}
|
44
|
-
|
55
|
+
options = {
|
56
|
+
:isIdempotent => true
|
57
|
+
}
|
58
|
+
Request.send('post', uri_path("coupon_sets",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
45
59
|
end
|
46
60
|
|
47
61
|
def self.delete_unused_coupon_codes(id, env=nil, headers={})
|
48
62
|
jsonKeys = {
|
49
63
|
}
|
50
|
-
|
64
|
+
options = {
|
65
|
+
:isIdempotent => true
|
66
|
+
}
|
67
|
+
Request.send('post', uri_path("coupon_sets",id.to_s,"delete_unused_coupon_codes"), {}, env, headers,nil, false, jsonKeys, options)
|
51
68
|
end
|
52
69
|
|
53
70
|
end # ~CouponSet
|