Files
overleaf-cep/services/web/app/src/Features/Subscription/Errors.js
Kristina 2ac46151f8 Merge pull request #26996 from overleaf/kh-include-region-in-errors
[web] improve errors thrown from StripeClient & PaymentService

GitOrigin-RevId: 59319936cc0caa876d80b068aac324dfe469b343
2025-07-15 08:05:14 +00:00

76 lines
1.8 KiB
JavaScript

// @ts-check
const Errors = require('../Errors/Errors')
const OError = require('@overleaf/o-error')
class RecurlyTransactionError extends Errors.BackwardCompatibleError {
constructor(options) {
super({
message: 'Unknown transaction error',
...options,
})
}
}
class DuplicateAddOnError extends OError {}
class AddOnNotPresentError extends OError {}
class MissingBillingInfoError extends OError {}
class ManuallyCollectedError extends OError {}
class PendingChangeError extends OError {}
class InactiveError extends OError {}
class SubtotalLimitExceededError extends OError {}
class HasPastDueInvoiceError extends OError {}
class HasNoAdditionalLicenseWhenManuallyCollectedError extends OError {}
/**
* @typedef {Object} PaymentActionRequiredInfo
* @property {string} PaymentActionRequiredInfo.clientSecret
* @property {string} PaymentActionRequiredInfo.publicKey
*/
class PaymentActionRequiredError extends OError {
/**
* @param {PaymentActionRequiredInfo} info
*/
constructor(info) {
super('Payment action required', info)
}
}
/**
* @typedef {Object} PaymentFailedInfo
* @property {string} PaymentFailedInfo.subscriptionId
* @property {string} PaymentFailedInfo.reason
* @property {string} PaymentFailedInfo.adviceCode
*/
class PaymentFailedError extends OError {
/**
* @param {PaymentFailedInfo} info
*/
constructor(info) {
super('Failed to process payment', info)
}
}
module.exports = {
RecurlyTransactionError,
DuplicateAddOnError,
AddOnNotPresentError,
PaymentActionRequiredError,
PaymentFailedError,
MissingBillingInfoError,
ManuallyCollectedError,
PendingChangeError,
InactiveError,
SubtotalLimitExceededError,
HasPastDueInvoiceError,
HasNoAdditionalLicenseWhenManuallyCollectedError,
}