mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-25 10:10:08 +02:00
[web] improve errors thrown from StripeClient & PaymentService GitOrigin-RevId: 59319936cc0caa876d80b068aac324dfe469b343
76 lines
1.8 KiB
JavaScript
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,
|
|
}
|