Update dunning rule policy
PUT/subscriptions/dunning-rules/:dunning_rule_uuid
Specify whichever attributes you want to change. The values of the other attributes remain the same. If the attributes section is empty, the rule is not updated.
Request
Path Parameters
The unique identifier of a dunning rule set.
- application/json
Body
data DunningRuleUpdaterequired
The unique identifier.
Possible values: [subscription_dunning_rule
]
attributes DunningRuleUpdateAttributesrequired
Possible values: [fixed
, backoff
, tiered
]
The strategy used to make payments. Always fixed
. This means payments are retried on a fixed schedule as defined by the payment_retry_unit
and payment_retry_interval
, for example, every two days.
Possible values: >= 1
and <= 1024
The number of payment_interval_unit
s to wait between each payment retry attempt.
Possible values: [day
, week
]
The unit of time used to measure the intervals between payment attempts or retries.
Possible values: >= 1
and <= 1024
The multiplier that increases the interval between consecutive each payment attempts or retries. This is typically used to gradually extend the time between retries. Allowing more time between attempts as failures persist, helps reduce the risk of triggering multiple failures in a short period and gives the subscriber more time to resolve the issue. Must only be set for backup types.
The number of times Subscriptions attempts payment retries before action
is taken.
Possible values: [none
, pause
, close
, suspend
]
The action to take after all payment attempts for an invoice have failed.
Set to true
if you want this rule to be the default for the store.
Responses
- 200
- 400
- 403
- 404
- 409
- 500
Success. The dunning rule set has been updated.
- application/json
- Schema
- Example (from schema)
Schema
- None - the subscription remains active and Subscriptions does not attempt to retry the payment. However, the subscription is still available for a subscriber to use.
- Suspend the subscription. Subscriptions does not attempt to retry the payment. A subscriber can choose to pay the outstanding invoice. However, a subscriber cannot renew their subscription; a merchandizer must renew the subscription on behalf of the subscriber.
- close a subscription. The subscription ends and it's status becomes
inactive
. However, a merchandizer can choose to resume the subscription if a subscriber pays the outstanding payment.
data DunningRule
The unique identifier.
Possible values: [subscription_dunning_rule
]
attributes DunningRuleAttributesrequired
The dunning rule attributes you can use to configure your payment retry strategy.
Possible values: [fixed
, backoff
, tiered
]
The strategy used to make payments. Always fixed
. This means payments are retried on a fixed schedule as defined by the payment_retry_unit
and payment_retry_interval
, for example, every two days.
Possible values: >= 1
and <= 1024
The number of payment_interval_unit
s to wait between each payment retry attempt.
Possible values: [day
, week
]
The unit of time used to measure the intervals between payment attempts or retries.
Possible values: >= 1
and <= 1024
The multiplier that increases the interval between consecutive each payment attempts or retries. This is typically used to gradually extend the time between retries. Allowing more time between attempts as failures persist, helps reduce the risk of triggering multiple failures in a short period and gives the subscriber more time to resolve the issue. Must only be set for backup types.
The number of times Subscriptions attempts payment retries before action
is taken.
Possible values: [none
, pause
, close
, suspend
]
The action to take after all payment attempts for an invoice have failed.
Set to true
if you want this rule to be the default for the store.
meta DunningRuleMetarequired
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_dunning_rule",
"attributes": {
"payment_retry_type": "fixed",
"payment_retry_unit": "day",
"payment_retry_interval": 1,
"payment_retries_limit": 10,
"action": "none"
},
"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"
}
]
}
Forbidden. The operation is forbidden on this entity.
- application/json
- Schema
- Example (from schema)
- not-found
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": "Permission denied",
"status": "404",
"detail": "Permission denied: plan tenancy mismatch"
}
]
}
Not found. The requested entity does not exist.
- application/json
- Schema
- Example (from schema)
- not-found
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": "Not Found",
"status": "404",
"detail": "No plan found"
}
]
}
Write conflict. Unable to perform the operation at this time.
- application/json
- Schema
- Example (from schema)
- Example
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": "Write Conflict",
"status": "409"
}
]
}
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"
}
]
}