chargebee
Version:
A library for integrating with Chargebee.
93 lines (90 loc) • 2.99 kB
TypeScript
///<reference path='./../core.d.ts'/>
///<reference path='./../index.d.ts'/>
declare module 'chargebee' {
export interface QuotedRamp {
id: string;
line_items?: QuotedRamp.LineItem[];
discounts?: QuotedRamp.Discount[];
item_tiers?: QuotedRamp.ItemTier[];
coupon_applicability_mappings?: QuotedRamp.CouponApplicabilityMapping[];
}
export namespace QuotedRamp {
export interface LineItem {
item_price_id: string;
item_type: 'plan' | 'addon' | 'charge';
quantity?: number;
quantity_in_decimal?: string;
metered_quantity?: string;
unit_price?: number;
unit_price_in_decimal?: string;
amount?: number;
amount_in_decimal?: string;
billing_period?: number;
billing_period_unit?: 'day' | 'week' | 'month' | 'year';
free_quantity?: number;
free_quantity_in_decimal?: string;
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';
start_date?: number;
end_date?: number;
ramp_tier_id?: string;
discount_per_billing_cycle?: number;
discount_per_billing_cycle_in_decimal?: string;
item_level_discount_per_billing_cycle?: number;
item_level_discount_per_billing_cycle_in_decimal?: string;
amount_per_billing_cycle?: number;
amount_per_billing_cycle_in_decimal?: string;
net_amount_per_billing_cycle?: number;
net_amount_per_billing_cycle_in_decimal?: string;
}
export interface Discount {
id: string;
invoice_name?: string;
type: 'fixed_amount' | 'percentage';
percentage?: number;
amount?: number;
duration_type: 'one_time' | 'forever' | 'limited_period';
entity_type:
| 'item_level_coupon'
| 'document_level_coupon'
| 'item_level_discount'
| 'document_level_discount';
entity_id?: string;
period?: number;
period_unit?: 'day' | 'week' | 'month' | 'year';
included_in_mrr: boolean;
apply_on: 'invoice_amount' | 'specific_item_price';
item_price_id?: string;
created_at: number;
updated_at?: number;
start_date?: number;
end_date?: number;
}
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;
ramp_tier_id?: string;
pricing_type?: 'per_unit' | 'flat_fee' | 'package';
package_size?: number;
}
export interface CouponApplicabilityMapping {
coupon_id?: string;
applicable_item_price_ids?: string[];
}
// REQUEST PARAMS
//---------------
}
}