Skip to content
Last updated

Manage Subscriptions

Overview

Once a Subscription plan has been initialised and processed, you may need to update some details of the subscription for several reasons, such as:

  • Upgrading or downgrading the price plan;
  • Changing the payment method being used;
  • Updating the description or billing details;

Ryft provides a simple interface to manage all aspects of a Subscription, which can be accessed using the Portal or via the API.

Prerequisites

Subscriptions that are in the Cancelled, Paused or Ended states cannot be updated.

You can retrieve a list of subscriptions along with their states and details using the subscriptionsList endpoint or by navigating to the Subscriptions section in the Ryft Portal.

Changing the Price Plan

The price plan of a subscription can be changed at any time only for subscriptions that are in the Active or Pending states. The change will take effect from the next billing cycle.

Although customers are not required to take any action when you change the price plan of a subscription, you must give them 4 weeks' notice of any price changes if you operate in the UK or EU. If you are outside these regions, please check your local regulations.

Failure to do so may result in disputes or chargebacks.

You can easily change the price plan of a subscription using the subscriptionUpdateById endpoint as shown below:

Request Example:

Update Subscription Price Example
{
    "price": {
        "amount": 5500,  // The new price amount
        "currency": "GBP"
    }
}

If the request is successful, the response will include the updated subscription details with the new price plan.

Alternatively, you can change the price plan in the Ryft Portal by selecting the subscription, clicking on the Edit button and updating the price details.

Changing the Interval

The billing interval of a subscription can be changed at any time only for subscriptions that are in the Active or Pending states. The change will take effect from the next billing cycle.

You can change the billing interval of a subscription using the subscriptionUpdateById endpoint as shown below:

Request Example:

Update Subscription Interval Example
{
    "price": {
        "interval": {
            "unit": "Months",  // The new interval unit
            "count": 3,  // The new interval count
            "times": 36  // Optional: The new number of billing cycles, or null for infinite
        }
    }
}

If the request is successful, the response will include the updated subscription details with the new billing interval.

Alternatively, you can change the billing interval in the Ryft Portal by selecting the subscription, clicking on the Edit button and updating the interval details.

Changing the Payment Method

In some cases, you may need to change the payment method associated with a subscription, for example, if the customer's card has expired or if they want to use a different card.

Replacing with an Existing Card

If the operation requires replacing the existing payment method with another customer's saved payment method, you can immediately do so using the subscriptionUpdateById endpoint as shown below:

Request Example:

Update Subscription Payment Method Example
{
    "paymentMethod": {
        "id": "pmt_XXXXXXXXXXXXX"  // The new payment method ID
    }
}

If the request is successful, the response will include the updated subscription details with the new payment method.

Alternatively, you can change the payment method in the Ryft Portal by selecting the subscription, clicking on the Edit button and selecting the new payment method from the list of saved payment methods.

Replacing with a New Card

If the operation requires replacing the existing payment method with a new payment method, you will need to use the Account Verification process to securely collect and tokenize the new payment method. This can be done in three simple steps:

  1. Create a Payment Session configured for Account Verification. You can refer to this section for more details.
  2. Collect the new payment method details using the Embedded SDK. You can refer to this section for more details.
  3. Update the subscription with the new payment method ID using the Subscription API or the Ryft Portal as described above.

Updating Other Subscription Details

You can update other details of a subscription, such as the description or billing details, using the subscriptionUpdateById endpoint as shown below:

Request Example:

Update Subscription Details Example
{
    "description": "36 month premium plan",
    "metadata": {
        "supplier": "Tyrell Corporation"
    },
    "shippingDetails": {
        ...
    },
    "paymentSettings": {
        ...
    }
}

If the request is successful, the response will include the updated subscription details with the new information.

Alternatively, you can update these details in the Ryft Portal by selecting the subscription, clicking on the Edit button and updating the relevant fields.

Updating the Subscription Status

In certain situations, you may need to change the status of a subscription. For example, you may want to pause a subscription if the customer requests a temporary halt in service, or cancel a subscription if the customer decides to terminate their subscription.

Please note that pausing a subscription is different from cancelling it. When a subscription is paused, the customer will not be charged for the duration of the pause, but the subscription will remain active and can be resumed later. When a subscription is cancelled, it is terminated and cannot be resumed.

For more information about the different subscription states, please refer to the this section.

Pausing a Subscription

Subscriptions can be configured to be paused either indefinitely or for a specific period. When a subscription is paused, no further payments will be charged until the subscription is resumed.

You can pause an Active subscription using the subscriptionPauseById endpoint.

Alternatively, you can pause a subscription in the Ryft Portal by selecting the subscription and clicking on the Adjust button.

Please note that the subscription will remain in the Active state until it was next due for billing. At that point, the subscription status will be updated to Paused, and no further payments will be charged until the subscription is resumed. The subscription can however be updated again during this period to change the pause duration or to resume it earlier.

Resuming a Subscription

You can resume a Paused subscription using the subscriptionResumeById endpoint or by selecting the subscription in the Ryft Portal and clicking on the Adjust button.

Cancelling a Subscription

Subscriptions can be cancelled using the subscriptionCancelById endpoint or by selecting the subscription in the Ryft Portal and clicking on the Adjust button.

When cancelling a subscription, it will immediately be updated to the Cancelled state, and no further payments will be charged. The subscription cannot be resumed once it has been cancelled.