@openaisdk/billing-sdk-node 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,390 @@
1
+ declare const SDK_VERSION = "1.3.0";
2
+ declare const SDK_PACKAGE_NAME = "@openaisdk/billing-sdk-node";
3
+ declare const DEFAULT_BASE_URL = "https://billing.example.com";
4
+ declare const DEFAULT_TIMEOUT_MS = 30000;
5
+ declare const REQUEST_ID_HEADER = "MegaBilling-Request-Id";
6
+ declare const WEBHOOK_SIGNATURE_HEADER = "x-billing-signature";
7
+ declare const WEBHOOK_DEFAULT_TOLERANCE_SECONDS = 300;
8
+ export type CustomerExternalType = 'workspace' | 'tenant' | 'company' | 'org';
9
+ export interface MegaBillingOptions {
10
+ apiKey: string;
11
+ baseUrl?: string;
12
+ timeoutMs?: number;
13
+ fetch?: FetchLike;
14
+ }
15
+ export interface RequestOptions {
16
+ signal?: AbortSignal;
17
+ }
18
+ export interface CreateOptions extends RequestOptions {
19
+ idempotencyKey?: string;
20
+ }
21
+ export type UpdateOptions = CreateOptions;
22
+ export type CancelOptions = CreateOptions;
23
+ export interface CreateCustomerParams {
24
+ externalType: CustomerExternalType;
25
+ externalId: string;
26
+ email?: string;
27
+ name?: string;
28
+ phone?: string;
29
+ }
30
+ export interface UpdateCustomerParams {
31
+ email?: string | null;
32
+ name?: string | null;
33
+ phone?: string | null;
34
+ }
35
+ export interface ListParams {
36
+ limit?: number;
37
+ startingAfter?: string;
38
+ }
39
+ export interface ListCustomersParams extends ListParams {
40
+ externalType?: CustomerExternalType;
41
+ externalId?: string;
42
+ }
43
+ export interface ListSubscriptionsParams extends ListParams {
44
+ customer: string;
45
+ status?: SubscriptionStatus;
46
+ }
47
+ export interface CancelSubscriptionParams {
48
+ atPeriodEnd?: boolean;
49
+ }
50
+ export interface Customer {
51
+ id: string;
52
+ object: 'customer';
53
+ livemode: boolean;
54
+ externalType: CustomerExternalType;
55
+ externalId: string;
56
+ email: string | null;
57
+ name: string | null;
58
+ phone: string | null;
59
+ status: string;
60
+ createdAt: string;
61
+ }
62
+ export type SubscriptionStatus = 'pending' | 'trialing' | 'active' | 'past_due' | 'paused' | 'canceled' | 'expired';
63
+ export interface Subscription {
64
+ id: string;
65
+ object: 'subscription';
66
+ livemode: boolean;
67
+ customer: string;
68
+ product: string | null;
69
+ price: string | null;
70
+ status: SubscriptionStatus;
71
+ cancelAtPeriodEnd: boolean;
72
+ currentPeriodStart: string | null;
73
+ currentPeriodEnd: string | null;
74
+ trialStart: string | null;
75
+ trialEnd: string | null;
76
+ graceUntil: string | null;
77
+ canceledAt: string | null;
78
+ endedAt: string | null;
79
+ createdAt: string;
80
+ }
81
+ export type InvoiceStatus = 'draft' | 'open' | 'paid' | 'void' | 'uncollectible' | string;
82
+ export interface InvoiceLine {
83
+ id: string;
84
+ type: string;
85
+ title: string;
86
+ description: string | null;
87
+ quantity: number;
88
+ unitAmountMinor: number;
89
+ amountMinor: number;
90
+ periodStart: string | null;
91
+ periodEnd: string | null;
92
+ productName: string | null;
93
+ priceName: string | null;
94
+ }
95
+ export interface CreditNote {
96
+ id: string;
97
+ object: 'credit_note';
98
+ livemode: boolean;
99
+ number: string | null;
100
+ status: string;
101
+ currency: string;
102
+ totalMinor: number;
103
+ reason: string | null;
104
+ refundRequired: boolean;
105
+ createdAt: string;
106
+ }
107
+ export interface Invoice {
108
+ id: string;
109
+ object: 'invoice';
110
+ livemode: boolean;
111
+ number: string | null;
112
+ customer: string;
113
+ subscription: string | null;
114
+ status: InvoiceStatus;
115
+ currency: string;
116
+ subtotalMinor: number;
117
+ discountMinor: number;
118
+ taxMinor: number;
119
+ adjustmentMinor: number;
120
+ totalMinor: number;
121
+ paidMinor: number;
122
+ amountDueMinor: number;
123
+ calculationVersion: string | null;
124
+ finalizedAt: string | null;
125
+ voidedAt: string | null;
126
+ periodStart: string | null;
127
+ periodEnd: string | null;
128
+ dueAt: string | null;
129
+ paidAt: string | null;
130
+ createdAt: string;
131
+ lines: InvoiceLine[];
132
+ creditNotes: CreditNote[];
133
+ }
134
+ export interface List<T> {
135
+ object: 'list';
136
+ data: T[];
137
+ hasMore: boolean;
138
+ }
139
+ export interface CreateCheckoutSessionParams {
140
+ customer: string;
141
+ price: string;
142
+ successUrl: string;
143
+ cancelUrl: string;
144
+ promoCode?: string;
145
+ }
146
+ export interface CheckoutSession {
147
+ object: 'checkout.session';
148
+ livemode: boolean;
149
+ customer: string;
150
+ price: string;
151
+ subscription: string;
152
+ invoice: string;
153
+ payment: string;
154
+ status: 'open';
155
+ confirmationUrl: string;
156
+ }
157
+ export interface AccessState {
158
+ object: 'access';
159
+ livemode: boolean;
160
+ customer: string;
161
+ status: string;
162
+ features: string[];
163
+ limits: Record<string, string | number>;
164
+ currentPeriodEnd: string | null;
165
+ graceUntil: string | null;
166
+ }
167
+ export interface CreateMeterEventParams {
168
+ eventName: string;
169
+ customer: string;
170
+ value: string | number;
171
+ identifier: string;
172
+ timestamp?: string;
173
+ dimensions?: Record<string, string>;
174
+ }
175
+ export type MeterEventSummaryWindow = 'hour' | 'day';
176
+ export interface MeterEventSummaryParams {
177
+ customer: string;
178
+ startTime: string;
179
+ endTime: string;
180
+ valueGroupingWindow?: MeterEventSummaryWindow;
181
+ }
182
+ export interface MeterEvent {
183
+ id: string;
184
+ object: 'billing.meter_event';
185
+ livemode: boolean;
186
+ status: 'accepted';
187
+ eventName: string;
188
+ customer: string;
189
+ value: string;
190
+ identifier: string;
191
+ timestamp: string;
192
+ dimensions: Record<string, string> | null;
193
+ }
194
+ export interface MeterEventSummary {
195
+ id: string;
196
+ object: 'billing.meter_event_summary';
197
+ livemode: boolean;
198
+ meter: string;
199
+ customer: string;
200
+ aggregatedValue: string;
201
+ startTime: string;
202
+ endTime: string;
203
+ }
204
+ export interface ResponseMetadata {
205
+ requestId: string | null;
206
+ }
207
+ export type CustomerResponse = Customer & ResponseMetadata;
208
+ export type CustomerListResponse = List<Customer> & ResponseMetadata;
209
+ export type SubscriptionResponse = Subscription & ResponseMetadata;
210
+ export type SubscriptionListResponse = List<Subscription> & ResponseMetadata;
211
+ export type InvoiceResponse = Invoice & ResponseMetadata;
212
+ export type CreditNoteListResponse = List<CreditNote> & ResponseMetadata;
213
+ export type CheckoutSessionResponse = CheckoutSession & ResponseMetadata;
214
+ export type AccessStateResponse = AccessState & ResponseMetadata;
215
+ export type MeterEventResponse = MeterEvent & ResponseMetadata;
216
+ export type MeterEventSummaryListResponse = List<MeterEventSummary> & ResponseMetadata;
217
+ export declare const BILLING_WEBHOOK_EVENT_TYPES: readonly ["billing.test", "subscription.created", "subscription.activated", "subscription.renewed", "subscription.plan_changed", "subscription.change_scheduled", "subscription.change_applied", "subscription.change_canceled", "subscription.past_due", "subscription.cancellation_scheduled", "subscription.canceled", "subscription.paused", "subscription.resumed", "subscription.trial_started", "invoice.finalized", "invoice.paid", "invoice.voided", "invoice.credit_note_issued", "payment.failed", "payment.refunded", "entitlement.updated", "entitlement.granted", "entitlement.revoked"];
218
+ export type BillingWebhookEventType = (typeof BILLING_WEBHOOK_EVENT_TYPES)[number];
219
+ export interface BillingTestWebhookData {
220
+ object: 'test_event';
221
+ message: string;
222
+ purpose: 'verify_endpoint';
223
+ }
224
+ export interface SubscriptionWebhookData {
225
+ object: 'subscription';
226
+ id?: string;
227
+ customer?: string;
228
+ product?: string;
229
+ price?: string;
230
+ status?: string;
231
+ }
232
+ export interface SubscriptionChangeWebhookData {
233
+ object: 'subscription_change';
234
+ id?: string;
235
+ subscription?: string;
236
+ customer?: string;
237
+ type?: string;
238
+ effectivePolicy?: string;
239
+ effectiveAt?: string;
240
+ prorationBehavior?: string;
241
+ fromVersion?: string | null;
242
+ toVersion?: string | null;
243
+ invoice?: string | null;
244
+ }
245
+ export interface InvoiceWebhookData {
246
+ object: 'invoice';
247
+ id?: string;
248
+ number?: string;
249
+ customer?: string;
250
+ subscription?: string;
251
+ subtotalMinor?: string | number;
252
+ discountMinor?: string | number;
253
+ taxMinor?: string | number;
254
+ adjustmentMinor?: string | number;
255
+ totalMinor?: string | number;
256
+ paidMinor?: string | number;
257
+ amountDueMinor?: string | number;
258
+ creditNote?: string;
259
+ creditNoteNumber?: string;
260
+ refundRequired?: boolean;
261
+ }
262
+ export interface PaymentWebhookData {
263
+ object: 'payment';
264
+ id?: string;
265
+ customer?: string;
266
+ invoice?: string;
267
+ }
268
+ export interface PaymentRefundWebhookData {
269
+ object: 'payment_refund';
270
+ customer?: string;
271
+ payment?: string;
272
+ invoice?: string;
273
+ amountMinor?: string | number;
274
+ currency?: string;
275
+ refundedAt?: string;
276
+ }
277
+ export interface AccessWebhookData {
278
+ object: 'access';
279
+ customer?: string;
280
+ subscription?: string;
281
+ status?: string;
282
+ }
283
+ export interface EntitlementWebhookData {
284
+ object: 'entitlement';
285
+ customer?: string;
286
+ subscription?: string;
287
+ feature?: string;
288
+ status?: string;
289
+ reason?: string;
290
+ }
291
+ export interface BillingWebhookEventMap {
292
+ 'billing.test': BillingTestWebhookData;
293
+ 'subscription.created': SubscriptionWebhookData;
294
+ 'subscription.activated': SubscriptionWebhookData;
295
+ 'subscription.renewed': SubscriptionWebhookData;
296
+ 'subscription.plan_changed': SubscriptionWebhookData;
297
+ 'subscription.change_scheduled': SubscriptionChangeWebhookData;
298
+ 'subscription.change_applied': SubscriptionChangeWebhookData;
299
+ 'subscription.change_canceled': SubscriptionChangeWebhookData;
300
+ 'subscription.past_due': SubscriptionWebhookData;
301
+ 'subscription.cancellation_scheduled': SubscriptionWebhookData;
302
+ 'subscription.canceled': SubscriptionWebhookData;
303
+ 'subscription.paused': SubscriptionWebhookData;
304
+ 'subscription.resumed': SubscriptionWebhookData;
305
+ 'subscription.trial_started': SubscriptionWebhookData;
306
+ 'invoice.finalized': InvoiceWebhookData;
307
+ 'invoice.paid': InvoiceWebhookData;
308
+ 'invoice.voided': InvoiceWebhookData;
309
+ 'invoice.credit_note_issued': InvoiceWebhookData;
310
+ 'payment.failed': PaymentWebhookData;
311
+ 'payment.refunded': PaymentRefundWebhookData;
312
+ 'entitlement.updated': AccessWebhookData;
313
+ 'entitlement.granted': EntitlementWebhookData;
314
+ 'entitlement.revoked': EntitlementWebhookData;
315
+ }
316
+ export interface BillingWebhookEvent<TType extends BillingWebhookEventType = BillingWebhookEventType> {
317
+ id: string;
318
+ object: 'event';
319
+ type: TType;
320
+ livemode: boolean;
321
+ apiVersion: string;
322
+ createdAt: string;
323
+ version: number;
324
+ data: BillingWebhookEventMap[TType];
325
+ }
326
+ export interface WebhookVerificationOptions {
327
+ toleranceSeconds?: number;
328
+ receivedAt?: number | Date;
329
+ }
330
+ export interface BillingErrorOptions {
331
+ code: string;
332
+ message: string;
333
+ status: number;
334
+ requestId: string | null;
335
+ param?: string;
336
+ }
337
+ type FetchLike = (input: string, init?: RequestInit) => Promise<Response>;
338
+ export declare class BillingError extends Error {
339
+ readonly code: string;
340
+ readonly status: number;
341
+ readonly requestId: string | null;
342
+ readonly param?: string;
343
+ constructor(options: BillingErrorOptions);
344
+ }
345
+ export declare class BillingWebhookVerificationError extends Error {
346
+ readonly code: 'webhook_header_invalid' | 'webhook_signature_invalid' | 'webhook_timestamp_expired' | 'webhook_payload_invalid';
347
+ constructor(code: 'webhook_header_invalid' | 'webhook_signature_invalid' | 'webhook_timestamp_expired' | 'webhook_payload_invalid', message: string);
348
+ }
349
+ export declare class MegaBilling {
350
+ private readonly apiKey;
351
+ private readonly baseUrl;
352
+ private readonly timeoutMs;
353
+ private readonly fetchImpl;
354
+ readonly customers: {
355
+ create: (params: CreateCustomerParams, options?: CreateOptions) => Promise<Customer & ResponseMetadata>;
356
+ retrieve: (customerId: string, options?: RequestOptions) => Promise<Customer & ResponseMetadata>;
357
+ list: (params?: ListCustomersParams, options?: RequestOptions) => Promise<List<Customer> & ResponseMetadata>;
358
+ update: (customerId: string, payload: UpdateCustomerParams, options?: UpdateOptions) => Promise<Customer & ResponseMetadata>;
359
+ };
360
+ readonly subscriptions: {
361
+ retrieve: (subscriptionId: string, options?: RequestOptions) => Promise<Subscription & ResponseMetadata>;
362
+ list: (params: ListSubscriptionsParams, options?: RequestOptions) => Promise<List<Subscription> & ResponseMetadata>;
363
+ cancel: (subscriptionId: string, payload?: CancelSubscriptionParams, options?: CancelOptions) => Promise<Subscription & ResponseMetadata>;
364
+ };
365
+ readonly invoices: {
366
+ retrieve: (invoiceId: string, options?: RequestOptions) => Promise<Invoice & ResponseMetadata>;
367
+ listCreditNotes: (invoiceId: string, options?: RequestOptions) => Promise<List<CreditNote> & ResponseMetadata>;
368
+ };
369
+ readonly checkout: {
370
+ sessions: {
371
+ create: (params: CreateCheckoutSessionParams, options?: CreateOptions) => Promise<CheckoutSession & ResponseMetadata>;
372
+ };
373
+ };
374
+ readonly access: {
375
+ retrieve: (customerId: string, options?: RequestOptions) => Promise<AccessState & ResponseMetadata>;
376
+ };
377
+ readonly meterEvents: {
378
+ create: (params: CreateMeterEventParams, options?: RequestOptions) => Promise<MeterEvent & ResponseMetadata>;
379
+ summary: (meterId: string, params: MeterEventSummaryParams, options?: RequestOptions) => Promise<List<MeterEventSummary> & ResponseMetadata>;
380
+ };
381
+ readonly webhooks: {
382
+ constructEvent: (payload: string | ArrayBuffer | Uint8Array, signatureHeader: string | null | undefined, secret: string, options?: WebhookVerificationOptions) => BillingWebhookEvent<"billing.test" | "subscription.created" | "subscription.activated" | "subscription.renewed" | "subscription.plan_changed" | "subscription.change_scheduled" | "subscription.change_applied" | "subscription.change_canceled" | "subscription.past_due" | "subscription.cancellation_scheduled" | "subscription.canceled" | "subscription.paused" | "subscription.resumed" | "subscription.trial_started" | "invoice.finalized" | "invoice.paid" | "invoice.voided" | "invoice.credit_note_issued" | "payment.failed" | "payment.refunded" | "entitlement.updated" | "entitlement.granted" | "entitlement.revoked">;
383
+ generateTestHeaderString: (payload: string | ArrayBuffer | Uint8Array, secret: string, timestamp?: number) => string;
384
+ };
385
+ constructor(options: MegaBillingOptions);
386
+ private request;
387
+ private buildHeaders;
388
+ }
389
+ export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, REQUEST_ID_HEADER, SDK_PACKAGE_NAME, SDK_VERSION, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_DEFAULT_TOLERANCE_SECONDS, };
390
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}