diff --git a/services/web/app/coffee/Features/Subscription/RecurlyWrapper.coffee b/services/web/app/coffee/Features/Subscription/RecurlyWrapper.coffee index 1f7c21b02d..60387c0dc0 100644 --- a/services/web/app/coffee/Features/Subscription/RecurlyWrapper.coffee +++ b/services/web/app/coffee/Features/Subscription/RecurlyWrapper.coffee @@ -418,10 +418,15 @@ module.exports = RecurlyWrapper = url: "subscriptions/#{subscriptionId}/cancel", method: "put" }, (error, response, body) -> - if error? and body?.match(/.*A canceled subscription can't transition to canceled.*/) - logger.log {subscriptionId, error, body}, "subscription already cancelled, not really an error, proceeding" - error = null - callback(error) + if error? + RecurlyWrapper._parseXml body, (_err, parsed) -> + if parsed?.error?.description == "A canceled subscription can't transition to canceled" + logger.log {subscriptionId, error, body}, "subscription already cancelled, not really an error, proceeding" + callback(null) + else + callback(error) + else + callback(null) ) reactivateSubscription: (subscriptionId, callback) ->