@maxio-com/advanced-billing-sdk
Version:
Ultimate billing and pricing flexibility for B2B SaaS. Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.
53 lines • 2.52 kB
JavaScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { boolean, expandoObject, lazy, nullable, optional, string, } from '../schema.js';
import { subscriptionCustomPriceExpirationIntervalSchema, } from './containers/subscriptionCustomPriceExpirationInterval.js';
import { subscriptionCustomPriceInitialChargeInCentsSchema, } from './containers/subscriptionCustomPriceInitialChargeInCents.js';
import { subscriptionCustomPriceIntervalSchema, } from './containers/subscriptionCustomPriceInterval.js';
import { subscriptionCustomPricePriceInCentsSchema, } from './containers/subscriptionCustomPricePriceInCents.js';
import { subscriptionCustomPriceTrialIntervalSchema, } from './containers/subscriptionCustomPriceTrialInterval.js';
import { subscriptionCustomPriceTrialPriceInCentsSchema, } from './containers/subscriptionCustomPriceTrialPriceInCents.js';
import { expirationIntervalUnitSchema, } from './expirationIntervalUnit.js';
import { intervalUnitSchema } from './intervalUnit.js';
import { trialTypeSchema } from './trialType.js';
export const subscriptionCustomPriceSchema = lazy(() => expandoObject({
name: ['name', optional(string())],
handle: ['handle', optional(string())],
priceInCents: [
'price_in_cents',
subscriptionCustomPricePriceInCentsSchema,
],
interval: ['interval', subscriptionCustomPriceIntervalSchema],
intervalUnit: ['interval_unit', nullable(intervalUnitSchema)],
trialPriceInCents: [
'trial_price_in_cents',
optional(subscriptionCustomPriceTrialPriceInCentsSchema),
],
trialInterval: [
'trial_interval',
optional(subscriptionCustomPriceTrialIntervalSchema),
],
trialIntervalUnit: ['trial_interval_unit', optional(intervalUnitSchema)],
trialType: ['trial_type', optional(nullable(trialTypeSchema))],
initialChargeInCents: [
'initial_charge_in_cents',
optional(subscriptionCustomPriceInitialChargeInCentsSchema),
],
initialChargeAfterTrial: [
'initial_charge_after_trial',
optional(boolean()),
],
expirationInterval: [
'expiration_interval',
optional(subscriptionCustomPriceExpirationIntervalSchema),
],
expirationIntervalUnit: [
'expiration_interval_unit',
optional(nullable(expirationIntervalUnitSchema)),
],
taxIncluded: ['tax_included', optional(boolean())],
}));
//# sourceMappingURL=subscriptionCustomPrice.js.map