Instalment Schedule
Instalment schedules are objects which represent a collection of related payments, with the
intention to collect the total_amount specified. The API supports both schedule-based
creation (similar to subscriptions) as well as explicit selection of differing payment
amounts and charge dates.
Unlike subscriptions, the payments are created immediately, so the instalment schedule cannot be modified once submitted and instead can only be cancelled (which will cancel any of the payments which have not yet been submitted).
Customers will receive a single notification about the complete schedule of collection.
Create (with schedule)#
/instalment_schedulesCreates a new instalment schedule object, along with the associated payments. This API is recommended if you wish to use the GoCardless scheduling logic. For finer control over the individual dates, please check out the alternative version.
It can take quite a while to create the associated payments, so the API will return
the status as pending initially. When processing has completed, a subsequent
GET request for the instalment schedule will either have the status success and link to
the created payments, or the status error and detailed information about the
failures.
Request Body
instalment_schedulesobject9 properties
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
total_amountobject
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDapp_feeobject
The amount to be deducted from each payment as an app fee, to be paid to the partner integration which created the subscription, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
payment_referencestring
An optional reference that will appear on your customer's bank statement. The character limit for this reference is dependent on the scheme.
ACH - 10 characters
Autogiro - 11 characters
Bacs - 10 characters
BECS - 30 characters
BECS NZ - 12 characters
Betalingsservice - 30 characters
Faster Payments - 18 characters
PAD - scheme doesn't offer references
PayTo - 18 characters
SEPA - 140 characters
Note that this reference must be unique (for each merchant) for the BECS scheme as it is a scheme requirement.
Restricted: You can only specify a payment reference for Bacs payments (that is, when collecting from the UK) if you're on the GoCardless Plus, Pro or Enterprise packages.
Restricted: You can not specify a payment reference for Faster Payments.
retry_if_possibleboolean
On failure, automatically retry payments using intelligent retries. Default is false.
Important: To be able to use intelligent retries, Success+ needs to be enabled in GoCardless dashboard.
instalmentsobject
Frequency of the payments you want to create, together with an array of payment amounts to be collected, with a specified start date for the first payment. See create (with schedule)
4 properties
start_datestring
The date on which the first payment should be charged. Must be on or after the mandate's next_possible_charge_date. When left blank and month or day_of_month are provided, this will be set to the date of the first payment. If created without month or day_of_month this will be set as the mandate's next_possible_charge_date
intervalinteger
Number of interval_units between charge dates. Must be greater than or
equal to 1.
interval_unitstring
The unit of time between customer charge dates. One of weekly, monthly or yearly.
weeklymonthlyyearlyamountsarray
List of amounts of each instalment, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
linksobject
1 properties
mandatestring
ID of the associated mandate which the instalment schedule will create payments against.
Response 201
Resource created successfully
instalment_schedulesobject9 properties
idstring
Unique identifier, beginning with "IS".
created_atstring
Fixed timestamp, recording when this resource was created.
total_amountobject
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusstring
One of:
pending: we're waiting for GC to create the paymentsactive: the payments have been created, and the schedule is activecreation_failed: payment creation failedcompleted: we have passed the date of the final payment and all payments have been collectedcancelled: the schedule has been cancellederrored: one or more payments have failed
pendingactivecreation_failedcompletedcancellederroredpayment_errorsobject
If the status is creation_failed, this property will be populated with validation
failures from the individual payments, arranged by the index of the payment that
failed.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectList instalment schedules#
/instalment_schedulesReturns a cursor-paginated list of your instalment schedules.
Response 200
Successful response
instalment_schedulesarray9 properties
idstring
Unique identifier, beginning with "IS".
created_atstring
Fixed timestamp, recording when this resource was created.
total_amountobject
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusstring
One of:
pending: we're waiting for GC to create the paymentsactive: the payments have been created, and the schedule is activecreation_failed: payment creation failedcompleted: we have passed the date of the final payment and all payments have been collectedcancelled: the schedule has been cancellederrored: one or more payments have failed
pendingactivecreation_failedcompletedcancellederroredpayment_errorsobject
If the status is creation_failed, this property will be populated with validation
failures from the individual payments, arranged by the index of the payment that
failed.
metaobject2 properties
limitintegercursorsobject
2 properties
beforestring
Cursor pointing to the end of the desired set.
afterstring
Cursor pointing to the start of the desired set.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectGet a single instalment schedule#
/instalment_schedules/{instalment_schedule_id}Retrieves the details of an existing instalment schedule.
Path Parameters
| Name | Type | Description |
|---|---|---|
instalment_schedule_idrequired | string | The instalment schedule id |
Response 200
Successful response
instalment_schedulesobject9 properties
idstring
Unique identifier, beginning with "IS".
created_atstring
Fixed timestamp, recording when this resource was created.
total_amountobject
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusstring
One of:
pending: we're waiting for GC to create the paymentsactive: the payments have been created, and the schedule is activecreation_failed: payment creation failedcompleted: we have passed the date of the final payment and all payments have been collectedcancelled: the schedule has been cancellederrored: one or more payments have failed
pendingactivecreation_failedcompletedcancellederroredpayment_errorsobject
If the status is creation_failed, this property will be populated with validation
failures from the individual payments, arranged by the index of the payment that
failed.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectUpdate an instalment schedule#
/instalment_schedules/{instalment_schedule_id}Updates an instalment schedule. This accepts only the metadata parameter.
Path Parameters
| Name | Type | Description |
|---|---|---|
instalment_schedule_idrequired | string | The instalment schedule id |
Request Body
instalment_schedulesobject1 properties
metadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
Response 200
Successful response
instalment_schedulesobject9 properties
idstring
Unique identifier, beginning with "IS".
created_atstring
Fixed timestamp, recording when this resource was created.
total_amountobject
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusstring
One of:
pending: we're waiting for GC to create the paymentsactive: the payments have been created, and the schedule is activecreation_failed: payment creation failedcompleted: we have passed the date of the final payment and all payments have been collectedcancelled: the schedule has been cancellederrored: one or more payments have failed
pendingactivecreation_failedcompletedcancellederroredpayment_errorsobject
If the status is creation_failed, this property will be populated with validation
failures from the individual payments, arranged by the index of the payment that
failed.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobjectCancel an instalment schedule#
/instalment_schedules/{instalment_schedule_id}/actions/cancelImmediately cancels an instalment schedule; no further payments will be collected for it.
This will fail with a cancellation_failed error if the instalment schedule is already cancelled or has completed.
Path Parameters
| Name | Type | Description |
|---|---|---|
instalment_schedule_idrequired | string | The instalment schedule id |
Request Body
instalment_schedulesobject0 properties
Response 200
Action completed successfully
instalment_schedulesobject9 properties
idstring
Unique identifier, beginning with "IS".
created_atstring
Fixed timestamp, recording when this resource was created.
total_amountobject
The total amount of the instalment schedule, defined as the sum of all individual payments, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). If the requested payment amounts do not sum up correctly, a validation error will be returned.
namestring
Name of the instalment schedule, up to 100 chars. This name will also be copied to the payments of the instalment schedule if you use schedule-based creation.
currencystring
ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
AUDCADDKKEURGBPNZDSEKUSDmetadataobject
Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.
statusstring
One of:
pending: we're waiting for GC to create the paymentsactive: the payments have been created, and the schedule is activecreation_failed: payment creation failedcompleted: we have passed the date of the final payment and all payments have been collectedcancelled: the schedule has been cancellederrored: one or more payments have failed
pendingactivecreation_failedcompletedcancellederroredpayment_errorsobject
If the status is creation_failed, this property will be populated with validation
failures from the individual payments, arranged by the index of the payment that
failed.
Errors 400401404422500
Bad Request
Unauthorised
Not found
Validation Error
Internal Error
Error Body
codeintegerdocumentation_urlstringerrorsarray2 properties
reasonstringmessagestringmessagestringrequest_idstringtypestringmetadataobjectlinksobject