Просмотр исходного кода

Merge pull request #2235 from overleaf/ta-recurly-subscription-callbacks

Sync Recurly Subscriptions on New and Updated Events

GitOrigin-RevId: 597a7cb529d8c872693aae20cdb81a8edb1b7778
Eric Mc Sween 7 лет назад
Родитель
Сommit
cc1de97df8

+ 8 - 4
services/web/app/src/Features/Subscription/SubscriptionController.js

@@ -355,12 +355,16 @@ module.exports = SubscriptionController = {
   recurlyCallback(req, res, next) {
     logger.log({ data: req.body }, 'received recurly callback')
     // we only care if a subscription has exipired
+    const event = Object.keys(req.body)[0]
+    const eventData = req.body[event]
     if (
-      req.body != null &&
-      req.body['expired_subscription_notification'] != null
+      [
+        'new_subscription_notification',
+        'updated_subscription_notification',
+        'expired_subscription_notification'
+      ].includes(event)
     ) {
-      const recurlySubscription =
-        req.body['expired_subscription_notification'].subscription
+      const recurlySubscription = eventData.subscription
       return SubscriptionHandler.recurlyCallback(
         recurlySubscription,
         { ip: req.ip },

+ 1 - 1
services/web/test/unit/src/Subscription/SubscriptionControllerTests.js

@@ -550,7 +550,7 @@ describe('SubscriptionController', function() {
         this.user.id = this.activeRecurlySubscription.account.account_code
         this.req = {
           body: {
-            new_subscription_notification: {
+            renewed_subscription_notification: {
               subscription: {
                 uuid: this.activeRecurlySubscription.uuid
               }