@alexasomba/better-auth-paystack 1.2.1 → 2.2.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.
@@ -1,488 +0,0 @@
1
- import * as _better_auth_core_utils_error_codes0 from "@better-auth/core/utils/error-codes";
2
- import { AuthContext, GenericEndpointContext, InferOptionSchema, Session, User } from "better-auth";
3
- import { createPaystack } from "@alexasomba/paystack-node";
4
- import { GenericEndpointContext as GenericEndpointContext$1 } from "@better-auth/core";
5
- import * as _better_auth_core_db0 from "@better-auth/core/db";
6
-
7
- //#region src/schema.d.ts
8
- declare const subscriptions: {
9
- subscription: {
10
- fields: {
11
- plan: {
12
- type: "string";
13
- required: true;
14
- index: true;
15
- };
16
- referenceId: {
17
- type: "string";
18
- required: true;
19
- index: true;
20
- };
21
- paystackCustomerCode: {
22
- type: "string";
23
- required: false;
24
- index: true;
25
- };
26
- paystackSubscriptionCode: {
27
- type: "string";
28
- required: false;
29
- unique: true;
30
- };
31
- paystackTransactionReference: {
32
- type: "string";
33
- required: false;
34
- index: true;
35
- };
36
- paystackAuthorizationCode: {
37
- type: "string";
38
- required: false;
39
- };
40
- paystackEmailToken: {
41
- type: "string";
42
- required: false;
43
- };
44
- status: {
45
- type: "string";
46
- defaultValue: string;
47
- };
48
- periodStart: {
49
- type: "date";
50
- required: false;
51
- };
52
- periodEnd: {
53
- type: "date";
54
- required: false;
55
- };
56
- trialStart: {
57
- type: "date";
58
- required: false;
59
- };
60
- trialEnd: {
61
- type: "date";
62
- required: false;
63
- };
64
- cancelAtPeriodEnd: {
65
- type: "boolean";
66
- required: false;
67
- defaultValue: false;
68
- };
69
- groupId: {
70
- type: "string";
71
- required: false;
72
- };
73
- seats: {
74
- type: "number";
75
- required: false;
76
- };
77
- pendingPlan: {
78
- type: "string";
79
- required: false;
80
- };
81
- };
82
- };
83
- };
84
- declare const user: {
85
- user: {
86
- fields: {
87
- paystackCustomerCode: {
88
- type: "string";
89
- required: false;
90
- index: true;
91
- };
92
- };
93
- };
94
- };
95
- declare const organization: {
96
- organization: {
97
- fields: {
98
- paystackCustomerCode: {
99
- type: "string";
100
- required: false;
101
- index: true;
102
- };
103
- email: {
104
- type: "string";
105
- required: false;
106
- };
107
- };
108
- };
109
- };
110
- //#endregion
111
- //#region src/types.d.ts
112
- type PaystackNodeClient = ReturnType<typeof createPaystack>;
113
- type PaystackCurrency = "NGN" | "GHS" | "KES" | "ZAR" | "USD" | "XOF";
114
- type PaystackEvent = "charge.success" | "charge.failure" | "subscription.create" | "subscription.disable" | "subscription.not_renew" | "subscription.expiring_cards" | "invoice.create" | "invoice.payment_failed" | "invoice.update" | "transfer.success" | "transfer.failed" | "transfer.reversed" | "customeridentification.success" | "customeridentification.failed" | (string & {});
115
- interface PaystackWebhookPayload<TData = Record<string, unknown>, TMetadata = PaystackMetadata> {
116
- event: PaystackEvent;
117
- data: TData;
118
- metadata?: TMetadata;
119
- [key: string]: unknown;
120
- }
121
- interface PaystackCustomerResponse {
122
- customer_code: string;
123
- email: string;
124
- first_name?: string;
125
- last_name?: string;
126
- metadata?: PaystackMetadata | string | null;
127
- id: number;
128
- [key: string]: unknown;
129
- }
130
- type NonNullableInit<T> = Exclude<T, undefined>;
131
- type ExtractBody<T> = T extends {
132
- body?: infer B;
133
- } ? B : never;
134
- type WithMetadataStringOrObject<T> = T extends object ? Omit<T, "metadata"> & {
135
- metadata?: string | Record<string, unknown>;
136
- } : T;
137
- type WithMetadataObject<T> = T extends object ? Omit<T, "metadata"> & {
138
- metadata?: Record<string, unknown>;
139
- } : T;
140
- type WithEmail<T> = T extends object ? Omit<T, "email"> & {
141
- email?: string;
142
- } : T;
143
- type CustomerCreateInit = NonNullableInit<Parameters<PaystackNodeClient["customer_create"]>[0]>;
144
- type CustomerUpdateInit = NonNullableInit<Parameters<PaystackNodeClient["customer_update"]>[0]>;
145
- type TransactionInitializeInit = NonNullableInit<Parameters<PaystackNodeClient["transaction_initialize"]>[0]>;
146
- type SubscriptionCreateInit = NonNullableInit<Parameters<PaystackNodeClient["subscription_create"]>[0]>;
147
- type SubscriptionToggleInit = NonNullableInit<Parameters<PaystackNodeClient["subscription_disable"]>[0]>;
148
- type TransactionChargeAuthorizationInit = NonNullableInit<Parameters<PaystackNodeClient["transaction_chargeAuthorization"]>[0]>;
149
- type PaystackCustomerCreateInput = WithMetadataStringOrObject<ExtractBody<CustomerCreateInit>>;
150
- type PaystackCustomerUpdateInput = WithMetadataStringOrObject<WithEmail<ExtractBody<CustomerUpdateInit>>>;
151
- type PaystackTransactionInitializeInput = WithMetadataObject<ExtractBody<TransactionInitializeInit>> & {
152
- scheduleAtPeriodEnd?: boolean;
153
- cancelAtPeriodEnd?: boolean;
154
- prorateAndCharge?: boolean;
155
- };
156
- type PaystackTransactionChargeAuthorizationInput = WithMetadataObject<ExtractBody<TransactionChargeAuthorizationInit>>;
157
- type PaystackSubscriptionCreateInput = ExtractBody<SubscriptionCreateInit>;
158
- type PaystackSubscriptionToggleInput = ExtractBody<SubscriptionToggleInit>;
159
- type PaystackClientLike = Partial<PaystackNodeClient> & {
160
- subscription_manage_link?: PaystackNodeClient["subscription_manageLink"];
161
- subscription_update?: (params: {
162
- params: {
163
- path: {
164
- code: string;
165
- };
166
- };
167
- body: {
168
- plan?: string;
169
- authorization?: string;
170
- amount?: number;
171
- };
172
- }) => Promise<unknown>;
173
- customer?: {
174
- create?: (params: PaystackCustomerCreateInput) => Promise<unknown>;
175
- update?: (code: string, params: PaystackCustomerUpdateInput) => Promise<unknown>;
176
- };
177
- transaction?: {
178
- initialize?: (params: PaystackTransactionInitializeInput) => Promise<unknown>;
179
- verify?: (reference: string) => Promise<unknown>;
180
- chargeAuthorization?: (params: PaystackTransactionChargeAuthorizationInput) => Promise<unknown>;
181
- };
182
- subscription?: {
183
- fetch?: (idOrCode: string) => Promise<unknown>;
184
- create?: (params: PaystackSubscriptionCreateInput) => Promise<unknown>;
185
- disable?: (params: PaystackSubscriptionToggleInput) => Promise<unknown>;
186
- enable?: (params: PaystackSubscriptionToggleInput) => Promise<unknown>;
187
- manage?: {
188
- link?: (code: string) => Promise<unknown>;
189
- email?: (code: string, email: string) => Promise<unknown>;
190
- };
191
- };
192
- plan?: {
193
- list?: (init?: any) => Promise<unknown>;
194
- fetch?: (idOrCode: string) => Promise<unknown>;
195
- create?: (params: Record<string, unknown>) => Promise<unknown>;
196
- update?: (idOrCode: string, params: Record<string, unknown>) => Promise<unknown>;
197
- };
198
- product?: {
199
- list?: () => Promise<unknown>;
200
- fetch?: (idOrCode: string) => Promise<unknown>;
201
- create?: (params: Record<string, unknown>) => Promise<unknown>;
202
- update?: (idOrCode: string, params: Record<string, unknown>) => Promise<unknown>;
203
- delete?: (idOrCode: string) => Promise<unknown>;
204
- };
205
- product_list?: (init?: any) => Promise<unknown>;
206
- product_fetch?: (init: any) => Promise<unknown>;
207
- product_create?: (init: any) => Promise<unknown>;
208
- product_update?: (init: any) => Promise<unknown>;
209
- product_delete?: (init: any) => Promise<unknown>;
210
- plan_list?: (init?: any) => Promise<unknown>;
211
- plan_fetch?: (init: any) => Promise<unknown>;
212
- plan_create?: (init: any) => Promise<unknown>;
213
- plan_update?: (init: any) => Promise<unknown>;
214
- };
215
- interface PaystackMetadata {
216
- userId?: string;
217
- organizationId?: string;
218
- [key: string]: unknown;
219
- }
220
- type NoInfer<T> = [T][T extends unknown ? 0 : never];
221
- interface PaystackPlan<TLimits = Record<string, unknown>> {
222
- /** Human name stored in DB (lowercased). */
223
- name: string;
224
- /** Paystack plan code (if you use Paystack plans). */
225
- planCode?: string | undefined;
226
- /** Amount in the smallest currency unit (e.g. kobo). */
227
- amount?: number | undefined;
228
- /** Currency ISO code (e.g. NGN). */
229
- currency?: PaystackCurrency | (string & {}) | undefined;
230
- /** Paystack interval keyword (when using Paystack plans). */
231
- interval?: "daily" | "weekly" | "monthly" | "quarterly" | "biannually" | "annually" | undefined;
232
- /** Optional description of the plan. */
233
- description?: string | undefined;
234
- /** Optional list of features for the plan. */
235
- features?: string[] | undefined;
236
- /** Optional invoice limit; Paystack uses `invoice_limit` during init. */
237
- invoiceLimit?: number | undefined;
238
- /** Arbitrary limits (stored/consumed by your app). */
239
- limits?: TLimits | undefined;
240
- /** Amount per seat (optional). */
241
- seatAmount?: number | undefined;
242
- /** Paystack plan code for seat (optional). */
243
- seatPlanCode?: string | undefined;
244
- /** Optional free trial config, if your app supports it. */
245
- freeTrial?: {
246
- days: number;
247
- onTrialStart?: (subscription: Subscription) => Promise<void>;
248
- onTrialEnd?: (data: {
249
- subscription: Subscription;
250
- }, ctx: GenericEndpointContext$1) => Promise<void>;
251
- onTrialExpired?: (subscription: Subscription, ctx: GenericEndpointContext$1) => Promise<void>;
252
- } | undefined;
253
- }
254
- interface PaystackProduct {
255
- id: string;
256
- /** Human-readable name of the product. */
257
- name: string;
258
- /** Price in the smallest currency unit (e.g., kobo). */
259
- price: number;
260
- /** Currency ISO code (e.g., NGN). */
261
- currency: PaystackCurrency | (string & {});
262
- /** Optional metadata to include with the product. */
263
- metadata?: string | undefined;
264
- /** Optional description of the product. */
265
- description?: string | undefined;
266
- /** Optional list of features for the product. */
267
- features?: string[] | undefined;
268
- /** Optional stock quantity for the product. */
269
- quantity?: number | undefined;
270
- /** Whether the product has unlimited stock. */
271
- unlimited?: boolean | undefined;
272
- /** The internal Paystack ID for the product. */
273
- paystackId?: string | undefined;
274
- /** Unique slug for the product. */
275
- slug: string;
276
- createdAt: Date;
277
- updatedAt: Date;
278
- }
279
- interface InputPaystackProduct extends Omit<PaystackProduct, "id" | "createdAt" | "updatedAt" | "slug"> {
280
- slug?: string;
281
- createdAt?: Date;
282
- updatedAt?: Date;
283
- }
284
- interface PaystackTransaction {
285
- id: string;
286
- reference: string;
287
- paystackId?: string | undefined;
288
- referenceId: string;
289
- userId: string;
290
- amount: number;
291
- currency: PaystackCurrency | (string & {});
292
- status: string;
293
- plan?: string | undefined;
294
- product?: string | undefined;
295
- metadata?: string | undefined;
296
- createdAt: Date;
297
- updatedAt: Date;
298
- }
299
- interface Subscription {
300
- id: string;
301
- plan: string;
302
- referenceId: string;
303
- paystackCustomerCode?: string | undefined;
304
- paystackSubscriptionCode?: string | undefined;
305
- paystackTransactionReference?: string | undefined;
306
- paystackAuthorizationCode?: string | undefined;
307
- paystackEmailToken?: string | undefined;
308
- status: "active" | "canceled" | "incomplete" | "incomplete_expired" | "paused" | "trialing" | "unpaid";
309
- periodStart?: Date | undefined;
310
- periodEnd?: Date | undefined;
311
- trialStart?: Date | undefined;
312
- trialEnd?: Date | undefined;
313
- cancelAtPeriodEnd?: boolean | undefined;
314
- groupId?: string | undefined;
315
- seats?: number | undefined;
316
- /** The plan that will be applied at the next billing cycle. */
317
- pendingPlan?: string | undefined;
318
- }
319
- interface SubscriptionOptions<TMetadata = Record<string, unknown>, TLimits = Record<string, unknown>> {
320
- plans: PaystackPlan<TLimits>[] | (() => PaystackPlan<TLimits>[] | Promise<PaystackPlan<TLimits>[]>);
321
- requireEmailVerification?: boolean | undefined;
322
- authorizeReference?: ((data: {
323
- user: User;
324
- session: Session;
325
- referenceId: string;
326
- action: "initialize-transaction" | "verify-transaction" | "list-subscriptions" | "list-transactions" | "disable-subscription" | "enable-subscription" | "get-subscription-manage-link";
327
- }, ctx: GenericEndpointContext$1) => Promise<boolean>) | undefined;
328
- onSubscriptionComplete?: ((data: {
329
- event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
330
- subscription: Subscription;
331
- plan: PaystackPlan<TLimits>;
332
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
333
- onSubscriptionUpdate?: ((data: {
334
- event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
335
- subscription: Subscription;
336
- plan?: PaystackPlan<TLimits>;
337
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
338
- onSubscriptionCreated?: ((data: {
339
- event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
340
- subscription: Subscription;
341
- plan: PaystackPlan<TLimits>;
342
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
343
- onSubscriptionCancel?: ((data: {
344
- event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
345
- subscription: Subscription;
346
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
347
- onSubscriptionDelete?: ((data: {
348
- event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
349
- subscription: Subscription;
350
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
351
- }
352
- interface ProductOptions {
353
- products: InputPaystackProduct[] | (() => InputPaystackProduct[] | Promise<InputPaystackProduct[]>);
354
- }
355
- interface OrganizationOptions<TMetadata = Record<string, unknown>> {
356
- enabled: boolean;
357
- createCustomerOnOrganizationCreate?: boolean | undefined;
358
- onCustomerCreate?: ((data: {
359
- paystackCustomer: PaystackCustomerResponse;
360
- organization: Record<string, unknown> & {
361
- paystackCustomerCode: string;
362
- };
363
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
364
- getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown> & {
365
- metadata?: TMetadata;
366
- }>) | undefined;
367
- }
368
- interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata extends Record<string, unknown> = Record<string, unknown>, TLimits extends Record<string, unknown> = Record<string, unknown>> {
369
- /** Paystack SDK instance (recommended: `@alexasomba/paystack-node` via `createPaystack({ secretKey })`). */
370
- paystackClient: NoInfer<TPaystackClient>;
371
- /** Paystack webhook secret used to verify `x-paystack-signature`. */
372
- paystackWebhookSecret: string;
373
- /** Enable customer creation on Better Auth sign up. */
374
- createCustomerOnSignUp?: boolean | undefined;
375
- onCustomerCreate?: ((data: {
376
- paystackCustomer: PaystackCustomerResponse;
377
- user: User & {
378
- paystackCustomerCode: string;
379
- };
380
- }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
381
- getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown> & {
382
- metadata?: TMetadata;
383
- }>) | undefined;
384
- subscription?: ({
385
- enabled: false;
386
- } | ({
387
- enabled: true;
388
- } & SubscriptionOptions<TMetadata, TLimits>)) | undefined;
389
- products?: ProductOptions | undefined;
390
- organization?: OrganizationOptions<TMetadata> | undefined;
391
- onEvent?: ((event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>) => Promise<void>) | undefined;
392
- schema?: InferOptionSchema<typeof subscriptions & typeof user & typeof organization> | undefined;
393
- }
394
- //#endregion
395
- //#region src/index.d.ts
396
- declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata extends Record<string, unknown> = Record<string, unknown>, TLimits extends Record<string, unknown> = Record<string, unknown>, O extends PaystackOptions<TPaystackClient, TMetadata, TLimits> = PaystackOptions<TPaystackClient, TMetadata, TLimits>>(options: O) => {
397
- id: string;
398
- endpoints: {
399
- initializeTransaction: StrictEndpoint<Path, Options, R>;
400
- verifyTransaction: StrictEndpoint<Path, Options, R>;
401
- listSubscriptions: StrictEndpoint<Path, Options, R>;
402
- paystackWebhook: StrictEndpoint<Path, Options, R>;
403
- listTransactions: StrictEndpoint<Path, Options, R>;
404
- getConfig: StrictEndpoint<Path, Options, R>;
405
- disableSubscription: StrictEndpoint<Path, Options, R>;
406
- enableSubscription: StrictEndpoint<Path, Options, R>;
407
- getSubscriptionManageLink: StrictEndpoint<Path, Options, R>;
408
- subscriptionManageLink: StrictEndpoint<Path, Options, R>;
409
- createSubscription: StrictEndpoint<Path, Options, R>;
410
- upgradeSubscription: StrictEndpoint<Path, Options, R>;
411
- cancelSubscription: StrictEndpoint<Path, Options, R>;
412
- restoreSubscription: StrictEndpoint<Path, Options, R>;
413
- chargeRecurringSubscription: StrictEndpoint<Path, Options, R>;
414
- syncProducts: StrictEndpoint<Path, Options, R>;
415
- listProducts: StrictEndpoint<Path, Options, R>;
416
- syncPlans: StrictEndpoint<Path, Options, R>;
417
- listPlans: StrictEndpoint<Path, Options, R>;
418
- };
419
- schema: _better_auth_core_db0.BetterAuthPluginDBSchema;
420
- init: (ctx: AuthContext) => {
421
- options: {
422
- databaseHooks: {
423
- user: {
424
- create: {
425
- after(user: {
426
- id: string;
427
- email?: string | null;
428
- name?: string | null;
429
- }, hookCtx?: GenericEndpointContext | null): Promise<void>;
430
- };
431
- };
432
- organization: {
433
- create: {
434
- after(org: {
435
- id: string;
436
- name: string;
437
- email?: string | null;
438
- }, hookCtx: GenericEndpointContext | null): Promise<void>;
439
- };
440
- } | undefined;
441
- };
442
- member: {
443
- create: {
444
- before: (member: {
445
- organizationId: string;
446
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
447
- after: (member: {
448
- organizationId: string | undefined;
449
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
450
- };
451
- delete: {
452
- after: (member: {
453
- organizationId: string | undefined;
454
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
455
- };
456
- };
457
- invitation: {
458
- create: {
459
- before: (invitation: {
460
- organizationId: string;
461
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
462
- after: (invitation: {
463
- organizationId: string | undefined;
464
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
465
- };
466
- delete: {
467
- after: (invitation: {
468
- organizationId: string | undefined;
469
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
470
- };
471
- };
472
- team: {
473
- create: {
474
- before: (team: {
475
- organizationId: string;
476
- }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
477
- };
478
- };
479
- };
480
- };
481
- $ERROR_CODES: {
482
- [x: string]: _better_auth_core_utils_error_codes0.RawError<string>;
483
- };
484
- };
485
- type PaystackPlugin<TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata extends Record<string, unknown> = Record<string, unknown>, TLimits extends Record<string, unknown> = Record<string, unknown>, O extends PaystackOptions<TPaystackClient, TMetadata, TLimits> = PaystackOptions<TPaystackClient, TMetadata, TLimits>> = ReturnType<typeof paystack<TPaystackClient, TMetadata, TLimits, O>>;
486
- //#endregion
487
- export { PaystackProduct as a, SubscriptionOptions as c, PaystackPlan as i, paystack as n, PaystackTransaction as o, PaystackOptions as r, Subscription as s, PaystackPlugin as t };
488
- //# sourceMappingURL=index-DoMJ9OLF.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DoMJ9OLF.d.mts","names":["InferOptionSchema","Session","User","createPaystack","GenericEndpointContext","DBAdapter","organization","subscriptions","user","PaystackUser","paystackCustomerCode","PaystackNodeClient","ReturnType","PaystackCurrency","PaystackEvent","PaystackWebhookPayload","TData","TMetadata","Record","PaystackMetadata","event","data","metadata","key","PaystackCustomerResponse","customer_code","email","first_name","last_name","id","PaystackTransactionResponse","domain","status","reference","receipt_number","amount","message","gateway_response","helpdesk_link","paid_at","created_at","channel","currency","ip_address","custom_fields","authorization_url","access_code","customer","authorization","authorization_code","bin","last4","exp_month","exp_year","card_type","bank","country_code","brand","reusable","signature","account_name","PaystackProductResponse","name","description","product_code","price","quantity","quantity_sold","type","is_shippable","unlimited","active","createdAt","updatedAt","PaystackSubscriptionResponse","subscription_code","email_token","cron_expression","next_payment_date","open_invoice","cancelledAt","integration","plan","plan_code","interval","send_invoices","send_sms","PaystackOpenApiFetchResponse","T","Response","error","response","PaystackApiResult","Promise","NonNullableInit","Exclude","ExtractBody","body","B","WithMetadataStringOrObject","Omit","WithMetadataObject","WithEmail","CustomerCreateInit","Parameters","CustomerUpdateInit","TransactionInitializeInit","SubscriptionCreateInit","SubscriptionToggleInit","TransactionChargeAuthorizationInit","PaystackCustomerCreateInput","PaystackCustomerUpdateInput","PaystackTransactionInitializeInput","scheduleAtPeriodEnd","cancelAtPeriodEnd","prorateAndCharge","PaystackTransactionChargeAuthorizationInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackPlanResponse","PaystackClientLike","Partial","subscription_manage_link","subscription_update","create","update","transaction","initialize","verify","chargeAuthorization","subscription","fetch","idOrCode","disable","enable","manage","link","list","init","product","delete","product_list","product_fetch","product_create","product_update","product_delete","plan_list","plan_fetch","plan_create","plan_update","userId","organizationId","NoInfer","AuthSession","session","PaystackPlan","TLimits","Subscription","planCode","features","invoiceLimit","limits","seatAmount","seatPlanCode","freeTrial","days","onTrialStart","onTrialEnd","ctx","onTrialExpired","PaystackProduct","Date","paystackId","slug","InputPaystackProduct","PaystackTransaction","referenceId","InputPaystackTransaction","paystackSubscriptionCode","paystackTransactionReference","paystackAuthorizationCode","paystackEmailToken","periodStart","periodEnd","trialStart","trialEnd","groupId","seats","pendingPlan","InputSubscription","SubscriptionOptions","plans","requireEmailVerification","authorizeReference","action","onSubscriptionComplete","onSubscriptionUpdate","onSubscriptionCreated","onSubscriptionCancel","onSubscriptionDelete","ProductOptions","products","OrganizationOptions","enabled","createCustomerOnOrganizationCreate","onCustomerCreate","paystackCustomer","getCustomerCreateParams","PaystackOptions","TPaystackClient","paystackClient","paystackWebhookSecret","createCustomerOnSignUp","onEvent","schema","Organization","Member","role","AnyPaystackOptions"],"sources":["../src/schema.ts","../src/types.d.ts","../src/index.ts"],"mappings":"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"}