UNPKG

chargebee

Version:

A library for integrating with Chargebee.

120 lines (117 loc) 3.86 kB
///<reference path='./../core.d.ts'/> ///<reference path='./../index.d.ts'/> declare module 'chargebee' { export interface QuotedSubscription { id: string; plan_id: string; plan_quantity: number; plan_unit_price?: number; setup_fee?: number; billing_period?: number; billing_period_unit?: 'day' | 'week' | 'month' | 'year'; start_date?: number; trial_end?: number; remaining_billing_cycles?: number; po_number?: string; auto_collection?: AutoCollectionEnum; plan_quantity_in_decimal?: string; plan_unit_price_in_decimal?: string; changes_scheduled_at?: number; change_option?: 'end_of_term' | 'specific_date' | 'immediately'; contract_term_billing_cycle_on_renewal?: number; addons?: QuotedSubscription.Addon[]; event_based_addons?: QuotedSubscription.EventBasedAddon[]; coupons?: QuotedSubscription.Coupon[]; subscription_items?: QuotedSubscription.SubscriptionItem[]; item_tiers?: QuotedSubscription.ItemTier[]; quoted_contract_term?: QuotedSubscription.QuotedContractTerm; } export namespace QuotedSubscription { export interface Addon { id: string; quantity?: number; unit_price?: number; amount?: number; trial_end?: number; remaining_billing_cycles?: number; quantity_in_decimal?: string; unit_price_in_decimal?: string; amount_in_decimal?: string; proration_type?: 'full_term' | 'partial_term' | 'none'; } export interface EventBasedAddon { id: string; quantity: number; unit_price: number; service_period_in_days?: number; on_event: | 'subscription_creation' | 'subscription_trial_start' | 'plan_activation' | 'subscription_activation' | 'contract_termination'; charge_once: boolean; quantity_in_decimal?: string; unit_price_in_decimal?: string; } export interface Coupon { coupon_id: string; } export interface SubscriptionItem { item_price_id: string; item_type: 'plan' | 'addon' | 'charge'; quantity?: number; quantity_in_decimal?: string; metered_quantity?: string; last_calculated_at?: number; unit_price?: number; unit_price_in_decimal?: string; amount?: number; current_term_start?: number; current_term_end?: number; next_billing_at?: number; amount_in_decimal?: string; billing_period?: number; billing_period_unit?: 'day' | 'week' | 'month' | 'year'; free_quantity?: number; free_quantity_in_decimal?: string; trial_end?: number; billing_cycles?: number; service_period_days?: number; charge_on_event?: | 'subscription_creation' | 'subscription_trial_start' | 'plan_activation' | 'subscription_activation' | 'contract_termination'; charge_once?: boolean; charge_on_option?: 'immediately' | 'on_event'; proration_type?: 'full_term' | 'partial_term' | 'none'; usage_accumulation_reset_frequency?: | 'never' | 'subscription_billing_frequency'; } export interface ItemTier { item_price_id: string; starting_unit: number; ending_unit?: number; price: number; starting_unit_in_decimal?: string; ending_unit_in_decimal?: string; price_in_decimal?: string; pricing_type?: 'per_unit' | 'flat_fee' | 'package'; package_size?: number; index: number; } export interface QuotedContractTerm { contract_start: number; contract_end: number; billing_cycle: number; action_at_term_end: 'renew' | 'evergreen' | 'cancel' | 'renew_once'; total_contract_value: number; cancellation_cutoff_period?: number; } // REQUEST PARAMS //--------------- } }