UNPKG

@shopify/shopify-app-react-router

Version:

Shopify React Router - to simplify the building of Shopify Apps with React Router

40 lines (36 loc) 1.47 kB
'use strict'; var shopifyApi = require('@shopify/shopify-api'); require('../../../types.js'); var respondToInvalidSessionToken = require('../../helpers/respond-to-invalid-session-token.js'); var invalidateAccessToken = require('../../helpers/invalidate-access-token.js'); require('isbot'); function cancelBillingFactory(params, request, session) { return async function cancelBilling(options) { const { api, logger } = params; logger.debug('Cancelling billing', { shop: session.shop, ...options }); try { return await api.billing.cancel({ session, subscriptionId: options.subscriptionId, isTest: options.isTest, prorate: options.prorate, }); } catch (error) { if (error instanceof shopifyApi.HttpResponseError && error.response.code === 401) { logger.debug('API token was invalid, responding to invalid session', { shop: session.shop, }); await invalidateAccessToken.invalidateAccessToken(params, session); throw respondToInvalidSessionToken.respondToInvalidSessionToken({ params, request, retryRequest: true, }); } throw error; } }; } exports.cancelBillingFactory = cancelBillingFactory; //# sourceMappingURL=cancel.js.map