From c4463f991b8a6e7c46a40a43151cdd6aa9cf808b Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Thu, 30 Mar 2017 00:14:51 +0200 Subject: [PATCH] stripe webhook: fix handling of automatic requests --- test/api/v3/unit/libs/stripePayments.test.js | 7 ++++++- website/server/libs/stripePayments.js | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/test/api/v3/unit/libs/stripePayments.test.js b/test/api/v3/unit/libs/stripePayments.test.js index 5ccc4afaf3..8834bf1a92 100644 --- a/test/api/v3/unit/libs/stripePayments.test.js +++ b/test/api/v3/unit/libs/stripePayments.test.js @@ -810,7 +810,7 @@ describe('Stripe Payments', () => { sinon.stub(stripe.events, 'retrieve').returnsPromise().resolves({ id: 123, type: eventType, - request: null, + request: 123, }); await stripePayments.handleWebhooks({requestBody: {}}, stripe); @@ -835,6 +835,7 @@ describe('Stripe Payments', () => { customer: customerId, }, }, + request: null, }); await expect(stripePayments.handleWebhooks({requestBody: {}}, stripe)).to.eventually.be.rejectedWith({ @@ -868,6 +869,7 @@ describe('Stripe Payments', () => { customer: customerId, }, }, + request: null, }); await stripePayments.handleWebhooks({requestBody: {}}, stripe); @@ -900,6 +902,7 @@ describe('Stripe Payments', () => { customer: customerId, }, }, + request: null, }); await expect(stripePayments.handleWebhooks({requestBody: {}}, stripe)).to.eventually.be.rejectedWith({ @@ -938,6 +941,7 @@ describe('Stripe Payments', () => { customer: customerId, }, }, + request: null, }); await expect(stripePayments.handleWebhooks({requestBody: {}}, stripe)).to.eventually.be.rejectedWith({ @@ -979,6 +983,7 @@ describe('Stripe Payments', () => { customer: customerId, }, }, + request: null, }); await stripePayments.handleWebhooks({requestBody: {}}, stripe); diff --git a/website/server/libs/stripePayments.js b/website/server/libs/stripePayments.js index d00bcaea0f..83a812b952 100644 --- a/website/server/libs/stripePayments.js +++ b/website/server/libs/stripePayments.js @@ -291,9 +291,9 @@ api.handleWebhooks = async function handleWebhooks (options, stripeInc) { switch (event.type) { case 'customer.subscription.deleted': { - // event.request === null means that the user itself cancelled the subscrioption, + // event.request !== null means that the user itself cancelled the subscrioption, // the cancellation on our side has been already handled - if (event.request === null) break; + if (event.request !== null) break; const subscription = event.data.object; const customerId = subscription.customer;