Support subscription plan changes in Core API

πŸ” Problem Statement
Change plan functionality does not exist in the Core API, which forces teams to rely on manual intervention.


πŸ’‘ User Story
As a developer, I want the Core API to support change plan functionality so that I can manage subscription plan changes programmatically in bulk, without manual steps, and maintain consistency with the platform and Open API.


🎯 Definition of Done (DoD)

A feature is considered complete when:

βœ”οΈ The Core API subscriptionUpdate endpoint supports change plan functionality.
βœ”οΈ The Core API subscriptionUpdate endpoint supports updating address functionality.
βœ”οΈ All validations match those that exist in the platform/Open API.
βœ”οΈ Subscriptions can be updated via the Core API without requiring manual intervention.

Test Cases

  • Changing a subscription to a plan that costs less than the next upcoming phase

  • Changing a subscription to a plan that costs less than the next upcoming phase

  • Changing a subscription to a plan that costs more than the next upcoming phase

  • Changing a subscription to a plan that costs more than the next upcoming phase

  • Changing a subscription to a plan that costs less than the next upcoming phase

  • Changing a subscription to a plan that costs more than the next upcoming phase

  • Changing a subscription to a plan that costs less than the next upcoming phase

  • When the address ID belongs to another customer or is invalid, the error message should be changed from "This product is not available in your area"

  • Trying to change an expired subscription

  • Changing to an archived plan

  • Changing to a plan that exists in another account should be blocked

  • Changing a redeemed gift should be blocked

  • Sending a subscription ID that belongs to another site

  • Coupon gets applied to the new subscription invoice although it was restricted for the first plan only

  • Changing from an auto-renewal plan to a one-time plan should set the subscription to cancel_at_period_end

  • Changing from a one-time plan to an auto-renewal plan should set the subscription to renewal cycles instead of expire_at_period_end

  • Downgrading/upgrading any subscription that has a schedule will not change the end_date for the current phase

  • Changing a subscription that has future phases changes the collection method to "paying manually" on the cancelled plan and the new one

Please authenticate to join the conversation.

Upvoters
Status

Available

Board
πŸ’‘

Pelcro Product

ETA
Sep 30, 2025
Date

6 months ago

Author

Rana Haleem

Subscribe to post

Get notified by email when there are changes.