diff --git a/ghost/members-api/lib/stripe/index.js b/ghost/members-api/lib/stripe/index.js index 7cdeb01e58..f63014b5bf 100644 --- a/ghost/members-api/lib/stripe/index.js +++ b/ghost/members-api/lib/stripe/index.js @@ -108,7 +108,7 @@ module.exports = class StripePaymentProcessor { }; } - async getActiveSubscriptions(member) { + async getSubscriptions(member) { const metadata = await this.storage.get(member); const customers = await Promise.all(metadata.map(async (data) => { @@ -134,17 +134,10 @@ module.exports = class StripePaymentProcessor { if (!subscription.plan) { return subscriptions; } - // Ignore cancelled subscriptions - if (subscription.status === 'cancelled') { - return subscriptions; - } - // Ignore unpaid subscriptions - if (subscription.status === 'unpaid') { - return subscriptions; - } return subscriptions.concat([{ customer: customer.id, + status: subscription.status, subscription: subscription.id, plan: subscription.plan.id, name: subscription.plan.nickname, @@ -155,6 +148,14 @@ module.exports = class StripePaymentProcessor { }, []); } + async getActiveSubscriptions(member) { + const subscriptions = await this.getSubscriptions(member); + + return subscriptions.filter((subscription) => { + return subscription.status !== 'cancelled' && subscription.status !== 'unpaid'; + }); + } + async addCustomerToMember(member, customer) { const metadata = await this.storage.get(member); // Do not add the customer if they are already linked