Reserve Plans Preview
ReservePlans are used to automatically place holds on a merchant’s funds until the plan expires. It takes a portion of each incoming Charge (including those resulting from a Transfer from a platform account).
The ReservePlan object Preview
Attributes
- idstring
Unique identifier for the object.
- currencynullable enum
Three-letter ISO currency code, in lowercase. Must be a supported currency. An unset currency indicates that the plan applies to all currencies.
- fixed_
releasenullable object Configuration specifying when all funds will be released when the plan is configured for fixed release.
- metadatanullable object
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- percentinteger
The percent of each Charge to reserve.
- rolling_
releasenullable object Configuration specifying how long reserves will be held when the plan is configured for rolling release.
- statusenum
The current status of the ReservePlan. The ReservePlan only affects charges if it is
active
.Possible enum valuesactive
The ReservePlan is active and reserving funds.
disabled
The ReservePlan has been manually disabled and is no longer reserving funds, and its associated funds have been released.
disabling
The ReservePlan is in the process of being disabled, and its associated funds are being released.
expired
The ReservePlan has expired automatically and is no longer reserving funds, and its associated funds have been released.
- typeenum
The type of the ReservePlan.
Possible enum valuesfixed_
release The ReservePlan releases funds after a fixed duration.
rolling_
release The ReservePlan releases funds on a rolling basis.
More attributes
- objectstring
- createdtimestamp
- created_
byenum - disabled_
atnullable timestamp - livemodeboolean
{ "id": "resplan_61SxrVOzQu6XIJSCx41Q8rCFhzAUW", "object": "reserve.plan", "created": 1753380438, "created_by": "application", "currency": "usd", "disabled_at": null, "livemode": false, "metadata": {}, "percent": 15, "rolling_release": { "days_after_charge": 30, "expires_on": 1755972438 }, "status": "active", "type": "rolling_release"}
Create a ReservePlan Preview
Create a ReservePlan for a given account of a given type.
Parameters
- percentintegerRequired
The percentage of each Charge to reserve.
- typeenumRequired
The type of the ReservePlan.
Possible enum valuesfixed_
release The ReservePlan releases funds after a fixed duration.
rolling_
release The ReservePlan releases funds on a rolling basis.
- currencyenum
Three-letter ISO currency code, in lowercase. Must be a supported currency. Leave unset to create a ReservePlan for all currencies.
- fixed_
releaseobject Configuration specifying when all funds will be released when the ReservePlan is configured for fixed release.
- metadataobject
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - rolling_
releaseobject Configuration specifying how long reserves will be held when the ReservePlan is configured for rolling release.
Returns
Returns a ReservePlan object.
{ "id": "resplan_61SxrVOzQu6XIJSCx41Q8rCFhzAUW", "object": "reserve.plan", "created": 1753380438, "created_by": "application", "currency": "usd", "disabled_at": null, "livemode": false, "metadata": {}, "percent": 15, "rolling_release": { "days_after_charge": 30, "expires_on": 1755972438 }, "status": "active", "type": "rolling_release"}
Update a ReservePlan Preview
Update a ReservePlan’s configuration, percentage, or metadata.
Parameters
- idstringRequired
The identifier of the ReservePlan to update.
- fixed_
releaseobject Configuration specifying when all funds will be released when the ReservePlan is configured for fixed release.
- metadataobject
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - percentinteger
The percentage of each Charge to reserve.
- rolling_
releaseobject Configuration specifying how long reserves will be held when the ReservePlan is configured for rolling release.
Returns
Returns the updated ReservePlan object.
{ "id": "resplan_61SxxwCbZ70gJfcoy41Q8rCFhzAUW", "object": "reserve.plan", "created": 1753405164, "created_by": "application", "currency": "usd", "disabled_at": null, "livemode": false, "metadata": { "test_key": "test_value" }, "percent": 20, "rolling_release": { "days_after_charge": 40, "expires_on": 1755997675 }, "status": "active", "type": "rolling_release"}
Retrieve a ReservePlan Preview
Retrieve a ReservePlan.
Parameters
- idstringRequired
The identifier of the ReservePlan to retrieve.
Returns
Returns a ReservePlan object.
{ "id": "resplan_61SxrVOzQu6XIJSCx41Q8rCFhzAUW", "object": "reserve.plan", "created": 1753380438, "created_by": "application", "currency": "usd", "disabled_at": null, "livemode": false, "metadata": {}, "percent": 15, "rolling_release": { "days_after_charge": 30, "expires_on": 1755972438 }, "status": "active", "type": "rolling_release"}