paddle-sdk
paddle-sdk copied to clipboard
Update subscription price
What do you think about adding feature for updating subscription price?
This is how it could be:
/**
* Update subscription price
*
* @method
* @param {number} subscriptionID
* @param {number} price
* @param {string} currency
* @param {boolean} immediately
* @returns {Promise}
* @fulfill {object} - The result of the operation
*
* @example
* const result = await client.updateSubscriptionPrice(123, 44, 'USD');
*/
updateSubscriptionPrice (subscriptionID, price, currency, immediately = true) {
return this._request('/subscription/users/update', {
body: {
subscription_id: subscriptionID,
bill_immediately: immediately,
prorate: immediately,
quantity: 1,
recurring_price: price,
currency
}
});
}
Please submit this code as a PR.
By the way - we can put extra options to separate object for both methods updateSubscriptionPrice and updateSubscriptionPlan
Like this:
updateSubscriptionPlan (subscriptionID, planID, options = {prorate: false}) {
// for backward compability:
if (typeof options === "boolean") {
options = {prorate: options};
}
return this._request('/subscription/users/update', {
body: {
subscription_id: subscriptionID,
plan_id: planID,
...options
}
});
}
and
updateSubscriptionPrice (subscriptionID, price, currency, options) {
return this._request('/subscription/users/update', {
body: {
subscription_id: subscriptionID,
recurring_price: price,
currency,
...options
}
});
}