diff --git a/src/appstore.js b/src/appstore.js index a7a11cecc..11670f3c1 100644 --- a/src/appstore.js +++ b/src/appstore.js @@ -85,6 +85,7 @@ function purchase(appId, appstoreId, callback) { if (error && !error.response) return callback(new AppstoreError(AppstoreError.EXTERNAL_ERROR, error)); if (result.statusCode === 404) return callback(new AppstoreError(AppstoreError.NOT_FOUND)); if (result.statusCode === 403 || result.statusCode === 401) return callback(new AppstoreError(AppstoreError.BILLING_REQUIRED)); + if (result.statusCode === 402) return callback(new AppstoreError(AppstoreError.BILLING_REQUIRED, result.body.message)); if (result.statusCode !== 201 && result.statusCode !== 200) return callback(new AppstoreError(AppstoreError.EXTERNAL_ERROR, util.format('App purchase failed. %s %j', result.status, result.body))); callback(null); diff --git a/src/routes/apps.js b/src/routes/apps.js index 0aa0b4dde..654fb8aff 100644 --- a/src/routes/apps.js +++ b/src/routes/apps.js @@ -139,7 +139,7 @@ function installApp(req, res, next) { if (error && error.reason === AppsError.PORT_RESERVED) return next(new HttpError(409, 'Port ' + error.message + ' is reserved.')); if (error && error.reason === AppsError.PORT_CONFLICT) return next(new HttpError(409, 'Port ' + error.message + ' is already in use.')); if (error && error.reason === AppsError.BAD_FIELD) return next(new HttpError(400, error.message)); - if (error && error.reason === AppsError.BILLING_REQUIRED) return next(new HttpError(402, 'Billing required')); + if (error && error.reason === AppsError.BILLING_REQUIRED) return next(new HttpError(402, error.message)); if (error && error.reason === AppsError.BAD_CERTIFICATE) return next(new HttpError(400, error.message)); if (error && error.reason === AppsError.EXTERNAL_ERROR) return next(new HttpError(503, error.message)); if (error) return next(new HttpError(500, error));