@alexasomba/better-auth-paystack 1.0.4 → 1.1.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.
@@ -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 = any, TMetadata = any> {
110
+ event: PaystackEvent;
111
+ data: TData;
112
+ metadata?: TMetadata;
113
+ [key: string]: any;
114
+ }
115
+ interface PaystackCustomerResponse {
116
+ customer_code: string;
117
+ email: string;
118
+ first_name?: string;
119
+ last_name?: string;
120
+ metadata?: Record<string, unknown>;
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,21 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
144
167
  email?: (code: string, email: string) => Promise<unknown>;
145
168
  };
146
169
  };
170
+ product?: {
171
+ list?: () => 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
+ delete?: (idOrCode: string) => Promise<unknown>;
176
+ };
177
+ product_list?: (init?: any) => Promise<unknown>;
178
+ product_fetch?: (init: any) => Promise<unknown>;
179
+ product_create?: (init: any) => Promise<unknown>;
180
+ product_update?: (init: any) => Promise<unknown>;
181
+ product_delete?: (init: any) => Promise<unknown>;
147
182
  };
148
183
  type NoInfer<T> = [T][T extends unknown ? 0 : never];
149
- interface PaystackPlan {
184
+ interface PaystackPlan<TLimits = Record<string, unknown>> {
150
185
  /** Human name stored in DB (lowercased). */
151
186
  name: string;
152
187
  /** Paystack plan code (if you use Paystack plans). */
@@ -164,7 +199,7 @@ interface PaystackPlan {
164
199
  /** Optional invoice limit; Paystack uses `invoice_limit` during init. */
165
200
  invoiceLimit?: number | undefined;
166
201
  /** Arbitrary limits (stored/consumed by your app). */
167
- limits?: Record<string, unknown> | undefined;
202
+ limits?: TLimits | undefined;
168
203
  /** Optional free trial config, if your app supports it. */
169
204
  freeTrial?: {
170
205
  days: number;
@@ -176,18 +211,29 @@ interface PaystackPlan {
176
211
  } | undefined;
177
212
  }
178
213
  interface PaystackProduct {
214
+ id: string;
179
215
  /** Human-readable name of the product. */
180
216
  name: string;
181
- /** Amount in the smallest currency unit (e.g., kobo). */
182
- amount: number;
217
+ /** Price in the smallest currency unit (e.g., kobo). */
218
+ price: number;
183
219
  /** Currency ISO code (e.g., NGN). */
184
220
  currency: PaystackCurrency | (string & {});
185
- /** Optional metadata to include with the transaction. */
186
- metadata?: Record<string, unknown> | undefined;
221
+ /** Optional metadata to include with the product. */
222
+ metadata?: string | undefined;
187
223
  /** Optional description of the product. */
188
224
  description?: string | undefined;
189
225
  /** Optional list of features for the product. */
190
226
  features?: string[] | undefined;
227
+ /** Optional stock quantity for the product. */
228
+ quantity?: number | undefined;
229
+ /** Whether the product has unlimited stock. */
230
+ unlimited?: boolean | undefined;
231
+ /** The internal Paystack ID for the product. */
232
+ paystackId?: string | undefined;
233
+ /** Unique slug for the product. */
234
+ slug: string;
235
+ createdAt: Date;
236
+ updatedAt: Date;
191
237
  }
192
238
  interface PaystackTransaction {
193
239
  id: string;
@@ -199,6 +245,7 @@ interface PaystackTransaction {
199
245
  currency: PaystackCurrency | (string & {});
200
246
  status: string;
201
247
  plan?: string | undefined;
248
+ product?: string | undefined;
202
249
  metadata?: string | undefined;
203
250
  createdAt: Date;
204
251
  updatedAt: Date;
@@ -221,8 +268,8 @@ interface Subscription {
221
268
  groupId?: string | undefined;
222
269
  seats?: number | undefined;
223
270
  }
224
- interface SubscriptionOptions {
225
- plans: PaystackPlan[] | (() => PaystackPlan[] | Promise<PaystackPlan[]>);
271
+ interface SubscriptionOptions<TMetadata = any, TLimits = any> {
272
+ plans: PaystackPlan<TLimits>[] | (() => PaystackPlan<TLimits>[] | Promise<PaystackPlan<TLimits>[]>);
226
273
  requireEmailVerification?: boolean | undefined;
227
274
  authorizeReference?: ((data: {
228
275
  user: User;
@@ -231,44 +278,46 @@ interface SubscriptionOptions {
231
278
  action: "initialize-transaction" | "verify-transaction" | "list-subscriptions" | "list-transactions" | "disable-subscription" | "enable-subscription" | "get-subscription-manage-link";
232
279
  }, ctx: GenericEndpointContext$1) => Promise<boolean>) | undefined;
233
280
  onSubscriptionComplete?: ((data: {
234
- event: unknown;
281
+ event: PaystackWebhookPayload<any, TMetadata>;
235
282
  subscription: Subscription;
236
- plan: PaystackPlan;
283
+ plan: PaystackPlan<TLimits>;
237
284
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
238
285
  onSubscriptionUpdate?: ((data: {
239
- event: unknown;
286
+ event: PaystackWebhookPayload<any, TMetadata>;
240
287
  subscription: Subscription;
241
- plan?: PaystackPlan;
288
+ plan?: PaystackPlan<TLimits>;
242
289
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
243
290
  onSubscriptionCreated?: ((data: {
244
- event: unknown;
291
+ event: PaystackWebhookPayload<any, TMetadata>;
245
292
  subscription: Subscription;
246
- plan: PaystackPlan;
293
+ plan: PaystackPlan<TLimits>;
247
294
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
248
295
  onSubscriptionCancel?: ((data: {
249
- event: unknown;
296
+ event: PaystackWebhookPayload<any, TMetadata>;
250
297
  subscription: Subscription;
251
298
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
252
299
  onSubscriptionDelete?: ((data: {
253
- event: unknown;
300
+ event: PaystackWebhookPayload<any, TMetadata>;
254
301
  subscription: Subscription;
255
302
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
256
303
  }
257
304
  interface ProductOptions {
258
305
  products: PaystackProduct[] | (() => PaystackProduct[] | Promise<PaystackProduct[]>);
259
306
  }
260
- interface OrganizationOptions {
307
+ interface OrganizationOptions<TMetadata = any> {
261
308
  enabled: boolean;
262
309
  createCustomerOnOrganizationCreate?: boolean | undefined;
263
310
  onCustomerCreate?: ((data: {
264
- paystackCustomer: Record<string, unknown>;
311
+ paystackCustomer: PaystackCustomerResponse;
265
312
  organization: Record<string, unknown> & {
266
313
  paystackCustomerCode: string;
267
314
  };
268
315
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
269
- getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
316
+ getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown> & {
317
+ metadata?: TMetadata;
318
+ }>) | undefined;
270
319
  }
271
- interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient> {
320
+ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata = any, TLimits = any> {
272
321
  /** Paystack SDK instance (recommended: `@alexasomba/paystack-node` via `createPaystack({ secretKey })`). */
273
322
  paystackClient: NoInfer<TPaystackClient>;
274
323
  /** Paystack webhook secret used to verify `x-paystack-signature`. */
@@ -276,22 +325,24 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
276
325
  /** Enable customer creation on Better Auth sign up. */
277
326
  createCustomerOnSignUp?: boolean | undefined;
278
327
  onCustomerCreate?: ((data: {
279
- paystackCustomer: Record<string, unknown>;
328
+ paystackCustomer: PaystackCustomerResponse;
280
329
  user: User & {
281
330
  paystackCustomerCode: string;
282
331
  };
283
332
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
284
- getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
333
+ getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown> & {
334
+ metadata?: TMetadata;
335
+ }>) | undefined;
285
336
  subscription?: ({
286
337
  enabled: false;
287
338
  } | ({
288
339
  enabled: true;
289
- } & SubscriptionOptions)) | undefined;
340
+ } & SubscriptionOptions<TMetadata, TLimits>)) | undefined;
290
341
  products?: ProductOptions | undefined;
291
- organization?: OrganizationOptions | undefined;
292
- onEvent?: ((event: unknown) => Promise<void>) | undefined;
342
+ organization?: OrganizationOptions<TMetadata> | undefined;
343
+ onEvent?: ((event: PaystackWebhookPayload<any, TMetadata>) => Promise<void>) | undefined;
293
344
  schema?: InferOptionSchema<typeof subscriptions & typeof user & typeof organization> | undefined;
294
345
  }
295
346
  //#endregion
296
347
  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
348
+ //# sourceMappingURL=types-BVSLYZGY.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-BVSLYZGY.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","PaystackNodeClient","ReturnType","PaystackCurrency","PaystackEvent","PaystackWebhookPayload","TData","TMetadata","event","data","metadata","key","PaystackCustomerResponse","Record","customer_code","email","first_name","last_name","id","PaystackTransactionResponse","domain","status","reference","amount","message","gateway_response","paid_at","created_at","channel","currency","ip_address","customer","PaystackSubscriptionResponse","plan","subscription_code","email_token","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","product","list","delete","product_list","init","product_fetch","product_create","product_update","product_delete","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","userId","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","organizationId","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.0",
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",
@@ -72,12 +72,12 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@alexasomba/paystack-node": "^1.1.6",
75
- "better-call": "^1.3.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",
@@ -87,21 +87,21 @@
87
87
  "@eslint/js": "^10.0.1",
88
88
  "@rollup/rollup-linux-x64-gnu": "^4.57.1",
89
89
  "@types/node": "^22.19.11",
90
- "@typescript-eslint/eslint-plugin": "^8.55.0",
91
- "@typescript-eslint/parser": "^8.55.0",
90
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
91
+ "@typescript-eslint/parser": "^8.56.0",
92
92
  "@vitest/coverage-v8": "^3.2.4",
93
93
  "better-auth": "^1.4.18",
94
- "eslint": "^10.0.0",
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.0",
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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"}