recurly 3.9.0 → 3.10.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/.bumpversion.cfg +1 -1
- data/CHANGELOG.md +15 -2
- data/GETTING_STARTED.md +1 -1
- data/lib/recurly/client/operations.rb +360 -56
- data/lib/recurly/errors/api_errors.rb +59 -17
- data/lib/recurly/requests/add_on_create.rb +20 -0
- data/lib/recurly/requests/add_on_update.rb +12 -0
- data/lib/recurly/requests/measured_unit_create.rb +22 -0
- data/lib/recurly/requests/measured_unit_update.rb +22 -0
- data/lib/recurly/requests/subscription_add_on_create.rb +4 -0
- data/lib/recurly/requests/subscription_add_on_update.rb +4 -0
- data/lib/recurly/requests/subscription_purchase.rb +4 -0
- data/lib/recurly/requests/usage_create.rb +26 -0
- data/lib/recurly/resources/add_on.rb +16 -0
- data/lib/recurly/resources/add_on_mini.rb +16 -0
- data/lib/recurly/resources/measured_unit.rb +46 -0
- data/lib/recurly/resources/subscription_add_on.rb +5 -1
- data/lib/recurly/resources/subscription_change.rb +4 -0
- data/lib/recurly/resources/subscription_change_preview.rb +1 -1
- data/lib/recurly/resources/usage.rb +62 -0
- data/lib/recurly/version.rb +1 -1
- data/openapi/api.yaml +1021 -126
- metadata +8 -3
@@ -4,38 +4,80 @@
|
|
4
4
|
# need and we will usher them to the appropriate places.
|
5
5
|
module Recurly
|
6
6
|
module Errors
|
7
|
-
|
7
|
+
ERROR_MAP = {
|
8
|
+
"500" => "InternalServerError",
|
9
|
+
"502" => "BadGatewayError",
|
10
|
+
"503" => "ServiceUnavailableError",
|
11
|
+
"304" => "NotModifiedError",
|
12
|
+
"400" => "BadRequestError",
|
13
|
+
"401" => "UnauthorizedError",
|
14
|
+
"402" => "PaymentRequiredError",
|
15
|
+
"403" => "ForbiddenError",
|
16
|
+
"404" => "NotFoundError",
|
17
|
+
"406" => "NotAcceptableError",
|
18
|
+
"412" => "PreconditionFailedError",
|
19
|
+
"422" => "UnprocessableEntityError",
|
20
|
+
"429" => "TooManyRequestsError",
|
21
|
+
}
|
8
22
|
|
9
|
-
class
|
23
|
+
class ResponseError < Errors::APIError; end
|
10
24
|
|
11
|
-
class
|
25
|
+
class ServerError < ResponseError; end
|
12
26
|
|
13
|
-
class
|
27
|
+
class InternalServerError < ServerError; end
|
14
28
|
|
15
|
-
class
|
29
|
+
class BadGatewayError < ServerError; end
|
16
30
|
|
17
|
-
class
|
31
|
+
class ServiceUnavailableError < ServerError; end
|
18
32
|
|
19
|
-
class
|
33
|
+
class RedirectionError < ResponseError; end
|
20
34
|
|
21
|
-
class
|
35
|
+
class NotModifiedError < ResponseError; end
|
22
36
|
|
23
|
-
class
|
37
|
+
class ClientError < Errors::APIError; end
|
24
38
|
|
25
|
-
class
|
39
|
+
class BadRequestError < ClientError; end
|
26
40
|
|
27
|
-
class
|
41
|
+
class InvalidContentTypeError < BadRequestError; end
|
28
42
|
|
29
|
-
class UnauthorizedError <
|
43
|
+
class UnauthorizedError < ClientError; end
|
30
44
|
|
31
|
-
class
|
45
|
+
class PaymentRequiredError < ClientError; end
|
32
46
|
|
33
|
-
class
|
47
|
+
class ForbiddenError < ClientError; end
|
34
48
|
|
35
|
-
class
|
49
|
+
class InvalidApiKeyError < ForbiddenError; end
|
36
50
|
|
37
|
-
class
|
51
|
+
class InvalidPermissionsError < ForbiddenError; end
|
38
52
|
|
39
|
-
class
|
53
|
+
class NotFoundError < ClientError; end
|
54
|
+
|
55
|
+
class NotAcceptableError < ClientError; end
|
56
|
+
|
57
|
+
class UnknownApiVersionError < NotAcceptableError; end
|
58
|
+
|
59
|
+
class UnavailableInApiVersionError < NotAcceptableError; end
|
60
|
+
|
61
|
+
class InvalidApiVersionError < NotAcceptableError; end
|
62
|
+
|
63
|
+
class PreconditionFailedError < ClientError; end
|
64
|
+
|
65
|
+
class UnprocessableEntityError < ClientError; end
|
66
|
+
|
67
|
+
class ValidationError < UnprocessableEntityError; end
|
68
|
+
|
69
|
+
class MissingFeatureError < UnprocessableEntityError; end
|
70
|
+
|
71
|
+
class TransactionError < UnprocessableEntityError; end
|
72
|
+
|
73
|
+
class SimultaneousRequestError < UnprocessableEntityError; end
|
74
|
+
|
75
|
+
class ImmutableSubscriptionError < UnprocessableEntityError; end
|
76
|
+
|
77
|
+
class InvalidTokenError < UnprocessableEntityError; end
|
78
|
+
|
79
|
+
class TooManyRequestsError < ClientError; end
|
80
|
+
|
81
|
+
class RateLimitedError < TooManyRequestsError; end
|
40
82
|
end
|
41
83
|
end
|
@@ -10,6 +10,10 @@ module Recurly
|
|
10
10
|
# @return [String] Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code. If `item_code`/`item_id` is part of the request then `accounting_code` must be absent.
|
11
11
|
define_attribute :accounting_code, String
|
12
12
|
|
13
|
+
# @!attribute add_on_type
|
14
|
+
# @return [String] Whether the add-on type is fixed, or usage-based.
|
15
|
+
define_attribute :add_on_type, String
|
16
|
+
|
13
17
|
# @!attribute code
|
14
18
|
# @return [String] The unique identifier for the add-on within its plan. If `item_code`/`item_id` is part of the request then `code` must be absent. If `item_code`/`item_id` is not present `code` is required.
|
15
19
|
define_attribute :code, String
|
@@ -34,6 +38,14 @@ module Recurly
|
|
34
38
|
# @return [String] System-generated unique identifier for an item. Available when the `Credit Invoices` and `Subscription Billing Terms` features are enabled. If `item_id` and `item_code` are both present, `item_id` will be used.
|
35
39
|
define_attribute :item_id, String
|
36
40
|
|
41
|
+
# @!attribute measured_unit_id
|
42
|
+
# @return [String] System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
|
43
|
+
define_attribute :measured_unit_id, String
|
44
|
+
|
45
|
+
# @!attribute measured_unit_name
|
46
|
+
# @return [String] Name of a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
|
47
|
+
define_attribute :measured_unit_name, String
|
48
|
+
|
37
49
|
# @!attribute name
|
38
50
|
# @return [String] Describes your add-on and will appear in subscribers' invoices. If `item_code`/`item_id` is part of the request then `name` must be absent. If `item_code`/`item_id` is not present `name` is required.
|
39
51
|
define_attribute :name, String
|
@@ -61,6 +73,14 @@ module Recurly
|
|
61
73
|
# @!attribute tiers
|
62
74
|
# @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.
|
63
75
|
define_attribute :tiers, Array, { :item_type => :Tier }
|
76
|
+
|
77
|
+
# @!attribute usage_percentage
|
78
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage and `usage_type` is percentage. Must be omitted otherwise. `usage_percentage` does not support tiers.
|
79
|
+
define_attribute :usage_percentage, Float
|
80
|
+
|
81
|
+
# @!attribute usage_type
|
82
|
+
# @return [String] Type of usage, required if `add_on_type` is `usage`.
|
83
|
+
define_attribute :usage_type, String
|
64
84
|
end
|
65
85
|
end
|
66
86
|
end
|
@@ -30,6 +30,14 @@ module Recurly
|
|
30
30
|
# @return [String] Add-on ID
|
31
31
|
define_attribute :id, String
|
32
32
|
|
33
|
+
# @!attribute measured_unit_id
|
34
|
+
# @return [String] System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
|
35
|
+
define_attribute :measured_unit_id, String
|
36
|
+
|
37
|
+
# @!attribute measured_unit_name
|
38
|
+
# @return [String] Name of a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
|
39
|
+
define_attribute :measured_unit_name, String
|
40
|
+
|
33
41
|
# @!attribute name
|
34
42
|
# @return [String] Describes your add-on and will appear in subscribers' invoices. If an `Item` is associated to the `AddOn` then `name` must be absent.
|
35
43
|
define_attribute :name, String
|
@@ -49,6 +57,10 @@ module Recurly
|
|
49
57
|
# @!attribute tiers
|
50
58
|
# @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.
|
51
59
|
define_attribute :tiers, Array, { :item_type => :Tier }
|
60
|
+
|
61
|
+
# @!attribute usage_percentage
|
62
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage and `usage_type` is percentage. Must be omitted otherwise. `usage_percentage` does not support tiers.
|
63
|
+
define_attribute :usage_percentage, Float
|
52
64
|
end
|
53
65
|
end
|
54
66
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
4
|
+
# need and we will usher them to the appropriate places.
|
5
|
+
module Recurly
|
6
|
+
module Requests
|
7
|
+
class MeasuredUnitCreate < Request
|
8
|
+
|
9
|
+
# @!attribute description
|
10
|
+
# @return [String] Optional internal description.
|
11
|
+
define_attribute :description, String
|
12
|
+
|
13
|
+
# @!attribute display_name
|
14
|
+
# @return [String] Display name for the measured unit.
|
15
|
+
define_attribute :display_name, String
|
16
|
+
|
17
|
+
# @!attribute name
|
18
|
+
# @return [String] Unique internal name of the measured unit on your site.
|
19
|
+
define_attribute :name, String
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
4
|
+
# need and we will usher them to the appropriate places.
|
5
|
+
module Recurly
|
6
|
+
module Requests
|
7
|
+
class MeasuredUnitUpdate < Request
|
8
|
+
|
9
|
+
# @!attribute description
|
10
|
+
# @return [String] Optional internal description.
|
11
|
+
define_attribute :description, String
|
12
|
+
|
13
|
+
# @!attribute display_name
|
14
|
+
# @return [String] Display name for the measured unit.
|
15
|
+
define_attribute :display_name, String
|
16
|
+
|
17
|
+
# @!attribute name
|
18
|
+
# @return [String] Unique internal name of the measured unit on your site.
|
19
|
+
define_attribute :name, String
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -29,6 +29,10 @@ module Recurly
|
|
29
29
|
# @!attribute unit_amount
|
30
30
|
# @return [Float] * Optionally, override the add-on's default unit amount. * If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount` must be absent.
|
31
31
|
define_attribute :unit_amount, Float
|
32
|
+
|
33
|
+
# @!attribute usage_percentage
|
34
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage and `usage_type` is percentage. Must be omitted otherwise. `usage_percentage` does not support tiers.
|
35
|
+
define_attribute :usage_percentage, Float
|
32
36
|
end
|
33
37
|
end
|
34
38
|
end
|
@@ -33,6 +33,10 @@ module Recurly
|
|
33
33
|
# @!attribute unit_amount
|
34
34
|
# @return [Float] Optionally, override the add-on's default unit amount.
|
35
35
|
define_attribute :unit_amount, Float
|
36
|
+
|
37
|
+
# @!attribute usage_percentage
|
38
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if add_on_type is usage and usage_type is percentage.
|
39
|
+
define_attribute :usage_percentage, Float
|
36
40
|
end
|
37
41
|
end
|
38
42
|
end
|
@@ -46,6 +46,10 @@ module Recurly
|
|
46
46
|
# @return [SubscriptionShippingPurchase] Create a shipping address on the account and assign it to the subscription.
|
47
47
|
define_attribute :shipping, :SubscriptionShippingPurchase
|
48
48
|
|
49
|
+
# @!attribute starts_at
|
50
|
+
# @return [DateTime] If set, the subscription will begin in the future on this date. The subscription will apply the setup fee and trial period, unless the plan has no trial.
|
51
|
+
define_attribute :starts_at, DateTime
|
52
|
+
|
49
53
|
# @!attribute total_billing_cycles
|
50
54
|
# @return [Integer] The number of cycles/billing periods in a term. When `remaining_billing_cycles=0`, if `auto_renew=true` the subscription will renew and a new term will begin, otherwise the subscription will expire.
|
51
55
|
define_attribute :total_billing_cycles, Integer
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
4
|
+
# need and we will usher them to the appropriate places.
|
5
|
+
module Recurly
|
6
|
+
module Requests
|
7
|
+
class UsageCreate < Request
|
8
|
+
|
9
|
+
# @!attribute amount
|
10
|
+
# @return [Float] The amount of usage. Can be positive, negative, or 0. No decimals allowed, we will strip them. If the usage-based add-on is billed with a percentage, your usage will be a monetary amount you will want to format in cents. (e.g., $5.00 is "500").
|
11
|
+
define_attribute :amount, Float
|
12
|
+
|
13
|
+
# @!attribute merchant_tag
|
14
|
+
# @return [String] Custom field for recording the id in your own system associated with the usage, so you can provide auditable usage displays to your customers using a GET on this endpoint.
|
15
|
+
define_attribute :merchant_tag, String
|
16
|
+
|
17
|
+
# @!attribute recording_timestamp
|
18
|
+
# @return [DateTime] When the usage was recorded in your system.
|
19
|
+
define_attribute :recording_timestamp, DateTime
|
20
|
+
|
21
|
+
# @!attribute usage_timestamp
|
22
|
+
# @return [DateTime] When the usage actually happened. This will define the line item dates this usage is billed under and is important for revenue recognition.
|
23
|
+
define_attribute :usage_timestamp, DateTime
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -10,6 +10,10 @@ module Recurly
|
|
10
10
|
# @return [String] Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code.
|
11
11
|
define_attribute :accounting_code, String
|
12
12
|
|
13
|
+
# @!attribute add_on_type
|
14
|
+
# @return [String] Whether the add-on type is fixed, or usage-based.
|
15
|
+
define_attribute :add_on_type, String
|
16
|
+
|
13
17
|
# @!attribute code
|
14
18
|
# @return [String] The unique identifier for the add-on within its plan.
|
15
19
|
define_attribute :code, String
|
@@ -46,6 +50,10 @@ module Recurly
|
|
46
50
|
# @return [ItemMini] Just the important parts.
|
47
51
|
define_attribute :item, :ItemMini
|
48
52
|
|
53
|
+
# @!attribute measured_unit_id
|
54
|
+
# @return [String] System-generated unique identifier for an measured unit associated with the add-on.
|
55
|
+
define_attribute :measured_unit_id, String
|
56
|
+
|
49
57
|
# @!attribute name
|
50
58
|
# @return [String] Describes your add-on and will appear in subscribers' invoices.
|
51
59
|
define_attribute :name, String
|
@@ -85,6 +93,14 @@ module Recurly
|
|
85
93
|
# @!attribute updated_at
|
86
94
|
# @return [DateTime] Last updated at
|
87
95
|
define_attribute :updated_at, DateTime
|
96
|
+
|
97
|
+
# @!attribute usage_percentage
|
98
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0.
|
99
|
+
define_attribute :usage_percentage, Float
|
100
|
+
|
101
|
+
# @!attribute usage_type
|
102
|
+
# @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
|
103
|
+
define_attribute :usage_type, String
|
88
104
|
end
|
89
105
|
end
|
90
106
|
end
|
@@ -10,6 +10,10 @@ module Recurly
|
|
10
10
|
# @return [String] Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code.
|
11
11
|
define_attribute :accounting_code, String
|
12
12
|
|
13
|
+
# @!attribute add_on_type
|
14
|
+
# @return [String] Whether the add-on type is fixed, or usage-based.
|
15
|
+
define_attribute :add_on_type, String
|
16
|
+
|
13
17
|
# @!attribute code
|
14
18
|
# @return [String] The unique identifier for the add-on within its plan.
|
15
19
|
define_attribute :code, String
|
@@ -26,6 +30,10 @@ module Recurly
|
|
26
30
|
# @return [String] Item ID
|
27
31
|
define_attribute :item_id, String
|
28
32
|
|
33
|
+
# @!attribute measured_unit_id
|
34
|
+
# @return [String] System-generated unique identifier for an measured unit associated with the add-on.
|
35
|
+
define_attribute :measured_unit_id, String
|
36
|
+
|
29
37
|
# @!attribute name
|
30
38
|
# @return [String] Describes your add-on and will appear in subscribers' invoices.
|
31
39
|
define_attribute :name, String
|
@@ -33,6 +41,14 @@ module Recurly
|
|
33
41
|
# @!attribute object
|
34
42
|
# @return [String] Object type
|
35
43
|
define_attribute :object, String
|
44
|
+
|
45
|
+
# @!attribute usage_percentage
|
46
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0.
|
47
|
+
define_attribute :usage_percentage, Float
|
48
|
+
|
49
|
+
# @!attribute usage_type
|
50
|
+
# @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
|
51
|
+
define_attribute :usage_type, String
|
36
52
|
end
|
37
53
|
end
|
38
54
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
4
|
+
# need and we will usher them to the appropriate places.
|
5
|
+
module Recurly
|
6
|
+
module Resources
|
7
|
+
class MeasuredUnit < Resource
|
8
|
+
|
9
|
+
# @!attribute created_at
|
10
|
+
# @return [DateTime] Created at
|
11
|
+
define_attribute :created_at, DateTime
|
12
|
+
|
13
|
+
# @!attribute deleted_at
|
14
|
+
# @return [DateTime] Deleted at
|
15
|
+
define_attribute :deleted_at, DateTime
|
16
|
+
|
17
|
+
# @!attribute description
|
18
|
+
# @return [String] Optional internal description.
|
19
|
+
define_attribute :description, String
|
20
|
+
|
21
|
+
# @!attribute display_name
|
22
|
+
# @return [String] Display name for the measured unit. Can only contain spaces, underscores and must be alphanumeric.
|
23
|
+
define_attribute :display_name, String
|
24
|
+
|
25
|
+
# @!attribute id
|
26
|
+
# @return [String] Item ID
|
27
|
+
define_attribute :id, String
|
28
|
+
|
29
|
+
# @!attribute name
|
30
|
+
# @return [String] Unique internal name of the measured unit on your site.
|
31
|
+
define_attribute :name, String
|
32
|
+
|
33
|
+
# @!attribute object
|
34
|
+
# @return [String] Object type
|
35
|
+
define_attribute :object, String
|
36
|
+
|
37
|
+
# @!attribute state
|
38
|
+
# @return [String] The current state of the measured unit.
|
39
|
+
define_attribute :state, String
|
40
|
+
|
41
|
+
# @!attribute updated_at
|
42
|
+
# @return [DateTime] Last updated at
|
43
|
+
define_attribute :updated_at, DateTime
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -47,7 +47,7 @@ module Recurly
|
|
47
47
|
define_attribute :tier_type, String
|
48
48
|
|
49
49
|
# @!attribute tiers
|
50
|
-
# @return [Array[SubscriptionAddOnTier]]
|
50
|
+
# @return [Array[SubscriptionAddOnTier]] If tiers are provided in the request, all existing tiers on the Subscription Add-on will be removed and replaced by the tiers in the request.
|
51
51
|
define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
|
52
52
|
|
53
53
|
# @!attribute unit_amount
|
@@ -57,6 +57,10 @@ module Recurly
|
|
57
57
|
# @!attribute updated_at
|
58
58
|
# @return [DateTime] Updated at
|
59
59
|
define_attribute :updated_at, DateTime
|
60
|
+
|
61
|
+
# @!attribute usage_percentage
|
62
|
+
# @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if add_on_type is usage and usage_type is percentage.
|
63
|
+
define_attribute :usage_percentage, Float
|
60
64
|
end
|
61
65
|
end
|
62
66
|
end
|
@@ -30,6 +30,10 @@ module Recurly
|
|
30
30
|
# @return [String] The ID of the Subscription Change.
|
31
31
|
define_attribute :id, String
|
32
32
|
|
33
|
+
# @!attribute invoice_collection
|
34
|
+
# @return [InvoiceCollection] Invoice Collection
|
35
|
+
define_attribute :invoice_collection, :InvoiceCollection
|
36
|
+
|
33
37
|
# @!attribute object
|
34
38
|
# @return [String] Object type
|
35
39
|
define_attribute :object, String
|
@@ -31,7 +31,7 @@ module Recurly
|
|
31
31
|
define_attribute :id, String
|
32
32
|
|
33
33
|
# @!attribute invoice_collection
|
34
|
-
# @return [InvoiceCollection] Invoice
|
34
|
+
# @return [InvoiceCollection] Invoice Collection
|
35
35
|
define_attribute :invoice_collection, :InvoiceCollection
|
36
36
|
|
37
37
|
# @!attribute object
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
4
|
+
# need and we will usher them to the appropriate places.
|
5
|
+
module Recurly
|
6
|
+
module Resources
|
7
|
+
class Usage < Resource
|
8
|
+
|
9
|
+
# @!attribute amount
|
10
|
+
# @return [Float] The amount of usage. Can be positive, negative, or 0. No decimals allowed, we will strip them. If the usage-based add-on is billed with a percentage, your usage will be a monetary amount you will want to format in cents. (e.g., $5.00 is "500").
|
11
|
+
define_attribute :amount, Float
|
12
|
+
|
13
|
+
# @!attribute billed_at
|
14
|
+
# @return [DateTime] When the usage record was billed on an invoice.
|
15
|
+
define_attribute :billed_at, DateTime
|
16
|
+
|
17
|
+
# @!attribute created_at
|
18
|
+
# @return [DateTime] When the usage record was created in Recurly.
|
19
|
+
define_attribute :created_at, DateTime
|
20
|
+
|
21
|
+
# @!attribute id
|
22
|
+
# @return [String]
|
23
|
+
define_attribute :id, String
|
24
|
+
|
25
|
+
# @!attribute measured_unit_id
|
26
|
+
# @return [String] The ID of the measured unit associated with the add-on the usage record is for.
|
27
|
+
define_attribute :measured_unit_id, String
|
28
|
+
|
29
|
+
# @!attribute merchant_tag
|
30
|
+
# @return [String] Custom field for recording the id in your own system associated with the usage, so you can provide auditable usage displays to your customers using a GET on this endpoint.
|
31
|
+
define_attribute :merchant_tag, String
|
32
|
+
|
33
|
+
# @!attribute object
|
34
|
+
# @return [String] Object type
|
35
|
+
define_attribute :object, String
|
36
|
+
|
37
|
+
# @!attribute recording_timestamp
|
38
|
+
# @return [DateTime] When the usage was recorded in your system.
|
39
|
+
define_attribute :recording_timestamp, DateTime
|
40
|
+
|
41
|
+
# @!attribute tier_type
|
42
|
+
# @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based).
|
43
|
+
define_attribute :tier_type, String
|
44
|
+
|
45
|
+
# @!attribute tiers
|
46
|
+
# @return [Array[SubscriptionAddOnTier]] The tiers and prices of the subscription based on the usage_timestamp. If tier_type = flat, tiers = null
|
47
|
+
define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
|
48
|
+
|
49
|
+
# @!attribute updated_at
|
50
|
+
# @return [DateTime] When the usage record was billed on an invoice.
|
51
|
+
define_attribute :updated_at, DateTime
|
52
|
+
|
53
|
+
# @!attribute usage_timestamp
|
54
|
+
# @return [DateTime] When the usage actually happened. This will define the line item dates this usage is billed under and is important for revenue recognition.
|
55
|
+
define_attribute :usage_timestamp, DateTime
|
56
|
+
|
57
|
+
# @!attribute usage_type
|
58
|
+
# @return [String] Type of usage, returns usage type if `add_on_type` is `usage`.
|
59
|
+
define_attribute :usage_type, String
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|