Recurrings Endpoint
The recurrings endpoint is used to run a recurring transaction one or more times. There are two different types of recurrings:
- ongoing (recurring_type_id="o") - a recurring that runs until it is deleted or an end date has been set.
- installment (recurring_type_id="i") - a recurring that runs a fixed number of times, regardless of approval or decline.
When setting up a reccuring, it isn't necessarily linked directly to a contact, it is linked to an account vault through the account_vault_id or account_vault_api_id field. The account vault is then in turn linked to a contact. So in order to create a recurring, you must first create a contact, then create an account vault for that contact. Then the id of the account vault can be used for the recurring as account_vault_id.
Endpoint Actions
Create Record
POST /v2/recurrings
Update Record
PUT /v2/recurrings/{id}
View Single Record
GET /v2/recurrings/{id}
View Record List
GET /v2/recurrings
Note: Filters can be used to search for Recurrings by including the columns you want to filter on as URL parameters. i.e. /v2/recurrings?field=value&field2=value2
Delete Record
DELETE /v2/recurrings/{id}
Skip Payment
This can be used to skip the next {number}
of regularly scheduled recurring payment(s). Skipping a payment will not change the recurring end date. For recurrings with an installment count, the number of total installments collected will be reduced with each payment that is skipped.
POST /v2/recurrings/{id}/skipPayment?skip_count={number}
Defer Payment
This can be used to skip the next {number}
of regularly scheduled recurring payment(s) and add them to the end of the existing recurring cycle. Deferring a payment will ensure that original quantity of installment payments are still collected.
Note: Ongoing Recurrings (recurring_type_id = "o") are NOT applicable for Defer.
POST /v2/recurrings/{id}/deferPayment?defer_count={number}
Put On Hold
This can be used to move a recurring to a status of "on hold" from "active".
POST /v2/recurrings/{id}/placeOnHold
Activate
This can be used to move a recurring to a status of "active" from "on hold".
POST /v2/recurrings/{id}/activate
Fields
Name | Min | Max | Format | POST Required | POST Allowed | PUT Allowed | Comments |
---|---|---|---|---|---|---|---|
id | 24 | 36 | string | System generated id | |||
account_vault_id | 24 | 36 | string | ✔ | ✔ | ✔ | The account_vault_id of the account vault to use when runnint the recurring transaction. |
active | 1 | 1 | string | ✔ | ✔ | Current status (1 or 0) Note: Only "ongoing" recurrings (recurring_type_id="o") can be made inactive by PUT request. Otherwise this field is ignored on PUT. |
|
created_ts | 10 | 10 | integer | System created timestamp | |||
description | 0 | 36 | string | ✔ | ✔ | Description of Recurring Payment | |
end_date | 10 | 10 | yyyy-mm-dd | ✔ | ✔ | End date of recurring | |
installment_total_count | 0 | 2 | integer | ✔ | Number of times to process the payment (optional) | ||
interval | 1 | 3 | string | ✔ | ✔ | Interval of recurring | |
interval_type | 1 | 1 | string | ✔ | ✔ | Type of interval (enum of d, w, or m) | |
location_id | 24 | 36 | string | ✔ | The ID for the Location where the Recurring is configured. | ||
next_run_date | 10 | 10 | yyyy-m-dd | ✔ | Next run date of recurring | ||
notification_days | 1 | 2 | string | ✔ | ✔ | Days to notify contact before next recurring processes | |
payment_method | 2 | 3 | string | ✔ | Payment Method of recurring (enum of cc or ach) | ||
product_transaction_id | 24 | 36 | string | ✔ | ✔ | The ID for the Product Transaction to use when running the Recurring. | |
recurring_type_id | 24 | 36 | string | System Generated Flag based on configuration. Returned in GET/PUT/POST responses for each record. | |||
start_date | 10 | 10 | yyyy-mm-dd | ✔ | ✔ | Start Date of recurring | |
status | 5 | 7 | string | Current status of recurring Possible values include: "active", "on hold", and "ended" |
|||
transaction_amount | 1 | 12 | string | ✔ | ✔ | Amount of recurring |
Expands (Related Records)
For detail on how to use Expands on an Endpoint, please visit the Expands (Related Records) page.
Related Record | Filter Name |
---|---|
Created User | created_user |
Account Vault | account_vault |
Transactions | transactions |
Signature | signature |
Location | location |
Contact | contact |
Tags | tags |
Product Transaction | product_transaction |
An example of “expanding” this endpoint to one of the above related records would look like this:
GET /v2/recurrings/xxxxxxxxxxxxxxxxxxxxxxxx?expand=location
To use multiple expands on this endpoint, simply include them both separated by a comma like so:
GET /v2/recurrings/xxxxxxxxxxxxxxxxxxxxxxxx?expand=location,created_user