@alexasomba/better-auth-paystack 1.0.0-rc.3 → 1.0.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.
@@ -133,21 +133,27 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
133
133
  };
134
134
  };
135
135
  };
136
- type NoInfer<T> = [T][T extends any ? 0 : never];
137
- type AuthSession = {
138
- user: User;
139
- session: Session;
140
- } & Record<string, any>;
141
- type PaystackPlan = {
142
- /** Human name stored in DB (lowercased). */name: string; /** Paystack plan code (if you use Paystack plans). */
143
- planCode?: string | undefined; /** Amount in the smallest currency unit (e.g. kobo). */
144
- amount?: number | undefined; /** Currency ISO code (e.g. NGN). */
145
- currency?: string | undefined; /** Paystack interval keyword (when using Paystack plans). */
146
- interval?: "daily" | "weekly" | "monthly" | "quarterly" | "biannually" | "annually" | undefined; /** Optional description of the plan. */
147
- description?: string | undefined; /** Optional list of features for the plan. */
148
- features?: string[] | undefined; /** Optional invoice limit; Paystack uses `invoice_limit` during init. */
149
- invoiceLimit?: number | undefined; /** Arbitrary limits (stored/consumed by your app). */
150
- limits?: Record<string, unknown> | undefined; /** Optional free trial config, if your app supports it. */
136
+ type NoInfer<T> = [T][T extends unknown ? 0 : never];
137
+ interface PaystackPlan {
138
+ /** Human name stored in DB (lowercased). */
139
+ name: string;
140
+ /** Paystack plan code (if you use Paystack plans). */
141
+ planCode?: string | undefined;
142
+ /** Amount in the smallest currency unit (e.g. kobo). */
143
+ amount?: number | undefined;
144
+ /** Currency ISO code (e.g. NGN). */
145
+ currency?: string | undefined;
146
+ /** Paystack interval keyword (when using Paystack plans). */
147
+ interval?: "daily" | "weekly" | "monthly" | "quarterly" | "biannually" | "annually" | undefined;
148
+ /** Optional description of the plan. */
149
+ description?: string | undefined;
150
+ /** Optional list of features for the plan. */
151
+ features?: string[] | undefined;
152
+ /** Optional invoice limit; Paystack uses `invoice_limit` during init. */
153
+ invoiceLimit?: number | undefined;
154
+ /** Arbitrary limits (stored/consumed by your app). */
155
+ limits?: Record<string, unknown> | undefined;
156
+ /** Optional free trial config, if your app supports it. */
151
157
  freeTrial?: {
152
158
  days: number;
153
159
  onTrialStart?: (subscription: Subscription) => Promise<void>;
@@ -156,7 +162,7 @@ type PaystackPlan = {
156
162
  }, ctx: GenericEndpointContext$1) => Promise<void>;
157
163
  onTrialExpired?: (subscription: Subscription, ctx: GenericEndpointContext$1) => Promise<void>;
158
164
  } | undefined;
159
- };
165
+ }
160
166
  interface PaystackProduct {
161
167
  /** Human-readable name of the product. */
162
168
  name: string;
@@ -201,52 +207,53 @@ interface Subscription {
201
207
  groupId?: string | undefined;
202
208
  seats?: number | undefined;
203
209
  }
204
- type SubscriptionOptions = {
210
+ interface SubscriptionOptions {
205
211
  plans: PaystackPlan[] | (() => PaystackPlan[] | Promise<PaystackPlan[]>);
206
212
  requireEmailVerification?: boolean | undefined;
207
213
  authorizeReference?: ((data: {
208
214
  user: User;
209
- session: AuthSession;
215
+ session: Session;
210
216
  referenceId: string;
211
217
  action: "initialize-transaction" | "verify-transaction" | "list-subscriptions" | "list-transactions" | "disable-subscription" | "enable-subscription" | "get-subscription-manage-link";
212
218
  }, ctx: GenericEndpointContext$1) => Promise<boolean>) | undefined;
213
219
  onSubscriptionComplete?: ((data: {
214
- event: any;
220
+ event: unknown;
215
221
  subscription: Subscription;
216
222
  plan: PaystackPlan;
217
223
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
218
224
  onSubscriptionUpdate?: ((data: {
219
- event: any;
225
+ event: unknown;
220
226
  subscription: Subscription;
227
+ plan?: PaystackPlan;
221
228
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
222
229
  onSubscriptionCreated?: ((data: {
223
- event: any;
230
+ event: unknown;
224
231
  subscription: Subscription;
225
232
  plan: PaystackPlan;
226
233
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
227
234
  onSubscriptionCancel?: ((data: {
228
- event: any;
235
+ event: unknown;
229
236
  subscription: Subscription;
230
237
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
231
238
  onSubscriptionDelete?: ((data: {
232
- event: any;
239
+ event: unknown;
233
240
  subscription: Subscription;
234
241
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
235
- };
236
- type ProductOptions = {
242
+ }
243
+ interface ProductOptions {
237
244
  products: PaystackProduct[] | (() => PaystackProduct[] | Promise<PaystackProduct[]>);
238
- };
239
- type OrganizationOptions = {
245
+ }
246
+ interface OrganizationOptions {
240
247
  enabled: boolean;
241
248
  createCustomerOnOrganizationCreate?: boolean | undefined;
242
249
  onCustomerCreate?: ((data: {
243
- paystackCustomer: any;
244
- organization: any & {
250
+ paystackCustomer: Record<string, unknown>;
251
+ organization: Record<string, unknown> & {
245
252
  paystackCustomerCode: string;
246
253
  };
247
254
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
248
- getCustomerCreateParams?: ((organization: any, ctx: GenericEndpointContext$1) => Promise<Record<string, any>>) | undefined;
249
- };
255
+ getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
256
+ }
250
257
  interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient> {
251
258
  /** Paystack SDK instance (recommended: `@alexasomba/paystack-node` via `createPaystack({ secretKey })`). */
252
259
  paystackClient: NoInfer<TPaystackClient>;
@@ -255,12 +262,12 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
255
262
  /** Enable customer creation on Better Auth sign up. */
256
263
  createCustomerOnSignUp?: boolean | undefined;
257
264
  onCustomerCreate?: ((data: {
258
- paystackCustomer: any;
265
+ paystackCustomer: Record<string, unknown>;
259
266
  user: User & {
260
267
  paystackCustomerCode: string;
261
268
  };
262
269
  }, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
263
- getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, any>>) | undefined;
270
+ getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
264
271
  subscription?: ({
265
272
  enabled: false;
266
273
  } | ({
@@ -268,9 +275,9 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
268
275
  } & SubscriptionOptions)) | undefined;
269
276
  products?: ProductOptions | undefined;
270
277
  organization?: OrganizationOptions | undefined;
271
- onEvent?: ((event: any) => Promise<void>) | undefined;
278
+ onEvent?: ((event: unknown) => Promise<void>) | undefined;
272
279
  schema?: InferOptionSchema<typeof subscriptions & typeof user & typeof organization> | undefined;
273
280
  }
274
281
  //#endregion
275
282
  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 };
276
- //# sourceMappingURL=types--kIktPs7.d.mts.map
283
+ //# sourceMappingURL=types-Du5udJ7X.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types--kIktPs7.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","PaystackNodeClient","ReturnType","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","PaystackCustomerCreateInput","PaystackCustomerUpdateInput","PaystackTransactionInitializeInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","customer","create","update","transaction","initialize","verify","reference","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","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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"}
1
+ {"version":3,"file":"types-Du5udJ7X.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","PaystackNodeClient","ReturnType","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","PaystackCustomerCreateInput","PaystackCustomerUpdateInput","PaystackTransactionInitializeInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","customer","create","update","transaction","initialize","verify","reference","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","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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"}
package/package.json CHANGED
@@ -1,19 +1,51 @@
1
1
  {
2
2
  "name": "@alexasomba/better-auth-paystack",
3
- "version": "1.0.0-rc.3",
4
- "description": "Community Better Auth plugin for Paystack (by alexasomba)",
3
+ "version": "1.0.0",
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",
7
- "categories": [],
7
+ "homepage": "https://github.com/alexasomba/better-auth-paystack#readme",
8
+ "bugs": {
9
+ "url": "https://github.com/alexasomba/better-auth-paystack/issues"
10
+ },
8
11
  "repository": {
9
12
  "type": "git",
10
13
  "url": "git+https://github.com/alexasomba/better-auth-paystack.git"
11
14
  },
15
+ "funding": [
16
+ {
17
+ "type": "individual",
18
+ "url": "https://solscan.io/account/Gepby394bBBn4AEKkSwAPVnjgBULvYTiXBpbZe9CQqSp"
19
+ }
20
+ ],
12
21
  "keywords": [
13
22
  "paystack",
14
23
  "auth",
15
- "better-auth"
24
+ "better-auth",
25
+ "billing-system",
26
+ "checkout",
27
+ "fintech",
28
+ "nigeria",
29
+ "ghana",
30
+ "south-africa",
31
+ "kenya",
32
+ "ivory-coast",
33
+ "cote-divoire",
34
+ "egypt",
35
+ "rwanda",
36
+ "ngn",
37
+ "ghs",
38
+ "zar",
39
+ "kes",
40
+ "usd",
41
+ "egp",
42
+ "subscriptions",
43
+ "africa",
44
+ "saas"
16
45
  ],
46
+ "engines": {
47
+ "node": ">=22.0.0"
48
+ },
17
49
  "type": "module",
18
50
  "types": "./dist/index.d.mts",
19
51
  "files": [
@@ -51,21 +83,25 @@
51
83
  "@arethetypeswrong/cli": "^0.18.2",
52
84
  "@better-auth/core": "^1.4.18",
53
85
  "@better-fetch/fetch": "^1.1.21",
54
- "@eslint/js": "^9.39.2",
86
+ "@eslint/compat": "^2.0.2",
87
+ "@eslint/js": "^10.0.1",
55
88
  "@rollup/rollup-linux-x64-gnu": "^4.57.1",
56
89
  "@types/node": "^22.19.10",
57
- "@typescript-eslint/eslint-plugin": "^8.54.0",
58
- "@typescript-eslint/parser": "^8.54.0",
90
+ "@typescript-eslint/eslint-plugin": "^8.55.0",
91
+ "@typescript-eslint/parser": "^8.55.0",
59
92
  "@vitest/coverage-v8": "^3.2.4",
60
93
  "better-auth": "^1.4.18",
61
- "eslint": "^9.39.2",
62
- "eslint-plugin-import": "^2.32.0",
94
+ "eslint": "^10.0.0",
95
+ "eslint-plugin-import-x": "^4.16.1",
96
+ "eslint-plugin-unicorn": "^62.0.0",
97
+ "eslint-plugin-promise": "^7.2.1",
63
98
  "eslint-plugin-react-hooks": "^7.0.1",
64
99
  "husky": "^9.1.7",
65
100
  "lint-staged": "^16.2.7",
66
101
  "publint": "^0.3.17",
67
102
  "tsdown": "^0.20.3",
68
103
  "typescript": "^5.9.3",
104
+ "typescript-eslint": "^8.55.0",
69
105
  "vitest": "^3.2.4"
70
106
  },
71
107
  "lint-staged": {
@@ -80,6 +116,7 @@
80
116
  "test": "vitest run",
81
117
  "test:integration": "RUN_INTEGRATION_TESTS=1 vitest run",
82
118
  "coverage": "vitest run --coverage",
119
+ "lint": "eslint src examples/tanstack",
83
120
  "lint:package": "publint run --strict",
84
121
  "lint:types": "attw --profile esm-only --pack .",
85
122
  "typecheck": "tsc -p tsconfig.json --noEmit"