From 4268ba54bff7c2f8416098a756d7787693c1eef1 Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Fri, 30 Dec 2016 15:34:24 +0100 Subject: [PATCH] If app purchase failed, show appstore login Since we don't have cases like failing to charge credit card so far, the only reason it can fail here is that the appstore token or userId is incorrect/expired Fixes #52 --- src/apps.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/apps.js b/src/apps.js index f252f58aa..6a06e9e15 100644 --- a/src/apps.js +++ b/src/apps.js @@ -370,6 +370,7 @@ function purchase(appId, appstoreId, callback) { superagent.post(url).send(data).query({ accessToken: appstoreConfig.token }).timeout(30 * 1000).end(function (error, result) { if (error && !error.response) return callback(new AppsError(AppsError.EXTERNAL_ERROR, error)); if (result.statusCode === 404) return callback(new AppsError(AppsError.NOT_FOUND)); + if (result.statusCode === 403) return callback(new AppsError(AppsError.BILLING_REQUIRED)); if (result.statusCode !== 201 && result.statusCode !== 200) return callback(new AppsError(AppsError.EXTERNAL_ERROR, util.format('App purchase failed. %s %j', result.status, result.body))); callback(null);