@alexasomba/better-auth-paystack 1.0.4 → 1.1.2

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.
@@ -9,22 +9,27 @@ declare const subscriptions: {
9
9
  plan: {
10
10
  type: "string";
11
11
  required: true;
12
+ index: true;
12
13
  };
13
14
  referenceId: {
14
15
  type: "string";
15
16
  required: true;
17
+ index: true;
16
18
  };
17
19
  paystackCustomerCode: {
18
20
  type: "string";
19
21
  required: false;
22
+ index: true;
20
23
  };
21
24
  paystackSubscriptionCode: {
22
25
  type: "string";
23
26
  required: false;
27
+ unique: true;
24
28
  };
25
29
  paystackTransactionReference: {
26
30
  type: "string";
27
31
  required: false;
32
+ index: true;
28
33
  };
29
34
  paystackAuthorizationCode: {
30
35
  type: "string";
@@ -76,6 +81,7 @@ declare const user: {
76
81
  paystackCustomerCode: {
77
82
  type: "string";
78
83
  required: false;
84
+ index: true;
79
85
  };
80
86
  };
81
87
  };
@@ -86,6 +92,7 @@ declare const organization: {
86
92
  paystackCustomerCode: {
87
93
  type: "string";
88
94
  required: false;
95
+ index: true;
89
96
  };
90
97
  email: {
91
98
  type: "string";
@@ -98,6 +105,22 @@ declare const organization: {
98
105
  //#region src/types.d.ts
99
106
  type PaystackNodeClient = ReturnType<typeof createPaystack>;
100
107
  type PaystackCurrency = "NGN" | "GHS" | "KES" | "ZAR" | "USD" | "XOF";
108
+ 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 & {});
109
+ interface PaystackWebhookPayload<TData = Record<string, unknown>, TMetadata = PaystackMetadata> {
110
+ event: PaystackEvent;
111
+ data: TData;
112
+ metadata?: TMetadata;
113
+ [key: string]: unknown;
114
+ }
115
+ interface PaystackCustomerResponse {
116
+ customer_code: string;
117
+ email: string;
118
+ first_name?: string;
119
+ last_name?: string;
120
+ metadata?: PaystackMetadata | string | null;
121
+ id: number;
122
+ [key: string]: unknown;
123
+ }
101
124
  type NonNullableInit<T> = Exclude<T, undefined>;
102
125
  type ExtractBody<T> = T extends {
103
126
  body?: infer B;
@@ -144,9 +167,36 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
144
167
  email?: (code: string, email: string) => Promise<unknown>;
145
168
  };
146
169
  };
170
+ plan?: {
171
+ list?: (init?: any) => Promise<unknown>;
172
+ fetch?: (idOrCode: string) => Promise<unknown>;
173
+ create?: (params: Record<string, unknown>) => Promise<unknown>;
174
+ update?: (idOrCode: string, params: Record<string, unknown>) => Promise<unknown>;
175
+ };
176
+ product?: {
177
+ list?: () => Promise<unknown>;
178
+ fetch?: (idOrCode: string) => Promise<unknown>;
179
+ create?: (params: Record<string, unknown>) => Promise<unknown>;
180
+ update?: (idOrCode: string, params: Record<string, unknown>) => Promise<unknown>;
181
+ delete?: (idOrCode: string) => Promise<unknown>;
182
+ };
183
+ product_list?: (init?: any) => Promise<unknown>;
184
+ product_fetch?: (init: any) => Promise<unknown>;
185
+ product_create?: (init: any) => Promise<unknown>;
186
+ product_update?: (init: any) => Promise<unknown>;
187
+ product_delete?: (init: any) => Promise<unknown>;
188
+ plan_list?: (init?: any) => Promise<unknown>;
189
+ plan_fetch?: (init: any) => Promise<unknown>;
190
+ plan_create?: (init: any) => Promise<unknown>;
191
+ plan_update?: (init: any) => Promise<unknown>;
147
192
  };
193
+ interface PaystackMetadata {
194
+ userId?: string;
195
+ organizationId?: string;
196
+ [key: string]: unknown;
197
+ }
148
198
  type NoInfer<T> = [T][T extends unknown ? 0 : never];
149
- interface PaystackPlan {
199
+ interface PaystackPlan<TLimits = Record<string, unknown>> {
150
200
  /** Human name stored in DB (lowercased). */
151
201
  name: string;
152
202
  /** Paystack plan code (if you use Paystack plans). */
@@ -164,7 +214,7 @@ interface PaystackPlan {
164
214
  /** Optional invoice limit; Paystack uses `invoice_limit` during init. */
165
215
  invoiceLimit?: number | undefined;
166
216
  /** Arbitrary limits (stored/consumed by your app). */
167
- limits?: Record<string, unknown> | undefined;
217
+ limits?: TLimits | undefined;
168
218
  /** Optional free trial config, if your app supports it. */
169
219
  freeTrial?: {
170
220
  days: number;
@@ -176,18 +226,34 @@ interface PaystackPlan {
176
226
  } | undefined;
177
227
  }
178
228
  interface PaystackProduct {
229
+ id: string;
179
230
  /** Human-readable name of the product. */
180
231
  name: string;
181
- /** Amount in the smallest currency unit (e.g., kobo). */
182
- amount: number;
232
+ /** Price in the smallest currency unit (e.g., kobo). */
233
+ price: number;
183
234
  /** Currency ISO code (e.g., NGN). */
184
235
  currency: PaystackCurrency | (string & {});
185
- /** Optional metadata to include with the transaction. */
186
- metadata?: Record<string, unknown> | undefined;
236
+ /** Optional metadata to include with the product. */
237
+ metadata?: string | undefined;
187
238
  /** Optional description of the product. */
188
239
  description?: string | undefined;
189
240
  /** Optional list of features for the product. */
190
241
  features?: string[] | undefined;
242
+ /** Optional stock quantity for the product. */
243
+ quantity?: number | undefined;
244
+ /** Whether the product has unlimited stock. */
245
+ unlimited?: boolean | undefined;
246
+ /** The internal Paystack ID for the product. */
247
+ paystackId?: string | undefined;
248
+ /** Unique slug for the product. */
249
+ slug: string;
250
+ createdAt: Date;
251
+ updatedAt: Date;
252
+ }
253
+ interface InputPaystackProduct extends Omit<PaystackProduct, "id" | "createdAt" | "updatedAt" | "slug"> {
254
+ slug?: string;
255
+ createdAt?: Date;
256
+ updatedAt?: Date;
191
257
  }
192
258
  interface PaystackTransaction {
193
259
  id: string;
@@ -199,6 +265,7 @@ interface PaystackTransaction {
199
265
  currency: PaystackCurrency | (string & {});
200
266
  status: string;
201
267
  plan?: string | undefined;
268
+ product?: string | undefined;
202
269
  metadata?: string | undefined;
203
270
  createdAt: Date;
204
271
  updatedAt: Date;
@@ -221,8 +288,8 @@ interface Subscription {
221
288
  groupId?: string | undefined;
222
289
  seats?: number | undefined;
223
290
  }
224
- interface SubscriptionOptions {
225
- plans: PaystackPlan[] | (() => PaystackPlan[] | Promise<PaystackPlan[]>);
291
+ interface SubscriptionOptions<TMetadata = Record<string, unknown>, TLimits = Record<string, unknown>> {
292
+ plans: PaystackPlan<TLimits>[] | (() => PaystackPlan<TLimits>[] | Promise<PaystackPlan<TLimits>[]>);
226
293
  requireEmailVerification?: boolean | undefined;
227
294
  authorizeReference?: ((data: {
228
295
  user: User;
@@ -231,44 +298,46 @@ interface SubscriptionOptions {
231
298
  action: "initialize-transaction" | "verify-transaction" | "list-subscriptions" | "list-transactions" | "disable-subscription" | "enable-subscription" | "get-subscription-manage-link";
232
299
  }, ctx: GenericEndpointContext$1) => Promise<boolean>) | undefined;
233
300
  onSubscriptionComplete?: ((data: {
234
- event: unknown;
301
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
235
302
  subscription: Subscription;
236
- plan: PaystackPlan;
303
+ plan: PaystackPlan<TLimits>;
237
304
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
238
305
  onSubscriptionUpdate?: ((data: {
239
- event: unknown;
306
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
240
307
  subscription: Subscription;
241
- plan?: PaystackPlan;
308
+ plan?: PaystackPlan<TLimits>;
242
309
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
243
310
  onSubscriptionCreated?: ((data: {
244
- event: unknown;
311
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
245
312
  subscription: Subscription;
246
- plan: PaystackPlan;
313
+ plan: PaystackPlan<TLimits>;
247
314
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
248
315
  onSubscriptionCancel?: ((data: {
249
- event: unknown;
316
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
250
317
  subscription: Subscription;
251
318
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
252
319
  onSubscriptionDelete?: ((data: {
253
- event: unknown;
320
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
254
321
  subscription: Subscription;
255
322
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
256
323
  }
257
324
  interface ProductOptions {
258
- products: PaystackProduct[] | (() => PaystackProduct[] | Promise<PaystackProduct[]>);
325
+ products: InputPaystackProduct[] | (() => InputPaystackProduct[] | Promise<InputPaystackProduct[]>);
259
326
  }
260
- interface OrganizationOptions {
327
+ interface OrganizationOptions<TMetadata = Record<string, unknown>> {
261
328
  enabled: boolean;
262
329
  createCustomerOnOrganizationCreate?: boolean | undefined;
263
330
  onCustomerCreate?: ((data: {
264
- paystackCustomer: Record<string, unknown>;
331
+ paystackCustomer: PaystackCustomerResponse;
265
332
  organization: Record<string, unknown> & {
266
333
  paystackCustomerCode: string;
267
334
  };
268
335
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
269
- getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
336
+ getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown> & {
337
+ metadata?: TMetadata;
338
+ }>) | undefined;
270
339
  }
271
- interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient> {
340
+ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata = Record<string, unknown>, TLimits = Record<string, unknown>> {
272
341
  /** Paystack SDK instance (recommended: `@alexasomba/paystack-node` via `createPaystack({ secretKey })`). */
273
342
  paystackClient: NoInfer<TPaystackClient>;
274
343
  /** Paystack webhook secret used to verify `x-paystack-signature`. */
@@ -276,22 +345,24 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
276
345
  /** Enable customer creation on Better Auth sign up. */
277
346
  createCustomerOnSignUp?: boolean | undefined;
278
347
  onCustomerCreate?: ((data: {
279
- paystackCustomer: Record<string, unknown>;
348
+ paystackCustomer: PaystackCustomerResponse;
280
349
  user: User & {
281
350
  paystackCustomerCode: string;
282
351
  };
283
352
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
284
- getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
353
+ getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown> & {
354
+ metadata?: TMetadata;
355
+ }>) | undefined;
285
356
  subscription?: ({
286
357
  enabled: false;
287
358
  } | ({
288
359
  enabled: true;
289
- } & SubscriptionOptions)) | undefined;
360
+ } & SubscriptionOptions<TMetadata, TLimits>)) | undefined;
290
361
  products?: ProductOptions | undefined;
291
- organization?: OrganizationOptions | undefined;
292
- onEvent?: ((event: unknown) => Promise<void>) | undefined;
362
+ organization?: OrganizationOptions<TMetadata> | undefined;
363
+ onEvent?: ((event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>) => Promise<void>) | undefined;
293
364
  schema?: InferOptionSchema<typeof subscriptions & typeof user & typeof organization> | undefined;
294
365
  }
295
366
  //#endregion
296
- export { PaystackProduct as a, SubscriptionOptions as c, PaystackPlan as i, PaystackNodeClient as n, PaystackTransaction as o, PaystackOptions as r, Subscription as s, PaystackClientLike as t };
297
- //# sourceMappingURL=types-Dlv_nSLg.d.mts.map
367
+ export { PaystackPlan as a, Subscription as c, PaystackOptions as i, SubscriptionOptions as l, PaystackClientLike as n, PaystackProduct as o, PaystackNodeClient as r, PaystackTransaction as s, InputPaystackProduct as t };
368
+ //# sourceMappingURL=types-CMXvth6C.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-CMXvth6C.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","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","amount","message","gateway_response","paid_at","created_at","channel","currency","ip_address","authorization_url","access_code","customer","PaystackSubscriptionResponse","plan","subscription_code","email_token","next_payment_date","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","PaystackTransactionChargeAuthorizationInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","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","name","planCode","interval","description","features","invoiceLimit","limits","freeTrial","days","onTrialStart","onTrialEnd","ctx","onTrialExpired","PaystackProduct","Date","price","quantity","unlimited","paystackId","slug","createdAt","updatedAt","InputPaystackProduct","PaystackTransaction","referenceId","InputPaystackTransaction","paystackCustomerCode","paystackSubscriptionCode","paystackTransactionReference","paystackAuthorizationCode","paystackEmailToken","periodStart","periodEnd","trialStart","trialEnd","cancelAtPeriodEnd","groupId","seats","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"],"sources":["../src/schema.ts","../src/types.d.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexasomba/better-auth-paystack",
3
- "version": "1.0.4",
3
+ "version": "1.1.2",
4
4
  "description": "Production-ready Paystack billing plugin for Better Auth. Supports subscriptions, one-time payments, organization billing, secure webhooks and more",
5
5
  "license": "MIT",
6
6
  "author": "alexasomba",
@@ -71,37 +71,37 @@
71
71
  "better-auth": ">=1.3.0"
72
72
  },
73
73
  "dependencies": {
74
- "@alexasomba/paystack-node": "^1.1.6",
75
- "better-call": "^1.3.1",
74
+ "@alexasomba/paystack-node": "^1.2.1",
75
+ "better-call": "^1.3.2",
76
76
  "defu": "^6.1.4",
77
77
  "zod": "^4.3.6"
78
78
  },
79
79
  "optionalDependencies": {
80
- "@rollup/rollup-linux-x64-gnu": "^4.57.1"
80
+ "@rollup/rollup-linux-x64-gnu": "^4.59.0"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@arethetypeswrong/cli": "^0.18.2",
84
- "@better-auth/core": "^1.4.18",
84
+ "@better-auth/core": "^1.4.19",
85
85
  "@better-fetch/fetch": "^1.1.21",
86
86
  "@eslint/compat": "^2.0.2",
87
87
  "@eslint/js": "^10.0.1",
88
- "@rollup/rollup-linux-x64-gnu": "^4.57.1",
89
- "@types/node": "^22.19.11",
90
- "@typescript-eslint/eslint-plugin": "^8.55.0",
91
- "@typescript-eslint/parser": "^8.55.0",
88
+ "@rollup/rollup-linux-x64-gnu": "^4.59.0",
89
+ "@types/node": "^22.19.12",
90
+ "@typescript-eslint/eslint-plugin": "^8.56.1",
91
+ "@typescript-eslint/parser": "^8.56.1",
92
92
  "@vitest/coverage-v8": "^3.2.4",
93
- "better-auth": "^1.4.18",
94
- "eslint": "^10.0.0",
93
+ "better-auth": "^1.4.19",
94
+ "eslint": "^9.39.3",
95
95
  "eslint-plugin-import-x": "^4.16.1",
96
- "eslint-plugin-unicorn": "^63.0.0",
97
96
  "eslint-plugin-promise": "^7.2.1",
98
97
  "eslint-plugin-react-hooks": "^7.0.1",
98
+ "eslint-plugin-unicorn": "^63.0.0",
99
99
  "husky": "^9.1.7",
100
100
  "lint-staged": "^16.2.7",
101
101
  "publint": "^0.3.17",
102
102
  "tsdown": "^0.20.3",
103
103
  "typescript": "^5.9.3",
104
- "typescript-eslint": "^8.55.0",
104
+ "typescript-eslint": "^8.56.1",
105
105
  "vitest": "^3.2.4"
106
106
  },
107
107
  "lint-staged": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-Dlv_nSLg.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","PaystackNodeClient","ReturnType","PaystackCurrency","PaystackOpenApiFetchResponse","T","Response","data","error","response","PaystackApiResult","Promise","NonNullableInit","Exclude","ExtractBody","body","B","WithMetadataStringOrObject","Omit","Record","metadata","WithMetadataObject","WithEmail","email","CustomerCreateInit","Parameters","CustomerUpdateInit","TransactionInitializeInit","SubscriptionCreateInit","SubscriptionToggleInit","TransactionChargeAuthorizationInit","PaystackCustomerCreateInput","PaystackCustomerUpdateInput","PaystackTransactionInitializeInput","PaystackTransactionChargeAuthorizationInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","customer","create","update","transaction","initialize","verify","reference","chargeAuthorization","subscription","fetch","idOrCode","disable","enable","manage","link","NoInfer","AuthSession","session","PaystackPlan","Subscription","name","planCode","amount","currency","interval","description","features","invoiceLimit","limits","freeTrial","days","onTrialStart","onTrialEnd","ctx","onTrialExpired","PaystackProduct","PaystackTransaction","Date","id","paystackId","referenceId","userId","status","plan","createdAt","updatedAt","InputPaystackTransaction","paystackCustomerCode","paystackSubscriptionCode","paystackTransactionReference","paystackAuthorizationCode","paystackEmailToken","periodStart","periodEnd","trialStart","trialEnd","cancelAtPeriodEnd","groupId","seats","InputSubscription","SubscriptionOptions","plans","requireEmailVerification","authorizeReference","action","onSubscriptionComplete","event","onSubscriptionUpdate","onSubscriptionCreated","onSubscriptionCancel","onSubscriptionDelete","ProductOptions","products","OrganizationOptions","enabled","createCustomerOnOrganizationCreate","onCustomerCreate","paystackCustomer","getCustomerCreateParams","PaystackOptions","TPaystackClient","paystackClient","paystackWebhookSecret","createCustomerOnSignUp","onEvent","schema","Organization","slug","key","Member","organizationId","role"],"sources":["../src/schema.ts","../src/types.d.ts"],"mappings":"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"}