From d83525b54bb02ccee310b1c675e1d208fe2cbe9c Mon Sep 17 00:00:00 2001 From: Nazar Gargol Date: Fri, 12 Jun 2020 15:33:06 +1200 Subject: [PATCH] Added stripe customer fetching method to member's API no issue - This method is needed to be able to validate if customer exist in configured Stripe account before attempting to link one with local member. --- ghost/members-api/lib/stripe/index.js | 4 ++++ ghost/members-api/lib/users.js | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/ghost/members-api/lib/stripe/index.js b/ghost/members-api/lib/stripe/index.js index 3fbdfb3291..e418e7479b 100644 --- a/ghost/members-api/lib/stripe/index.js +++ b/ghost/members-api/lib/stripe/index.js @@ -153,6 +153,10 @@ module.exports = class StripePaymentProcessor { return customer; } + async getStripeCustomer(id) { + return await retrieve(this._stripe, 'customers', id); + } + async createCheckoutSetupSession(member, options) { const customer = await this._customerForMemberCheckoutSession(member); diff --git a/ghost/members-api/lib/users.js b/ghost/members-api/lib/users.js index cc1e87bf2e..70afd7c8a8 100644 --- a/ghost/members-api/lib/users.js +++ b/ghost/members-api/lib/users.js @@ -89,6 +89,12 @@ module.exports = function ({ } } + async function getStripeCustomer(id) { + if (stripe) { + return await stripe.getStripeCustomer(id); + } + } + async function get(data, options) { debug(`get id:${data.id} email:${data.email}`); const member = await getMember(data, options); @@ -189,6 +195,7 @@ module.exports = function ({ setComplimentarySubscription, cancelComplimentarySubscription, destroyStripeSubscriptions, + getStripeCustomer, linkStripeCustomer }; };