How to Manage Upgrade/Downgrade of Product or Subscription Level

PayKickstart offers a few different options when handling the ability to Upgrade or Downgrade of a customer(s) from one Product/Subscription Level to another.


Option #1: Inside PayKickstart

To manually upgrade or downgrade a customers Product/Subscription Level, go to Payments >> Subscriptions.  Then click on the “Upgrade/Downgrade” button for that particular subscription.

Now you can choose the product from the same campaign that you want to change the customer to.
IMPORTANT: The new Product must be from the same campaign as the customer’s current subscription.

By default, the system will set today as the next billing date and charge the customer a proration amount or apply a credit based on the change from previous subscription to the new one.

If upgrading to a higher value plan, the customer would be charged the new subscription price on the next charge date.

If downgrading to a lower value plan, the customer would be provided “Credit” on the new subscription to use on future payments until the credit is gone.


(OPTIONAL) Vendors also have the option to enable and use the advanced options to alter the subscription next charge date, First charge amount and units allowed if they need to alter these manually.

A popup modal will display with 3 options.

#1. Product:  Select the new product/subscription they should now be associated with.
Note: You must FIRST have this product setup in PayKickstart in the same campaign as the original product purchased and it MUST be a recurring subscription product.

#2. First Charge: This is the amount that you want to charge today as part of the proration. This amount will be billed to the customer today.

If you want to prevent the customer from receiving a credit or probation charge on the up/downgrade, you can set the “first charge’ as “0”.

3. Units Allowed:  This optional feature will ONLY show if you are using our usage-based feature. It will allow you to manually add units allowed for the first period of the new subscription.

#4. Next Charge Date: This field shows the next time the customer will be charged for the subscription.

you can specify a future date for the next charge in this section or leave it as is to charge on the next previously established billing date

If you do not alter #2, #3, or #4  by using the advanced settings, PayKickstart will handle the subscription change automatically calculating the next charge amount and usage units(if applicable).


Option #2: PayKickstart API

This option was designed for those who have the technical resources to create custom subscription management.  Typically this option is for SaaS/Web Applications that have their own Billing area inside their app and want to offer various Level/Plans and allow the customer to manage their account inside the app.

Here are two outlines of how you can achieve this using PayKickstart:

2a: If you do not have a Reference Purchase or prefer to the customer re-enter billing info:

  1. Each level would be created as a separate product.
  2. When your user logs into your app and clicks on one of the upgrade / downgrade buttons, this should trigger a separate purchase of the new “level” (product) in PayKickstart. You can either pass a unique customer identifier to our standard checkout URL like this: https://app.paykickstart.com/checkout/1234?customer=1234
    (where customer is your customer’s id), or if you also want to control the product price at a granular level for things like pro-rata usage billing, you can create your own Purchase request via our API (see documentation for that here: https://support.paykickstart.com/api/#new-purchase) .NOTE: to charge a pro-rated upgrade price, you can override the trial fields – set a trial amount and trial days. This will set the amount to charge in the first transactions and the number of days to wait before billing the subscription with the normal product pricing.If you want to prevent the customer from receiving a credit or probation charge on the up/downgrade, you can set the “first charge’ as “0”.
  3. After the customer has purchased the new “level”, our IPN notifier will fire a POST request to the endpoint of your choosing – here’s a link to the documentation on that: https://support.paykickstart.com/api/#instant-payment-notification-ipn. You’ll note that it’ll pass back your customer’s identifier in the POST as custom_FIELDNAME where FIELDNAME is the custom field name you passed to the checkout page. Your IPN digest script (i.e. the script at the URL you defined in your product’s settings that receives the IPN notification) can then use the IPN it receives to match the customer’s identifier to your customer record in your application, and change his “level” to the desired level in your app.

You should also CANCEL the previous subscription in PayKickstart (if this is relevant) for whichever level your customer was on before – you can do that using this API: https://support.paykickstart.com/api/#cancel-subscription

2b: If you prefer the customer NOT re-enter billing info:

If using the Old PayPal(Adaptive/Depreciated) (Not Braintree Paypal) integration, upgrade/downgrade is not possible via API. Customer will have to cancel existing subscription and buy new subscription.

1. Each level would be created as a separate product.
2. Fetch the customer’s purchase record using our Get Purchase API (https://support.paykickstart.com/api/#get-purchase)
3. Use our New Purchase API (https://support.paykickstart.com/api/#new-purchase) and pass invoice ID from
#2 as “ref_purchase” parameter. You can use all other parameters according to your need. This way our system will charge
customer’s existing billing method.

NOTE: to charge a pro-rated upgrade price, you can override the trial fields – set a trial amount and trial days. This will set the amount to charge in the first transactions and the number of days to wait before billing the subscription with the normal product pricing.

If you want to prevent the customer from receiving a credit or probation charge on the up/downgrade, you can set the “first charge’ as “0”.

4. If you receive a successful response from #3 then cancel the old subscription using our Cancel Subscription API (https://support.paykickstart.com/api/#cancel-subscription)

2c: Standard API call to up/downgrade subscription. 

https://support.paykickstart.com/api/#up-downgrade-subscription

NOTE: If you want to prevent the customer from receiving a credit or probation charge on the up/downgrade, you can set the “first charge’ as “0”.


Option #3: PayKickstart Customer Billing Portal

If you have enabled the ability in your products for “Available on billing portal”, then customers can also up/downgrade their subscriptions by themselves via the billing portal.

If the customer up/downgrades via the self-service billing portal, then PayKickstart will automatically handle and proration or credit to be applied to the customer’s subscription.

https://support.paykickstart.com/knowledge-base/customer-billing-portal/

 


Additional Notes: 

  • Credit Remaining (At the time of the transaction) will show on the customer’s invoice if applicable.
  • Related Subscription transactions will also show credits applied and used if applicable

Related Articles