@alexasomba/better-auth-paystack 1.1.0 → 1.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,4 +1,4 @@
1
- import { GenericEndpointContext as GenericEndpointContext$1, InferOptionSchema, Session, User } from "better-auth";
1
+ import { InferOptionSchema, Session, User } from "better-auth";
2
2
  import { createPaystack } from "@alexasomba/paystack-node";
3
3
  import "@better-auth/core/db";
4
4
 
@@ -72,6 +72,10 @@ declare const subscriptions: {
72
72
  type: "number";
73
73
  required: false;
74
74
  };
75
+ pendingPlan: {
76
+ type: "string";
77
+ required: false;
78
+ };
75
79
  };
76
80
  };
77
81
  };
@@ -103,21 +107,22 @@ declare const organization: {
103
107
  };
104
108
  //#endregion
105
109
  //#region src/types.d.ts
110
+ type GenericEndpointContext$1 = any;
106
111
  type PaystackNodeClient = ReturnType<typeof createPaystack>;
107
112
  type PaystackCurrency = "NGN" | "GHS" | "KES" | "ZAR" | "USD" | "XOF";
108
113
  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> {
114
+ interface PaystackWebhookPayload<TData = Record<string, unknown>, TMetadata = PaystackMetadata> {
110
115
  event: PaystackEvent;
111
116
  data: TData;
112
117
  metadata?: TMetadata;
113
- [key: string]: any;
118
+ [key: string]: unknown;
114
119
  }
115
120
  interface PaystackCustomerResponse {
116
121
  customer_code: string;
117
122
  email: string;
118
123
  first_name?: string;
119
124
  last_name?: string;
120
- metadata?: Record<string, unknown>;
125
+ metadata?: PaystackMetadata | string | null;
121
126
  id: number;
122
127
  [key: string]: unknown;
123
128
  }
@@ -142,12 +147,28 @@ type SubscriptionToggleInit = NonNullableInit<Parameters<PaystackNodeClient["sub
142
147
  type TransactionChargeAuthorizationInit = NonNullableInit<Parameters<PaystackNodeClient["transaction_chargeAuthorization"]>[0]>;
143
148
  type PaystackCustomerCreateInput = WithMetadataStringOrObject<ExtractBody<CustomerCreateInit>>;
144
149
  type PaystackCustomerUpdateInput = WithMetadataStringOrObject<WithEmail<ExtractBody<CustomerUpdateInit>>>;
145
- type PaystackTransactionInitializeInput = WithMetadataObject<ExtractBody<TransactionInitializeInit>>;
150
+ type PaystackTransactionInitializeInput = WithMetadataObject<ExtractBody<TransactionInitializeInit>> & {
151
+ scheduleAtPeriodEnd?: boolean;
152
+ cancelAtPeriodEnd?: boolean;
153
+ prorateAndCharge?: boolean;
154
+ };
146
155
  type PaystackTransactionChargeAuthorizationInput = WithMetadataObject<ExtractBody<TransactionChargeAuthorizationInit>>;
147
156
  type PaystackSubscriptionCreateInput = ExtractBody<SubscriptionCreateInit>;
148
157
  type PaystackSubscriptionToggleInput = ExtractBody<SubscriptionToggleInit>;
149
158
  type PaystackClientLike = Partial<PaystackNodeClient> & {
150
159
  subscription_manage_link?: PaystackNodeClient["subscription_manageLink"];
160
+ subscription_update?: (params: {
161
+ params: {
162
+ path: {
163
+ code: string;
164
+ };
165
+ };
166
+ body: {
167
+ plan?: string;
168
+ authorization?: string;
169
+ amount?: number;
170
+ };
171
+ }) => Promise<unknown>;
151
172
  customer?: {
152
173
  create?: (params: PaystackCustomerCreateInput) => Promise<unknown>;
153
174
  update?: (code: string, params: PaystackCustomerUpdateInput) => Promise<unknown>;
@@ -167,6 +188,12 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
167
188
  email?: (code: string, email: string) => Promise<unknown>;
168
189
  };
169
190
  };
191
+ plan?: {
192
+ list?: (init?: any) => Promise<unknown>;
193
+ fetch?: (idOrCode: string) => Promise<unknown>;
194
+ create?: (params: Record<string, unknown>) => Promise<unknown>;
195
+ update?: (idOrCode: string, params: Record<string, unknown>) => Promise<unknown>;
196
+ };
170
197
  product?: {
171
198
  list?: () => Promise<unknown>;
172
199
  fetch?: (idOrCode: string) => Promise<unknown>;
@@ -179,7 +206,16 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
179
206
  product_create?: (init: any) => Promise<unknown>;
180
207
  product_update?: (init: any) => Promise<unknown>;
181
208
  product_delete?: (init: any) => Promise<unknown>;
209
+ plan_list?: (init?: any) => Promise<unknown>;
210
+ plan_fetch?: (init: any) => Promise<unknown>;
211
+ plan_create?: (init: any) => Promise<unknown>;
212
+ plan_update?: (init: any) => Promise<unknown>;
182
213
  };
214
+ interface PaystackMetadata {
215
+ userId?: string;
216
+ organizationId?: string;
217
+ [key: string]: unknown;
218
+ }
183
219
  type NoInfer<T> = [T][T extends unknown ? 0 : never];
184
220
  interface PaystackPlan<TLimits = Record<string, unknown>> {
185
221
  /** Human name stored in DB (lowercased). */
@@ -200,6 +236,10 @@ interface PaystackPlan<TLimits = Record<string, unknown>> {
200
236
  invoiceLimit?: number | undefined;
201
237
  /** Arbitrary limits (stored/consumed by your app). */
202
238
  limits?: TLimits | undefined;
239
+ /** Amount per seat (optional). */
240
+ seatAmount?: number | undefined;
241
+ /** Paystack plan code for seat (optional). */
242
+ seatPlanCode?: string | undefined;
203
243
  /** Optional free trial config, if your app supports it. */
204
244
  freeTrial?: {
205
245
  days: number;
@@ -235,6 +275,11 @@ interface PaystackProduct {
235
275
  createdAt: Date;
236
276
  updatedAt: Date;
237
277
  }
278
+ interface InputPaystackProduct extends Omit<PaystackProduct, "id" | "createdAt" | "updatedAt" | "slug"> {
279
+ slug?: string;
280
+ createdAt?: Date;
281
+ updatedAt?: Date;
282
+ }
238
283
  interface PaystackTransaction {
239
284
  id: string;
240
285
  reference: string;
@@ -267,8 +312,10 @@ interface Subscription {
267
312
  cancelAtPeriodEnd?: boolean | undefined;
268
313
  groupId?: string | undefined;
269
314
  seats?: number | undefined;
315
+ /** The plan that will be applied at the next billing cycle. */
316
+ pendingPlan?: string | undefined;
270
317
  }
271
- interface SubscriptionOptions<TMetadata = any, TLimits = any> {
318
+ interface SubscriptionOptions<TMetadata = Record<string, unknown>, TLimits = Record<string, unknown>> {
272
319
  plans: PaystackPlan<TLimits>[] | (() => PaystackPlan<TLimits>[] | Promise<PaystackPlan<TLimits>[]>);
273
320
  requireEmailVerification?: boolean | undefined;
274
321
  authorizeReference?: ((data: {
@@ -278,33 +325,33 @@ interface SubscriptionOptions<TMetadata = any, TLimits = any> {
278
325
  action: "initialize-transaction" | "verify-transaction" | "list-subscriptions" | "list-transactions" | "disable-subscription" | "enable-subscription" | "get-subscription-manage-link";
279
326
  }, ctx: GenericEndpointContext$1) => Promise<boolean>) | undefined;
280
327
  onSubscriptionComplete?: ((data: {
281
- event: PaystackWebhookPayload<any, TMetadata>;
328
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
282
329
  subscription: Subscription;
283
330
  plan: PaystackPlan<TLimits>;
284
331
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
285
332
  onSubscriptionUpdate?: ((data: {
286
- event: PaystackWebhookPayload<any, TMetadata>;
333
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
287
334
  subscription: Subscription;
288
335
  plan?: PaystackPlan<TLimits>;
289
336
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
290
337
  onSubscriptionCreated?: ((data: {
291
- event: PaystackWebhookPayload<any, TMetadata>;
338
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
292
339
  subscription: Subscription;
293
340
  plan: PaystackPlan<TLimits>;
294
341
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
295
342
  onSubscriptionCancel?: ((data: {
296
- event: PaystackWebhookPayload<any, TMetadata>;
343
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
297
344
  subscription: Subscription;
298
345
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
299
346
  onSubscriptionDelete?: ((data: {
300
- event: PaystackWebhookPayload<any, TMetadata>;
347
+ event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>;
301
348
  subscription: Subscription;
302
349
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
303
350
  }
304
351
  interface ProductOptions {
305
- products: PaystackProduct[] | (() => PaystackProduct[] | Promise<PaystackProduct[]>);
352
+ products: InputPaystackProduct[] | (() => InputPaystackProduct[] | Promise<InputPaystackProduct[]>);
306
353
  }
307
- interface OrganizationOptions<TMetadata = any> {
354
+ interface OrganizationOptions<TMetadata = Record<string, unknown>> {
308
355
  enabled: boolean;
309
356
  createCustomerOnOrganizationCreate?: boolean | undefined;
310
357
  onCustomerCreate?: ((data: {
@@ -317,7 +364,7 @@ interface OrganizationOptions<TMetadata = any> {
317
364
  metadata?: TMetadata;
318
365
  }>) | undefined;
319
366
  }
320
- interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata = any, TLimits = any> {
367
+ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient, TMetadata = Record<string, unknown>, TLimits = Record<string, unknown>> {
321
368
  /** Paystack SDK instance (recommended: `@alexasomba/paystack-node` via `createPaystack({ secretKey })`). */
322
369
  paystackClient: NoInfer<TPaystackClient>;
323
370
  /** Paystack webhook secret used to verify `x-paystack-signature`. */
@@ -340,9 +387,9 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
340
387
  } & SubscriptionOptions<TMetadata, TLimits>)) | undefined;
341
388
  products?: ProductOptions | undefined;
342
389
  organization?: OrganizationOptions<TMetadata> | undefined;
343
- onEvent?: ((event: PaystackWebhookPayload<any, TMetadata>) => Promise<void>) | undefined;
390
+ onEvent?: ((event: PaystackWebhookPayload<Record<string, unknown>, TMetadata>) => Promise<void>) | undefined;
344
391
  schema?: InferOptionSchema<typeof subscriptions & typeof user & typeof organization> | undefined;
345
392
  }
346
393
  //#endregion
347
394
  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 };
348
- //# sourceMappingURL=types-BVSLYZGY.d.mts.map
395
+ //# sourceMappingURL=types-BOpjdQrr.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-BOpjdQrr.d.mts","names":["InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","GenericEndpointContext","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","scheduleAtPeriodEnd","cancelAtPeriodEnd","prorateAndCharge","PaystackTransactionChargeAuthorizationInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","subscription_update","authorization","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","seatAmount","seatPlanCode","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","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"],"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.1.0",
3
+ "version": "1.2.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",
@@ -71,8 +71,8 @@
71
71
  "better-auth": ">=1.3.0"
72
72
  },
73
73
  "dependencies": {
74
- "@alexasomba/paystack-node": "^1.1.6",
75
- "better-call": "^1.3.2",
74
+ "@alexasomba/paystack-node": "^1.2.1",
75
+ "better-call": "^1.3.3",
76
76
  "defu": "^6.1.4",
77
77
  "zod": "^4.3.6"
78
78
  },
@@ -81,27 +81,27 @@
81
81
  },
82
82
  "devDependencies": {
83
83
  "@arethetypeswrong/cli": "^0.18.2",
84
- "@better-auth/core": "^1.4.18",
84
+ "@better-auth/core": "^1.5.0",
85
85
  "@better-fetch/fetch": "^1.1.21",
86
86
  "@eslint/compat": "^2.0.2",
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.56.0",
91
- "@typescript-eslint/parser": "^8.56.0",
87
+ "@eslint/js": "^9.39.3",
88
+ "@rollup/rollup-linux-x64-gnu": "^4.59.0",
89
+ "@types/node": "^22.19.13",
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",
93
+ "better-auth": "^1.5.0",
94
94
  "eslint": "^9.39.3",
95
95
  "eslint-plugin-import-x": "^4.16.1",
96
96
  "eslint-plugin-promise": "^7.2.1",
97
97
  "eslint-plugin-react-hooks": "^7.0.1",
98
98
  "eslint-plugin-unicorn": "^63.0.0",
99
99
  "husky": "^9.1.7",
100
- "lint-staged": "^16.2.7",
100
+ "lint-staged": "^16.3.1",
101
101
  "publint": "^0.3.17",
102
102
  "tsdown": "^0.20.3",
103
103
  "typescript": "^5.9.3",
104
- "typescript-eslint": "^8.56.0",
104
+ "typescript-eslint": "^8.56.1",
105
105
  "vitest": "^3.2.4"
106
106
  },
107
107
  "lint-staged": {
@@ -117,7 +117,7 @@
117
117
  "test": "vitest run",
118
118
  "test:integration": "RUN_INTEGRATION_TESTS=1 vitest run",
119
119
  "coverage": "vitest run --coverage",
120
- "lint": "eslint src examples/tanstack",
120
+ "lint": "eslint src",
121
121
  "lint:package": "publint run --strict",
122
122
  "lint:types": "attw --profile esm-only --pack .",
123
123
  "typecheck": "tsc -p tsconfig.json --noEmit"
@@ -1 +0,0 @@
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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"}