Create a Proration Policy
POST/subscriptions/proration-policies
In Subscriptions, you configure proration by creating a proration policy and attaching it to an offering. Once you have attached the policy, the proration policy applies to all subscriptions that use the offering.
Request
- application/json
Body
- round up to the next unit, ensuring subscribers are charged slightly more to cover any partial use.
- round down to the previous whole unit, providing subscribers with a slight benefit by not charging for partial use.
- round to the nearest whole unit, whether up or down, based on standard rounding rules. For example, rounding 0.5 up and rounding 0.5 down.
data ProrationPolicyCreaterequired
Possible values: [subscription_proration_policy
]
attributes ProrationPolicyAttributesrequired
Possible values: >= 3 characters
and <= 1024 characters
A name for the proration policy.
Possible values: [up
, down
, nearest
]
When rounding in proration, you must decide how to round the units of time used to calculate the charges.
Possible values: <= 2048 characters
A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.
Responses
- 201
- 400
- 500
Success. The proration policy is created.
- application/json
- Schema
- Example (from schema)
Schema
- round up to the next unit, ensuring subscribers are charged slightly more to cover any partial use.
- round down to the previous whole unit, providing subscribers with a slight benefit by not charging for partial use.
- round to the nearest whole unit, whether up or down, based on standard rounding rules. For example, rounding 0.5 up and rounding 0.5 down.
data ProrationPolicy
The unique identifier.
Possible values: [subscription_proration_policy
]
attributes ProrationPolicyAttributesrequired
Possible values: >= 3 characters
and <= 1024 characters
A name for the proration policy.
Possible values: [up
, down
, nearest
]
When rounding in proration, you must decide how to round the units of time used to calculate the charges.
Possible values: <= 2048 characters
A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.
meta ProrationPolicyMetarequired
The owner of a resource, either store
or organization
.
timestamps Timestampsrequired
The date and time a resource was updated.
The date and time a resource was created.
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"type": "subscription_proration_policy",
"attributes": {
"name": "Main Policy",
"rounding": "up",
"external_ref": "abc123"
},
"meta": {
"owner": "store",
"timestamps": {
"updated_at": "2017-01-10T11:41:19.244842Z",
"created_at": "2017-01-10T11:41:19.244842Z"
}
}
}
}
Bad request. The request failed validation.
- application/json
- Schema
- Example (from schema)
- missing-name
Schema
- Array [
- ]
errors Error[]required
The HTTP response code of the error.
A brief summary of the error.
Optional additional detail about the error.
Additional supporting meta data for the error.
{
"errors": [
{
"status": 500,
"title": "Internal server error",
"detail": "An internal error has occurred.",
"meta": {
"missing_ids": [
"e7d50bd5-1833-43c0-9848-f9d325b08be8"
]
}
}
]
}
{
"errors": [
{
"title": "Validation Error",
"status": "400",
"detail": "data.attributes.name: \"name\" is required"
}
]
}
Internal server error. There was a system failure in the platform.
- application/json
- Schema
- Example (from schema)
- internal-server-error
Schema
- Array [
- ]
errors Error[]required
The HTTP response code of the error.
A brief summary of the error.
Optional additional detail about the error.
Additional supporting meta data for the error.
{
"errors": [
{
"status": 500,
"title": "Internal server error",
"detail": "An internal error has occurred.",
"meta": {
"missing_ids": [
"e7d50bd5-1833-43c0-9848-f9d325b08be8"
]
}
}
]
}
{
"errors": [
{
"title": "Internal Server Error",
"status": "500"
}
]
}