Update Subscriptions

As you gain subscribers, you might need to modify their subscriptions or update certain information. MoneyHash offers various options to better manage ongoing subscriptions, ensuring they are tailored to each specific scenario.

Ways to update a subscription

There are many details in a subscription that can be updated after it has already started. MoneyHash offers ways to manage ongoing subscriptions by updating their data, such as switching between plans, changing the amount to be charged in each cycle, applying discounts, and altering the cycle duration. Lastly, you can also update a subscription card token.

Update card token

API

Update the card token to automatically charge a subscription invoice.

Change Subscription Plan

API

Modify the subscription plan and reset the subscription value to the new plan.

Apply Discount to Subscription

API

Add new discounts or update existing discounts to a subscription that already exists.

Update Subscription cycle duration

API

Adjust the remaining cycles of a subscription to be longer or shorter than the original.

Update Subscription Amount

API

Change the amount of the subscription without making any changes to the other parameters.

Warning

All these updates can only be done when the subscription is in one of the following status:

  • NEW
  • TRIAL
  • INCOMPLETE
  • ACTIVE

In case the subscription is updated while its status is NEW, both the trial period and one-time fee of the new plan will be applied. However, if the subscription's status is INCOMPLETE, the trial period will be ignored while the one-time fee will still be applicable.

Change subscription plan

To switch to a different subscription plan, you can modify the current subscription plan and reset the subscription value to the new plan. When this change is initiated, all parameters of the current subscription, except the Trial period and One-time fee, will be changed to the parameters of the new plan and will be applied starting from the next billing cycle.

Apply discount to subscription

To add or update discounts to an existing subscription, you can apply new discounts to override any existing discounts within the subscription. This will update the discount parameters of the subscription with the new discount amount/percentage and discount cycle.

Update subscription cycle duration

Adjust existing subscription remaining cycles to be longer or shorter than the original remaining cycle. You need to inform the remaining_recurring_cycles parameter in the payload with its new value. The response will update the remaining_recurring_cycles of the subscription to the new specified value and reflect this change on the total reccuring_cyles of the subscription.

Update Subscription Amount

Modifying the subscription amount without altering any other parameter is a straightforward way to customize the cost of an existing subscription without altering any other subscription parameters.

Update subscription card token

If the subscription was initially created using card tokens, you can update the customer's card information by replacing the current primary_card_token. This is particularly useful when the current card has expired.

Moreover, you can utilize the update operation to convert a subscription that wasn't charged automatically into an automatically charged one. To achieve this, store a new primary_card_token and set charge_automatically to true in the process.

To update the card token for a subscription, utilize the Update subscription endpoint.

How to manage multiple updates in the same cycle

You may face the need to make multiple updates to a subscription to fit your customer needs, changing multiple parameters, or even making more than one update to the same one. Below are a few use cases presenting how these updates will work and the result in each scenario.

Use Case 1: Multiple changes for the same parameter

Only the last change should be considered when a parameter is changed multiple times in a single cycle. For example:

Having an initial subscription amount of $100. Executing the following two changes:

  • Change 1: The amount is set to $150.
  • Change 2: The amount is set to $130.

The result will be the last updated value. This means the next invoice will have an amount of $130.

Use Case 2: Multiple changes for multiple parameters without a plan change

When there are changes to multiple parameters, each change should be considered independently without requiring a plan change. For example:

Having an initial subscription amount of $100. Executing the following two changes:

  • Change 1: The amount is set to $150.
  • Change 2: Discount set to 15%.

As the changes are made to different parameters, the last update to each will apply, and both changes will be considered. Resulting in an amount of $150 with a 15% discount.

Use Case 3: Change the plan, then change any other parameter

If there is a change in the plan and another parameter is subsequently changed, the plan change should apply to all parameters except the one changed later. For example:

Initially, with a subscription to Plan A, with an amount of $100 and a discount of 10%.

  • Change 1: Switch to Plan B, with an amount of $120 and no discount.
  • Change 2: The amount is set to $130.

As the change to the amount was made after switching plans, the next invoice will apply every parameter from Plan B, except for the later changed amount. Resulting in an invoice amount of $130, and no discount applied.

Use Case 4: Change the parameter, then change the plan

When a parameter changes before a plan change in the same cycle, the plan change takes precedence over previous changes. For example:

Having an initial subscription amount of $100. Executing the following two changes:

  • Change 1: The amount is set to $150.
  • Change 2: Switches to Plan B, with an amount of $200.

The Plan change will overrule Change 1, and all parameters should be taken from the new plan (Plan B). resulting in an amount of $200, as per Plan B.