Upgrade a user's subscription plan

Hello Team,

We have implemented Square subscriptions for a 14-day trial account after a monthly $100 charge. and now looking for another way to upgrade a user’s subscription plan in the middle of their current subscription. The goal is to immediately activate the upgraded plan and charge only the difference in subscription amounts for the current month. The remaining amount should be charged next month.

For example, if the previous billing amount was $100 and the user upgrades their plan after 4 days, which costs $150, we should immediately charge $47 (the difference) and then charge the remaining balance for the 26 days of the current month.

We have reviewed the documentation for “Swap variations for one customer API,” but it seems to cancel the current subscription and create a new one, whereas we need to maintain the subscription plan variation and calculate the balance date for the new plan.

We have also considered billing cycles such as Daily, Weekly, every two weeks, etc., but we need to determine how many days are remaining in the current plan and create the new plan cadence.

Screen Short : Screenshot by Lightshot
Screenshot by Lightshot
Screenshot by Lightshot
Screenshot by Lightshot

Document URL: Swap Subscription Plan Variations
Subscription Plans and Variations

Thank you.

With the Subscriptions API a new SWAP_PLAN action the customer remains subscribed to the original plan variation until the end of the current billing cycle, at which time the new plan variation replaces the original variation. If the customer is in the middle of a billing cycle and you want to subscribe them to a new plan variation effective immediately, you must cancel the current subscription and create a new subscription with the desired plan variation. :slightly_smiling_face: