GoCardlessDeveloper Docs
Create a sandbox account

Subscription

View as Markdown

Subscriptions create payments according to a schedule.

Recurrence Rules

The following rules apply when specifying recurrence:

  • If day_of_month and start_date are not provided start_date will be the mandate's next_possible_charge_date and the subscription will then recur based on the interval & interval_unit
  • If month or day_of_month are present the following validations apply:
interval_unitmonthday_of_month
yearlyoptional (required if day_of_month provided)optional (invalid if month not provided)
monthlyinvalidoptional
weeklyinvalidinvalid

Examples:

interval_unitintervalmonthday_of_monthvalid?
yearly1january-1valid
monthly6valid
monthly612valid
weekly2valid
yearly1marchinvalid - missing day_of_month
yearly12invalid - missing month
monthly6august12invalid - month must be blank
weekly2october10invalid - month and day_of_month must be blank

Rolling dates

When a charge date falls on a non-business day, one of two things will happen:

  • if the recurrence rule specified -1 as the day_of_month, the charge date will be rolled backwards to the previous business day (i.e., the last working day of the month).
  • otherwise the charge date will be rolled forwards to the next business day.

Create a subscription#

POST/subscriptions

Creates a new subscription object

POST https://api.gocardless.com/subscriptions HTTP/1.1
Content-Type: application/json
{
  "subscriptions": {
    "amount": "2500",
    "currency": "GBP",
    "name": "Monthly Magazine",
    "interval_unit": "monthly",
    "day_of_month":  "1",
    "metadata": {
      "order_no": "ABCD1234"
    },
    "links": {
      "mandate": "MA123"
    }
  }
}
@client.subscriptions.create(
  params: {
    amount: 2500,
    currency: "GBP",
    name: "Monthly magazine",
    interval_unit: "monthly",
    day_of_month: 1,
    links: {
      mandate: "MD123"
    }
  }
)
client.subscriptions.create(params={
  "amount": "2500",
  "currency": "GBP",
  "name": "Monthly Magazine",
  "interval_unit": "monthly",
  "day_of_month":  "1",
  "metadata": {
    "order_no": "ABCD1234"
  },
  "links": {
    "mandate": "MA123"
  }
})
const subscription = await client.subscriptions.create({
  amount: "2500",
  currency: "GBP",
  name: "Monthly Magazine",
  interval_unit: "monthly",
  day_of_month:  "1",
  metadata: {
    order_no: "ABCD1234"
  },
  links: {
    mandate: "MA123"
  }
});
$client->subscriptions()->create([
  "params" => ["amount" => 2500,
               "currency" => "GBP",
               "name" => "Monthly Magazine",
               "interval_unit" => "monthly",
               "day_of_month" => 1,
               "metadata" => ["order_no" => "ABCD1234"],
               "links" => ["mandate" => "MA123"]]
]);
import com.gocardless.services.SubscriptionService.SubscriptionCreateRequest.IntervalUnit;

Subscription subscription = client.subscriptions().create()
  .withAmount(2500)
  .withCurrency("GBP")
  .withName("Monthly Magazine")
  .withIntervalUnit(IntervalUnit.MONTHLY)
  .withDayOfMonth(1)
  .withMetadata("order_no", "ABCD1234")
  .withLinksMandate("MD123")
  .execute();
subscriptionCreateParams := gocardless.SubscriptionCreateParams{
  Amount:       1500, // 15 GBP in pence
  Currency:     "GBP",
  IntervalUnit: "monthly",
  DayOfMonth:   5,
  Links: gocardless.SubscriptionCreateParamsLinks{
    Mandate: "MD123",
  },
  Metadata: map[string]string{"subscription_number": "ABC123"},
}

subscription, err := client.Subscriptions.Create(ctx, subscriptionCreateParams)
var subscriptionRequest = new GoCardless.Services.SubscriptionCreateRequest()
{
    Amount = 1000,
    Currency = "GBP",
    Name = "Monthly subscription",
    Interval = 1,
    IntervalUnit = GoCardless.Services.SubscriptionCreateRequest.SubscriptionIntervalUnit.Monthly,
    Links = new GoCardless.Services.SubscriptionCreateRequest.SubscriptionLinks()
    {
        Mandate = "MD0123"
    }
};

var subscriptionResponse = await client.Subscriptions.CreateAsync(subscriptionRequest);
GoCardless.Resources.Subscription subscription = subscriptionResponse.Subscription;
Responsehttp
HTTP/1.1 201 Created
Location: /subscriptions/SB123
Content-Type: application/json
{
  "subscriptions": {
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "active",
    "name": "Monthly Magazine",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "app_fee": null,
    "earliest_charge_date_after_resume": null,
    "upcoming_payments": [
      { "charge_date": "2014-11-03", "amount": 2500 },
      { "charge_date": "2014-12-01", "amount": 2500 },
      { "charge_date": "2015-01-02", "amount": 2500 },
      { "charge_date": "2015-02-02", "amount": 2500 },
      { "charge_date": "2015-03-02", "amount": 2500 },
      { "charge_date": "2015-04-01", "amount": 2500 },
      { "charge_date": "2015-05-01", "amount": 2500 },
      { "charge_date": "2015-06-01", "amount": 2500 },
      { "charge_date": "2015-07-01", "amount": 2500 },
      { "charge_date": "2015-08-03", "amount": 2500 }
    ],
    "metadata": {
      "order_no": "ABCD1234"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }
}
Request Body
subscriptionsobject
15 properties
amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

countobject

The total number of payments that should be taken by this subscription.

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

app_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).

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.

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.

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

Response 201

Resource created successfully

subscriptionsobject
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject

List subscriptions#

GET/subscriptions

Returns a cursor-paginated list of your subscriptions. Please note if the subscriptions are related to customers who have been removed, they will not be shown in the response.

GET https://api.gocardless.com/subscriptions HTTP/1.1
@client.subscriptions.list

@client.subscriptions.list(params: { customer: "CU123" })

@client.subscriptions.list.records.each { |subscription| puts subscription.inspect }
client.subscriptions.list().records

client.subscriptions.list(params={"customer": "CU123"}).records
const subscriptions = await client.subscriptions.list();

// List all subscriptions associated with a given customer.
const customerSubscriptions = await client.subscriptions.list({ customer: "CU123" });
$client->subscriptions()->list();

$client->subscriptions()->list([
  "params" => ["customer" => "CU123"]
]);
for (Subscription subscription : client.subscriptions().all().withCustomer("CU123").execute()) {
  System.out.println(subscription.getId());
}
subscriptionListParams := gocardless.SubscriptionListParams{}
subscriptionListResult, err := client.Subscriptions.List(ctx, subscriptionListParams)
for _, subscription := range subscriptionListResult.Subscriptions {
    fmt.Println(subscription.Id)
}
var subscriptionRequest = new GoCardless.Services.SubscriptionListRequest()
{
    Customer = "CU000123"
};

var subscriptionListResponse = client.Subscriptions.All(subscriptionRequest);
foreach (GoCardless.Resources.Subscription subscription in subscriptionListResponse)
{
    Console.WriteLine(subscription.Id);
}
Responsehttp
HTTP/1.1 200 OK
Content-Type: application/json
{
  "meta": {
    "cursors": {
      "before": null,
      "after": null
    },
    "limit": 50
  },
  "subscriptions": [{
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "active",
    "name": "Monthly Magazine",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "earliest_charge_date_after_resume": null,
    "parent_plan_paused": false,
    "upcoming_payments": [
      { "charge_date": "2014-11-03", "amount": 2500 },
      { "charge_date": "2014-12-01", "amount": 2500 },
      { "charge_date": "2015-01-02", "amount": 2500 },
      { "charge_date": "2015-02-02", "amount": 2500 },
      { "charge_date": "2015-03-02", "amount": 2500 },
      { "charge_date": "2015-04-01", "amount": 2500 },
      { "charge_date": "2015-05-01", "amount": 2500 },
      { "charge_date": "2015-06-01", "amount": 2500 },
      { "charge_date": "2015-07-01", "amount": 2500 },
      { "charge_date": "2015-08-03", "amount": 2500 }
    ],
    "metadata": {
      "order_no": "ABCD1234"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }]
}
Response 200

Successful response

subscriptionsarray
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

metaobject
2 properties
limitinteger
cursorsobject
2 properties
beforestring

Cursor pointing to the end of the desired set.

afterstring

Cursor pointing to the start of the desired set.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject

Get a single subscription#

GET/subscriptions/{subscription_id}

Retrieves the details of a single subscription.

Path Parameters

NameTypeDescription
subscription_idrequiredstring

The subscription id

GET https://api.gocardless.com/subscriptions/SB123 HTTP/1.1
@client.subscriptions.get("SB123")
client.subscriptions.get("SB123")
const subscription = await client.subscriptions.find("SB123");
$client->subscriptions()->get("SB123");
Subscription subscription = client.subscriptions().get("SB123").execute();
subscription, err := client.Subscriptions.Get(ctx, "SB123")
var subscriptionResponse = await client.Subscriptions.GetAsync("SB0123");
GoCardless.Resources.Subscription subscription = subscriptionResponse.Subscription;
Responsehttp
HTTP/1.1 200 OK
Content-Type: application/json
{
  "subscriptions": {
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "active",
    "name": "Monthly Magazine",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "earliest_charge_date_after_resume": null,
    "parent_plan_paused": false,
    "upcoming_payments": [
      { "charge_date": "2014-11-03", "amount": 2500 },
      { "charge_date": "2014-12-01", "amount": 2500 },
      { "charge_date": "2015-01-02", "amount": 2500 },
      { "charge_date": "2015-02-02", "amount": 2500 },
      { "charge_date": "2015-03-02", "amount": 2500 },
      { "charge_date": "2015-04-01", "amount": 2500 },
      { "charge_date": "2015-05-01", "amount": 2500 },
      { "charge_date": "2015-06-01", "amount": 2500 },
      { "charge_date": "2015-07-01", "amount": 2500 },
      { "charge_date": "2015-08-03", "amount": 2500 }
    ],
    "metadata": {
      "order_no": "ABCD1234"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }
}
Response 200

Successful response

subscriptionsobject
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject

Update a subscription#

PUT/subscriptions/{subscription_id}

Updates a subscription object.

This fails with:

  • validation_failed if invalid data is provided when attempting to update a subscription.

  • subscription_not_active if the subscription is no longer active.

  • subscription_already_ended if the subscription has taken all payments.

  • mandate_payments_require_approval if the amount is being changed and the mandate requires approval.

  • number_of_subscription_amendments_exceeded error if the subscription amount has already been changed 10 times.

  • forbidden if the amount is being changed, and the subscription was created by an app and you are not authenticated as that app, or if the subscription was not created by an app and you are authenticated as an app

  • resource_created_by_another_app if the app fee is being changed, and the subscription was created by an app other than the app you are authenticated as

Path Parameters

NameTypeDescription
subscription_idrequiredstring

The subscription id

PUT https://api.gocardless.com/subscriptions/SU123 HTTP/1.1
Content-Type: application/json
{
  "subscriptions": {
    "name": "New name",
    "metadata": {
      "order_no": "ABCD4321"
    }
  }
}
@client.subscriptions.update(
  "SB123",
  params: {
    metadata: { order_no: "ABCD4321" }
  }
)
client.subscriptions.update("SB123", params={
  "name": "New name"
})
const subscription = await client.subscriptions.update(
  "SB123",
  {
    amount: "42",
    name: "New Name"
  }
);
$client->subscriptions()->update("SB123", [
  "params" => ["name" => "New name",
               "metadata" => ["order_no" => "ABCD4321"]]
]);
client.subscriptions().update("SB123")
  .withName("New name")
  .execute();
subscriptionUpdateParams := gocardless.SubscriptionUpdateParams{
  Amount: 4200,
  Name: "New Name",
}

subscription, err := client.Subscriptions.Update(ctx, "SB123", subscriptionUpdateParams)
var subscriptionRequest = new GoCardless.Services.SubscriptionUpdateRequest()
{
    Metadata = new Dictionary<string, string>()
    {
        {"custom_reference", "ref_09011991"}
    }
};

var subscriptionResponse = await client.Subscriptions.UpdateAsync("SB0123", subscriptionRequest);
Responsehttp
HTTP/1.1 200 OK
Content-Type: application/json
{
  "subscriptions": {
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "active",
    "name": "New name",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "earliest_charge_date_after_resume": null,
    "parent_plan_paused": false,
    "upcoming_payments": [
      { "charge_date": "2014-11-03", "amount": 2500 },
      { "charge_date": "2014-12-01", "amount": 2500 },
      { "charge_date": "2015-01-02", "amount": 2500 },
      { "charge_date": "2015-02-02", "amount": 2500 },
      { "charge_date": "2015-03-02", "amount": 2500 },
      { "charge_date": "2015-04-01", "amount": 2500 },
      { "charge_date": "2015-05-01", "amount": 2500 },
      { "charge_date": "2015-06-01", "amount": 2500 },
      { "charge_date": "2015-07-01", "amount": 2500 },
      { "charge_date": "2015-08-03", "amount": 2500 }
    ],
    "metadata": {
      "order_no": "ABCD4321"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }
}
Request Body
subscriptionsobject
6 properties
namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

app_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).

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.

Response 200

Successful response

subscriptionsobject
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject

Pause a subscription#

POST/subscriptions/{subscription_id}/actions/pause

Pause a subscription object. No payments will be created until it is resumed.

This can only be used when a subscription is collecting a fixed number of payments (created using count), when they continue forever (created without count or end_date) or the subscription is already paused for a number of cycles.

When pause_cycles is omitted the subscription is paused until the resume endpoint is called. If the subscription is collecting a fixed number of payments, end_date will be set to null. When paused indefinitely, upcoming_payments will be empty.

When pause_cycles is provided the subscription will be paused for the number of cycles requested. If the subscription is collecting a fixed number of payments, end_date will be set to a new value. When paused for a number of cycles, upcoming_payments will still contain the upcoming charge dates.

This fails with:

  • forbidden if the subscription was created by an app and you are not authenticated as that app, or if the subscription was not created by an app and you are authenticated as an app

  • validation_failed if invalid data is provided when attempting to pause a subscription.

  • subscription_paused_cannot_update_cycles if the subscription is already paused for a number of cycles and the request provides a value for pause_cycle.

  • subscription_cannot_be_paused if the subscription cannot be paused.

  • subscription_already_ended if the subscription has taken all payments.

  • pause_cycles_must_be_greater_than_or_equal_to if the provided value for pause_cycles cannot be satisfied.

Path Parameters

NameTypeDescription
subscription_idrequiredstring

The subscription id

POST https://api.gocardless.com/subscriptions/SU123/actions/pause HTTP/1.1
Content-Type: application/json
{
  "data": {
    "metadata": {}
  }
}
@client.subscriptions.pause("SB123")
client.subscriptions.pause("SB123")
const subscriptionResponse = await client.subscriptions.pause("SB123");
$client->subscriptions()->pause("SB123");
client.subscriptions().pause("SB123").execute();
subscriptionPauseParams := gocardless.SubscriptionPauseParams{}
subscription, err := client.Subscriptions.Pause(ctx, "SB123",subscriptionPauseParams)
var subscriptionResponse = await client.Subscriptions.PauseAsync("SB0123");
Responsehttp
HTTP/1.1 200 OK
Content-Type: application/json
{
  "subscriptions": {
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "paused",
    "name": "Subscription name",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "earliest_charge_date_after_resume": "2014-10-23",
    "parent_plan_paused": false,
    "upcoming_payments": [
    ],
    "metadata": {
      "order_no": "ABCD4321"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }
}
Request Body
subscriptionsobject
2 properties
pause_cyclesinteger

The number of cycles to pause a subscription for. A cycle is one duration of interval and interval_unit. This should be a non zero positive value. For AUD subscriptions with interval_unit: weekly the minimum value varies between 3 & 4 because of the mandatory minimum waiting period. For NZD subscriptions with interval_unit: weekly the minimum value is 2 because of the mandatory minimum waiting period.

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

Action completed successfully

subscriptionsobject
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject

Resume a subscription#

POST/subscriptions/{subscription_id}/actions/resume

Resume a subscription object. Payments will start to be created again based on the subscriptions recurrence rules. The charge_date on the next payment will be the same as the subscriptions earliest_charge_date_after_resume

This fails with:

  • forbidden if the subscription was created by an app and you are not authenticated as that app, or if the subscription was not created by an app and you are authenticated as an app

  • validation_failed if invalid data is provided when attempting to resume a subscription.

  • subscription_not_paused if the subscription is not paused.

Path Parameters

NameTypeDescription
subscription_idrequiredstring

The subscription id

POST https://api.gocardless.com/subscriptions/SU123/actions/resume HTTP/1.1
Content-Type: application/json
{
  "data": {
    "metadata": {}
  }
}
@client.subscriptions.resume("SB123")
client.subscriptions.resume("SB123")
const subscriptionResponse = await client.subscriptions.resume("SB123");
$client->subscriptions()->resume("SB123");
client.subscriptions().resume("SB123").execute();
subscriptionResumeParams := gocardless.SubscriptionResumeParams{}
subscription, err := client.Subscriptions.Resume(ctx, "SB123", subscriptionResumeParams)
var subscriptionResponse = await client.Subscriptions.ResumeAsync("SB0123");
Responsehttp
HTTP/1.1 200 OK
Content-Type: application/json
{
  "subscriptions": {
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "active",
    "name": "Subscription name",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "earliest_charge_date_after_resume": null,
    "parent_plan_paused": false,
    "upcoming_payments": [
      { "charge_date": "2014-11-03", "amount": 2500 },
      { "charge_date": "2014-12-01", "amount": 2500 },
      { "charge_date": "2015-01-02", "amount": 2500 },
      { "charge_date": "2015-02-02", "amount": 2500 },
      { "charge_date": "2015-03-02", "amount": 2500 },
      { "charge_date": "2015-04-01", "amount": 2500 },
      { "charge_date": "2015-05-01", "amount": 2500 },
      { "charge_date": "2015-06-01", "amount": 2500 },
      { "charge_date": "2015-07-01", "amount": 2500 },
      { "charge_date": "2015-08-03", "amount": 2500 }
    ],
    "metadata": {
      "order_no": "ABCD4321"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }
}
Request Body
subscriptionsobject
1 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

Action completed successfully

subscriptionsobject
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject

Cancel a subscription#

POST/subscriptions/{subscription_id}/actions/cancel

Immediately cancels a subscription; no more payments will be created under it. Any metadata supplied to this endpoint will be stored on the payment cancellation event it causes.

This will fail with a cancellation_failed error if the subscription is already cancelled or finished.

Path Parameters

NameTypeDescription
subscription_idrequiredstring

The subscription id

POST https://api.gocardless.com/subscriptions/SU123/actions/cancel HTTP/1.1
@client.subscriptions.cancel("SB123")
client.subscriptions.cancel("SB123")
const subscriptions = await client.subscriptions.cancel("SB123");
$client->subscriptions()->cancel("SB123");
client.subscriptions().cancel("SB123").execute();
subscriptionCancelParams := gocardless.SubscriptionCancelParams{}
subscription, err := client.Subscriptions.Cancel(ctx, "SB123", subscriptionCancelParams)
var subscriptionResponse = await client.Subscriptions.CancelAsync("SB0123");
Responsehttp
HTTP/1.1 200 OK
Content-Type: application/json
{
  "subscriptions": {
    "id": "SB123",
    "created_at": "2014-10-20T17:01:06.000Z",
    "amount": 2500,
    "currency": "GBP",
    "status": "cancelled",
    "name": "Monthly Magazine",
    "start_date": "2014-11-03",
    "end_date": null,
    "interval": 1,
    "interval_unit": "monthly",
    "day_of_month": 1,
    "month": null,
    "payment_reference": null,
    "earliest_charge_date_after_resume": null,
    "parent_plan_paused": false,
    "upcoming_payments": [],
    "metadata": {
      "order_no": "ABCD1234"
    },
    "links": {
      "mandate": "MA123"
    },
    "retry_if_possible": false
  }
}
Request Body
subscriptionsobject
1 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

Action completed successfully

subscriptionsobject
21 properties
idstring

Unique identifier, beginning with "SB".

created_atstring

Fixed timestamp, recording when this resource was created.

amountobject

Amount in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).

namestring

Optional name for the subscription. This will be set as the description on each payment created. Must not exceed 255 characters.

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

end_datestring

Date on or after which no further payments should be created.
If this field is blank and count is not specified, the subscription will continue forever.

Deprecated: This field will be removed in a future API version. Use count to specify a number of payments instead.

intervalobject

Number of interval_units between customer charge dates. Must be greater than or equal to 1. Must result in at least one charge date per year. Defaults to 1.

interval_unitstring

The unit of time between customer charge dates. One of weekly, monthly or yearly.

weeklymonthlyyearly
day_of_monthobject

As per RFC 2445. The day of the month to charge customers on. 1-28 or -1 to indicate the last day of the month.

currencystring

ISO 4217 currency code. Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.

monthstring

Name of the month on which to charge a customer. Must be lowercase. Only applies when the interval_unit is yearly.

januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecember
countobject

The total number of payments that should be taken by this subscription.

payment_referencestring

An optional payment reference. This will be set as the reference on each payment created and will appear on your customer's bank statement. See the documentation for the create payment endpoint for more details.

Restricted: You need your own Service User Number to specify a payment reference for Bacs payments.

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.

statusstring

One of:

  • pending_customer_approval: the subscription is waiting for customer approval before becoming active
  • customer_approval_denied: the customer did not approve the subscription
  • active: the subscription is currently active and will continue to create payments
  • finished: all of the payments scheduled for creation under this subscription have been created
  • cancelled: the subscription has been cancelled and will no longer create payments
  • paused: the subscription has been paused and will not create payments
pending_customer_approvalcustomer_approval_deniedactivefinishedcancelledpaused
upcoming_paymentsarray

Up to 10 upcoming payments with their amounts and charge dates.

2 properties
charge_datestring

The date on which this payment will be charged.

amountobject

The amount of this payment, in minor unit (e.g. pence in GBP, cents in EUR).

app_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).

linksobject
1 properties
mandatestring

ID of the associated mandate which the subscription will create payments against.

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.

earliest_charge_date_after_resumestring

The earliest date that will be used as a charge_date on payments created for this subscription if it is resumed. Only present for paused subscriptions. This value will change over time.

parent_plan_pausedboolean

Whether the parent plan of this subscription is paused.

Errors 400401404422500
400

Bad Request

401

Unauthorised

404

Not found

422

Validation Error

500

Internal Error

Error Body
codeinteger
documentation_urlstring
errorsarray
2 properties
reasonstring
messagestring
messagestring
request_idstring
typestring
metadataobject
linksobject