Upgrading and Downgrading Subscriptions Overview
The Change Product endpoint allows you to switch a customer's subscription to a different product, making it ideal for plan upgrades, downgrades, or product changes.This powerful API method enables you to adapt to your customers' changing needs while maintaining continuous service.
Use Cases
Common scenarios for changing subscription products include:
- Upgrading - Moving a customer from a basic plan to a premium plan with enhanced features
- Downgrading - Moving a customer from a premium plan to a basic plan to better match their needs
- Product Migration - Switching customers to a new product offering or updated service tier
- Plan Adjustments - Changing features or service levels based on customer needs and usage patterns
Prerequisites
Before you begin, ensure you have:
- An active PayPro Global merchant account
- The subscription ID you want to modify
- The new product ID you want to switch to
- Your API credentials:
- Vendor Account ID - Found in Account settings > Business info
- API Secret Key - Found in Store settings > General settings > Integration tab
API Endpoint
application/json
object
integer
integer
boolean
If true, it sends a customer an email that informs
about the changed subscription details, false otherwise.
By default, the customer doesn't receive any email notification.
integer
integer
It can be found in Account settings > Business info.
string
that was generated specifically for authenticating API requests.
It can be found in Store settings > General settings > Integration tab.
application/json
object
object
integer
integer
boolean
If true, it sends a customer an email that informs
about the changed subscription details, false otherwise.
By default, the customer doesn't receive any email notification.
integer
integer
It can be found in Account settings > Business info.
string
that was generated specifically for authenticating API requests.
It can be found in Store settings > General settings > Integration tab.
array[object]
string
array[string]
boolean
{
"productId": 12345,
"quantity": 3,
"sendCustomerNotification": true,
"subscriptionId": 1111111,
"vendorAccountId": 123456,
"apiSecretKey": "your_api_secret_key"
}
{
"request": {
"productId": 12345,
"quantity": 3,
"sendCustomerNotification": true,
"subscriptionId": 1111111,
"vendorAccountId": 123456,
"apiSecretKey": "your_api_secret_key"
},
"errors": [],
"isSuccess": true
}
Best Practices
1. Customer Communication
Keeping your customers informed is crucial for maintaining trust and satisfaction:
- Set sendCustomerNotification to true when making changes that affect the customer's service
- Send additional communication through your own channels for important upgrades or downgrades to ensure the message is received
- Provide clear information about what changes with the new product, including:
- Feature differences between old and new products
- Pricing changes and when they take effect
- Any changes to billing cycles or payment dates
- Steps customers need to take (if any)
2. Validation Before API Call
Before calling the API, validate that:
- The subscription ID exists and belongs to the customer
- The new product ID is valid and available
- The customer has permission to make this change
- The product change makes business sense (upgrade/downgrade logic)
The new product's features and pricing will take effect with the next billing cycle. Plan your communication and timing accordingly.
3. Proration Considerations
Understanding how product changes affect billing is essential for managing customer expectations and revenue:
Timing of Changes
Product changes become effective based on your business rules, but typically align with billing cycles. Consider:
- When the customer will see the change reflected in their account
- How the current billing period will be handled
- When the new pricing will begin
Managing Billing Adjustments
PayPro Global provides several API methods to handle proration scenarios:
For Upgrades (Moving to Higher-Priced Plans):
Use the Do Reference Charge API if you need to charge the customer for the price difference on the current billing cycle. This allows you to immediately charge the prorated amount for the upgraded service during the current billing period.
For Downgrades (Moving to Lower-Priced Plans):
Use the Apply Accumulative Discount API to provide the customer with credit for the unused amount of the current billing cycle. This ensures customers receive appropriate credit when moving to a less expensive plan.
Adjusting Billing Cycle Length:
Use the Change Next Payment Date API if you need to update the length of the current billing cycle. This is useful when you want to align the billing cycle with the product change or provide extended access.
Best Practices for Proration
- Communicate clearly - Always inform customers about any immediate charges or credits
- Be transparent - Explain the calculation method for any proration
- Provide documentation - Include line items in invoices showing the proration details
- Consider customer satisfaction - Sometimes absorbing small differences can improve customer loyalty
- Test scenarios - Verify your proration logic works correctly for various timing situations
Related API Methods
To fully manage subscription upgrades and downgrades, you may need these additional endpoints:
- Do Reference Charge - Charge customers for upgrade differences
- Apply Accumulative Discount - Provide credits for downgrades
- Change Next Payment Date - Adjust billing cycle timing
- Get Subscription Details - Retrieve current subscription information
Support
For additional assistance, email us at [email protected]