Skip to main content

Upgrade/downgrade a subscription

POST 

/api/v3/package/:package_id/_action/upgrade

When you want to change how the services one of your customers is billing for, you’ll go through the upgrade/downgrade process.

The upgrade/downgrade process allows you to:

  • Change a customer’s product to a different product
  • Change the amount a customer is charged each month
  • Add or remove products that are charged each month

Example of upgrading a package, changing a specific line item to a different product/service type: When you want to change how the services one of your customers is billing for, you’ll go through the upgrade/downgrade process.

The upgrade/downgrade process allows you to:

  • Change a customer’s product to a different product
  • Change the amount a customer is charged each month
  • Add or remove products that are charged each month

This example shows how to change a customer's subscription to a different product type, AND how to create a prorated invoice for the new amount / credit back the unused portion of the old product to the customer. When you want to change how the services one of your customers is billing for, you’ll go through the upgrade/downgrade process.

The upgrade/downgrade process allows you to:

  • Change a customer’s product to a different product
  • Change the amount a customer is charged each month
  • Add or remove products that are charged each month

This example shows how to add a line item to a customer's subscription AND how to create a prorated invoice for the new amount.

  • The subscribe_prorate_from_datetime and subscribe_prorate_to_datetime fields are optional -- if you don't specify dates, ChargeOver will assume the current date until the end of the current billing cycle
  • The subscribe_prorate_cycle options are: "now" (generate an invoice for the prorated amount right now) or "next"(add the prorated charge to the next invoice that will be generated at the end of the billing cycle)

It is also possible to cancel a specific line item on a subscription so that the customer will no longer be billed for it on future invoices.

The example to the right shows how to cancel a line item on a subscription using the line_item_id of the line item(s) you want to cancel.

If you cancel all the lines on the subscription, the default behavior is to leave the subscription itself active (but with no line items). If you want to cancel the subscription itself when all the line items are cancelled, you can also specify: "cancel_package_if_last_line_item": true

Changing a subscription price is accomplished by going through the upgrade/downgrade REST API call.

The example to the right shows how to change the pricing on a subscription.

Request

Body

    line_items

    object

    0

    object

    _comment string
    line_quantity number
    subscribe_prorate boolean
    subscribe_prorate_cycle string
    subscribe_prorate_when string
    subscribe_prorate_from_datetime string
    cancel_prorate boolean
    cancel_prorate_credit boolean
    cancel_prorate_cycle string
    cancel boolean
    line_item_id integer
    item_id integer
    descrip string

    tierset

    object

    setup number
    base number
    pricemodel string

    tiers

    object

    0

    object

    unit_from number
    unit_to number
    amount number

Responses

Action completed successfully

Schema

    code integer
    status string
    message stringnullable
    details objectnullable
    response boolean
Loading...