@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.
74 lines • 3.37 kB
JavaScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { array, bigint, boolean, expandoObject, lazy, nullable, number, optional, string, } from '../schema.js';
import { expirationIntervalUnitSchema, } from './expirationIntervalUnit.js';
import { intervalUnitSchema } from './intervalUnit.js';
import { productFamilySchema } from './productFamily.js';
import { publicSignupPageSchema, } from './publicSignupPage.js';
export const productSchema = lazy(() => expandoObject({
id: ['id', optional(number())],
name: ['name', optional(string())],
handle: ['handle', optional(nullable(string()))],
description: ['description', optional(nullable(string()))],
accountingCode: ['accounting_code', optional(nullable(string()))],
requestCreditCard: ['request_credit_card', optional(boolean())],
expirationInterval: ['expiration_interval', optional(nullable(number()))],
expirationIntervalUnit: [
'expiration_interval_unit',
optional(nullable(expirationIntervalUnitSchema)),
],
createdAt: ['created_at', optional(string())],
updatedAt: ['updated_at', optional(string())],
priceInCents: ['price_in_cents', optional(bigint())],
interval: ['interval', optional(number())],
intervalUnit: ['interval_unit', optional(intervalUnitSchema)],
initialChargeInCents: [
'initial_charge_in_cents',
optional(nullable(bigint())),
],
trialPriceInCents: ['trial_price_in_cents', optional(nullable(bigint()))],
trialInterval: ['trial_interval', optional(nullable(number()))],
trialIntervalUnit: [
'trial_interval_unit',
optional(nullable(intervalUnitSchema)),
],
archivedAt: ['archived_at', optional(nullable(string()))],
requireCreditCard: ['require_credit_card', optional(boolean())],
returnParams: ['return_params', optional(nullable(string()))],
taxable: ['taxable', optional(boolean())],
updateReturnUrl: ['update_return_url', optional(nullable(string()))],
initialChargeAfterTrial: [
'initial_charge_after_trial',
optional(nullable(boolean())),
],
versionNumber: ['version_number', optional(number())],
updateReturnParams: ['update_return_params', optional(nullable(string()))],
productFamily: ['product_family', optional(productFamilySchema)],
publicSignupPages: [
'public_signup_pages',
optional(array(publicSignupPageSchema)),
],
productPricePointName: ['product_price_point_name', optional(string())],
requestBillingAddress: ['request_billing_address', optional(boolean())],
requireBillingAddress: ['require_billing_address', optional(boolean())],
requireShippingAddress: ['require_shipping_address', optional(boolean())],
taxCode: ['tax_code', optional(nullable(string()))],
defaultProductPricePointId: [
'default_product_price_point_id',
optional(number()),
],
useSiteExchangeRate: [
'use_site_exchange_rate',
optional(nullable(boolean())),
],
itemCategory: ['item_category', optional(nullable(string()))],
productPricePointId: ['product_price_point_id', optional(number())],
productPricePointHandle: [
'product_price_point_handle',
optional(nullable(string())),
],
}));
//# sourceMappingURL=product.js.map