@alexasomba/better-auth-paystack 2.2.0 → 2.4.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,5 +1,21 @@
1
- import { GenericEndpointContext, Session, User } from "better-auth";
1
+ import { GenericEndpointContext, InferOptionSchema, Session, User } from "better-auth";
2
2
  import { PaystackCustomerClient, PaystackPlanClient, PaystackProductClient, PaystackSubscriptionClient, PaystackTransactionClient, PaystackWebhookEvent, components } from "@alexasomba/paystack-node";
3
+ import { BetterAuthPluginDBSchema, DBFieldAttribute } from "better-auth/db";
4
+ //#region src/schema.d.ts
5
+ type PluginSchemaTable<TableName extends string, FieldName extends string> = Record<TableName, {
6
+ fields: Record<FieldName, DBFieldAttribute>;
7
+ disableMigration?: boolean;
8
+ modelName?: string;
9
+ }>;
10
+ type TransactionsSchema = PluginSchemaTable<"paystackTransaction", "reference" | "paystackId" | "referenceId" | "userId" | "amount" | "currency" | "status" | "plan" | "product" | "metadata" | "createdAt" | "updatedAt">;
11
+ type SubscriptionsSchema = PluginSchemaTable<"subscription", "plan" | "referenceId" | "paystackCustomerCode" | "paystackSubscriptionCode" | "paystackTransactionReference" | "paystackAuthorizationCode" | "paystackEmailToken" | "status" | "periodStart" | "periodEnd" | "trialStart" | "trialEnd" | "cancelAtPeriodEnd" | "groupId" | "seats" | "pendingPlan">;
12
+ type UserSchema = PluginSchemaTable<"user", "paystackCustomerCode">;
13
+ type OrganizationSchema = PluginSchemaTable<"organization", "paystackCustomerCode" | "email">;
14
+ type ProductsSchema = PluginSchemaTable<"paystackProduct", "name" | "description" | "price" | "currency" | "quantity" | "unlimited" | "paystackId" | "slug" | "metadata" | "createdAt" | "updatedAt">;
15
+ type PlansSchema = PluginSchemaTable<"paystackPlan", "name" | "description" | "amount" | "currency" | "interval" | "planCode" | "paystackId" | "metadata" | "createdAt" | "updatedAt">;
16
+ type PaystackPluginSchema = SubscriptionsSchema & TransactionsSchema & UserSchema & OrganizationSchema & ProductsSchema & PlansSchema;
17
+ declare const getSchema: (options: PaystackOptions) => BetterAuthPluginDBSchema;
18
+ //#endregion
3
19
  //#region src/types.d.ts
4
20
  type PaystackCheckoutChannel = "card" | "bank" | "ussd" | "qr" | "mobile_money" | "bank_transfer" | "eft" | "apple_pay";
5
21
  /**
@@ -32,8 +48,8 @@ interface PaystackProduct {
32
48
  paystackId?: string;
33
49
  slug?: string;
34
50
  metadata?: string | null;
35
- createdAt: Date;
36
- updatedAt: Date;
51
+ createdAt?: Date;
52
+ updatedAt?: Date;
37
53
  }
38
54
  interface PaystackPlan {
39
55
  id?: string;
@@ -200,10 +216,7 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackC
200
216
  /**
201
217
  * Custom database schema / model names
202
218
  */
203
- schema?: Record<string, {
204
- modelName?: string;
205
- fields?: Record<string, string>;
206
- }>;
219
+ schema?: InferOptionSchema<PaystackPluginSchema>;
207
220
  }
208
221
  interface Subscription {
209
222
  id: string;
@@ -254,5 +267,5 @@ interface PaystackClientLike {
254
267
  plan: Pick<PaystackPlanClient, "list" | "create">;
255
268
  }
256
269
  //#endregion
257
- export { PaystackOptions as a, PaystackSyncResult as c, Subscription as d, SubscriptionOptions as f, PaystackClientLike as i, PaystackTransaction as l, ChargeRecurringSubscriptionInput as n, PaystackPlan as o, ChargeRecurringSubscriptionResult as r, PaystackProduct as s, AnyPaystackOptions as t, PaystackTransactionResponse as u };
258
- //# sourceMappingURL=types-B5ZnlFrq.d.mts.map
270
+ export { PaystackOptions as a, PaystackSyncResult as c, Subscription as d, SubscriptionOptions as f, PaystackClientLike as i, PaystackTransaction as l, ChargeRecurringSubscriptionInput as n, PaystackPlan as o, getSchema as p, ChargeRecurringSubscriptionResult as r, PaystackProduct as s, AnyPaystackOptions as t, PaystackTransactionResponse as u };
271
+ //# sourceMappingURL=types-CNI2ur0p.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-CNI2ur0p.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","Organization","Member","PaystackPaths","PaystackResponse","PaystackWebhookEvent","PaystackClient","PaystackCustomerClient","PaystackPlanClient","PaystackProductClient","PaystackSubscriptionClient","PaystackTransactionClient","components","PaystackPluginSchema","PaystackCurrency","PaystackCheckoutChannel","PaystackTransaction","Date","id","reference","paystackId","referenceId","userId","amount","currency","status","plan","product","metadata","createdAt","updatedAt","PaystackProduct","name","description","price","quantity","unlimited","slug","InputPaystackProduct","PaystackUser","paystackCustomerCode","PaystackOrganization","PaystackPlan","Subscription","Promise","Record","interval","planCode","seatAmount","seatPriceId","seatPlanCode","invoiceLimit","freeTrial","days","onTrialStart","subscription","limits","features","PaystackWebhookPayload","PaystackTransactionResponse","PaystackPlanResponse","PaystackCustomerResponse","PaystackSubscriptionResponse","PaystackProductResponse","SubscriptionOptions","enabled","plans","autoSyncQuantity","cancelBehavior","onSubscriptionComplete","event","data","ctx","onSubscriptionCreated","onSubscriptionCancel","authorizeReference","user","session","action","requireEmailVerification","allowedPaymentChannels","PaystackOptions","TPaystackClient","PaystackClientLike","secretKey","paystackWebhookSecret","paystackClient","webhook","secret","verifyIP","trustedIPs","billingPattern","onEvent","organization","getCustomerCreateParams","email","org","onCustomerCreate","paystackCustomer","products","createCustomerOnSignUp","schema","organizationId","pendingPlan","paystackSubscriptionCode","paystackPlanCode","paystackAuthorizationCode","paystackTransactionReference","paystackEmailToken","seats","periodStart","periodEnd","cancelAtPeriodEnd","trialStart","trialEnd","groupId","ChargeRecurringSubscriptionInput","subscriptionId","ChargeRecurringSubscriptionResult","PaystackSyncResult","count","AnyPaystackOptions","Pick","transaction","customer"],"sources":["../src/schema.ts","../src/types.d.ts"],"mappings":";;;;KAIK,iBAAA,uDAAwE,MAAA,CAC3E,SAAA;EAEE,MAAA,EAAQ,MAAA,CAAO,SAAA,EAAW,gBAAA;EAC1B,gBAAA;EACA,SAAA;AAAA;AAAA,KAIC,kBAAA,GAAqB,iBAAA;AAAA,KAgBrB,mBAAA,GAAsB,iBAAA;AAAA,KAoBtB,UAAA,GAAa,iBAAA;AAAA,KAEb,kBAAA,GAAqB,iBAAA;AAAA,KAErB,cAAA,GAAiB,iBAAA;AAAA,KAejB,WAAA,GAAc,iBAAA;AAAA,KAcP,oBAAA,GAAuB,mBAAA,GACjC,kBAAA,GACA,UAAA,GACA,kBAAA,GACA,cAAA,GACA,WAAA;AAAA,cAqSW,SAAA,GAAa,OAAA,EAAS,eAAA,KAAkB,wBAAA;;;KCpXzCkB,uBAAAA;;;;;UAWKC,mBAAAA;EACbE,EAAAA;EACAC,SAAAA;EACAC,UAAAA;EACAC,WAAAA;EACAC,MAAAA;EACAC,MAAAA;EACAC,QAAAA;EACAC,MAAAA;EACAC,IAAAA;EACAC,OAAAA;EACAC,QAAAA;EACAC,SAAAA,EAAWZ,IAAAA;EACXa,SAAAA,EAAWb,IAAAA;AAAAA;AAAAA,UAEEc,eAAAA;EACbb,EAAAA;EACAc,IAAAA;EACAC,WAAAA;EACAC,KAAAA;EACAV,QAAAA;EACAW,QAAAA;EACAC,SAAAA;EACAhB,UAAAA;EACAiB,IAAAA;EACAT,QAAAA;EACAC,SAAAA,GAAYZ,IAAAA;EACZa,SAAAA,GAAYb,IAAAA;AAAAA;AAAAA,UAiBCyB,YAAAA;EACbxB,EAAAA;EACAc,IAAAA;EACAC,WAAAA;EACAV,MAAAA;EACAC,QAAAA;EACAsB,QAAAA;EACAC,QAAAA;EACA3B,UAAAA;EACA4B,UAAAA;EDcF;;;;ECTEC,WAAAA;EACAC,YAAAA;EACAC,YAAAA;EACAC,SAAAA;IACIC,IAAAA;IACAC,YAAAA,IAAgBC,YAAAA,EAAcZ,YAAAA,KAAiBC,OAAAA;EAAAA;EAEnDY,MAAAA,GAASX,MAAAA;EACTY,QAAAA;EACA7B,QAAAA;EACAC,SAAAA,GAAYZ,IAAAA;EACZa,SAAAA,GAAYb,IAAAA;AAAAA;;;;KAKJyC,sBAAAA,GAAyBrD,oBAAAA;AA1ErC;;;AAAA,KA8EYsD,2BAAAA,GAA8B/C,UAAAA;AAAAA,UAKzBoD,mBAAAA;EA7EbzC;;;EAiFA0C,OAAAA;EA7EAtC;;;EAiFAuC,KAAAA,EAAOxB,YAAAA,YAAwBE,OAAAA,CAAQF,YAAAA;EA9EvCZ;;;EAkFAqC,gBAAAA;EAhFapC;;;;EAqFbqC,cAAAA;EAnFApC;;;EAuFAqC,sBAAAA,IAA0BE,IAAAA;IACtBD,KAAAA,EAAOZ,sBAAAA;IACPH,YAAAA,EAAcZ,YAAAA;IACdjB,IAAAA,EAAMgB,YAAAA;EAAAA,GACP8B,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA;EACnC6B,qBAAAA,IAAyBF,IAAAA;IACrBD,KAAAA,EAAOZ,sBAAAA;IACPH,YAAAA,EAAcZ,YAAAA;IACdjB,IAAAA,EAAMgB,YAAAA;EAAAA,GACP8B,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA;EACnC8B,oBAAAA,IAAwBH,IAAAA;IACpBD,KAAAA,EAAOZ,sBAAAA;IACPH,YAAAA,EAAcZ,YAAAA;EAAAA,GACf6B,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA;;;;EAInC+B,kBAAAA,IAAsBJ,IAAAA;IAClBK,IAAAA,EAAM5E,IAAAA;IACN6E,OAAAA,EAAS9E,OAAAA;IACTsB,WAAAA;IACAyD,MAAAA;EAAAA,GACDN,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA;EAhFnCZ;;;EAoFA+C,wBAAAA;EAhFAjC;;;;EAqFAkC,sBAAAA,GAAyBjE,uBAAAA;AAAAA;AAAAA,UAEZkE,eAAAA,yBAAwCE,kBAAAA,GAAqBA,kBAAAA;EA5E1E/B;;;EAgFAgC,SAAAA;EA9EoB7B;;;;EAmFpB8B,qBAAAA;EA/EAzD;;;;EAoFA0D,cAAAA,GAAiBJ,eAAAA;EAlFD;;AAKpB;EAiFIK,OAAAA;IAjFiClF;;;IAqF7BmF,MAAAA;IAjF+B;;;;IAsF/BC,QAAAA;IAjF4B;;;;IAsF5BC,UAAAA;EAAAA;EA/Dc/C;;;EAoElBY,YAAAA,GAAeS,mBAAAA;EAhEJN;;;;EAqEXiC,cAAAA;EAhEWjC;;;EAoEXkC,OAAAA,IAAWtB,KAAAA,EAAOjE,oBAAAA,KAAyBuC,OAAAA;EA7DjC5C;;;EAiEV6F,YAAAA;IACI5B,OAAAA;IACA6B,uBAAAA,IAA2BE,GAAAA;MACvB9E,EAAAA;MACAc,IAAAA;MACA+D,KAAAA;IAAAA,GACDvB,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA,CAAQC,MAAAA;IAC3CoD,gBAAAA,IAAoB1B,IAAAA;MAChB2B,gBAAAA,EAAkBrD,MAAAA;MAClBgD,YAAAA;IAAAA,GACDrB,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA;EAAAA;EA5FnC0B;;;EAiGJ6B,QAAAA;IACIA,QAAAA,GAAWpE,eAAAA,YAA2Ba,OAAAA,CAAQb,eAAAA;EAAAA;EAElDqE,sBAAAA;EACAH,gBAAAA,IAAoB1B,IAAAA;IAChB2B,gBAAAA,EAAkBrD,MAAAA;IAClB+B,IAAAA;EAAAA,GACDJ,GAAAA,EAAK3E,sBAAAA,KAA2B+C,OAAAA;EAnG/B0B;;;EAuGJ+B,MAAAA,GAASvG,iBAAAA,CAAkBe,oBAAAA;AAAAA;AAAAA,UAEd8B,YAAAA;EACbzB,EAAAA;EACAI,MAAAA;EACAgF,cAAAA;EACA5E,IAAAA;EACA6E,WAAAA;EACAC,wBAAAA;EACAhE,oBAAAA;EACAiE,gBAAAA;EACAC,yBAAAA;EACAC,4BAAAA;EACAC,kBAAAA;EACAnF,MAAAA;EACAoF,KAAAA;EACAxF,WAAAA;EACAyF,WAAAA,GAAc7F,IAAAA;EACd8F,SAAAA,GAAY9F,IAAAA;EACZ+F,iBAAAA;EACAC,UAAAA,GAAahG,IAAAA;EACbiG,QAAAA,GAAWjG,IAAAA;EACXkG,OAAAA;EACAtF,SAAAA,EAAWZ,IAAAA;EACXa,SAAAA,EAAWb,IAAAA;AAAAA;AAAAA,UAEEmG,gCAAAA;EACbC,cAAAA;EACA9F,MAAAA;AAAAA;AAAAA,UAEa+F,iCAAAA;EACb7F,MAAAA;EACA8C,IAAAA,EAAMZ,2BAAAA;AAAAA;AAAAA,UAEO4D,kBAAAA;EACb9F,MAAAA;EACA+F,KAAAA;AAAAA;AAAAA,KAEQC,kBAAAA,GAAqBxC,eAAAA,CAAgBE,kBAAAA;;;;;UAKhCA,kBAAAA;EACbwC,WAAAA,EAAaD,IAAAA,CAAK/G,yBAAAA;EAClBiH,QAAAA,EAAUF,IAAAA,CAAKnH,sBAAAA;EACfgD,YAAAA,EAAcmE,IAAAA,CAAKhH,0BAAAA;EACnBiB,OAAAA,EAAS+F,IAAAA,CAAKjH,qBAAAA;EACdiB,IAAAA,EAAMgG,IAAAA,CAAKlH,kBAAAA;AAAAA"}
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const PACKAGE_VERSION = "2.3.0";
3
+ //#endregion
4
+ export { PACKAGE_VERSION as t };
5
+
6
+ //# sourceMappingURL=version-C_50YiuM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-C_50YiuM.mjs","names":[],"sources":["../src/version.ts"],"sourcesContent":["export const PACKAGE_VERSION = \"2.3.0\";\n"],"mappings":";AAAA,MAAa,kBAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexasomba/better-auth-paystack",
3
- "version": "2.2.0",
3
+ "version": "2.4.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
  "keywords": [
6
6
  "africa",
@@ -66,38 +66,37 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@alexasomba/paystack-node": "^1.9.4",
69
- "better-call": "^1.3.5",
69
+ "better-call": "~1.3.5",
70
70
  "defu": "^6.1.7",
71
- "zod": "^4.3.6"
71
+ "zod": "^4.4.3"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@arethetypeswrong/cli": "^0.18.2",
75
- "@better-auth/core": "1.7.0-beta.1",
76
75
  "@better-fetch/fetch": "^1.1.21",
77
- "@commitlint/cli": "^20.5.0",
78
- "@commitlint/config-conventional": "^20.5.0",
79
- "@eslint/compat": "^2.0.5",
76
+ "@commitlint/cli": "^21.0.0",
77
+ "@commitlint/config-conventional": "^21.0.0",
78
+ "@eslint/compat": "^2.1.0",
80
79
  "@eslint/js": "^10.0.1",
81
- "@types/node": "^24.12.2",
82
- "@typescript-eslint/eslint-plugin": "^8.58.2",
83
- "@typescript-eslint/parser": "^8.58.2",
84
- "@vitest/coverage-v8": "^4.1.4",
85
- "better-auth": "1.7.0-beta.1",
80
+ "@types/node": "^24.12.3",
81
+ "@typescript-eslint/eslint-plugin": "^8.59.2",
82
+ "@typescript-eslint/parser": "^8.59.2",
83
+ "@vitest/coverage-v8": "^4.1.5",
84
+ "better-auth": "^1.6.9",
86
85
  "eslint-plugin-import-x": "^4.16.2",
87
- "eslint-plugin-promise": "^7.2.1",
86
+ "eslint-plugin-promise": "^7.3.0",
88
87
  "eslint-plugin-react-hooks": "^7.1.1",
89
88
  "eslint-plugin-unicorn": "^64.0.0",
90
- "publint": "^0.3.18",
91
- "typescript": "^5.9.3",
92
- "typescript-eslint": "^8.58.2",
93
- "vite-plus": "^0.1.18",
94
- "vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.18"
89
+ "publint": "^0.3.20",
90
+ "typescript": "^6.0.3",
91
+ "typescript-eslint": "^8.59.2",
92
+ "vite-plus": "^0.1.20",
93
+ "vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.20"
95
94
  },
96
95
  "peerDependencies": {
97
- "better-auth": "^1.6.5"
96
+ "better-auth": "^1.6.9"
98
97
  },
99
98
  "optionalDependencies": {
100
- "@rollup/rollup-linux-x64-gnu": "^4.60.2"
99
+ "@rollup/rollup-linux-x64-gnu": "^4.60.3"
101
100
  },
102
101
  "engines": {
103
102
  "node": ">=24.0.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-B5ZnlFrq.d.mts","names":["GenericEndpointContext","Session","User","Organization","Member","PaystackPaths","PaystackResponse","PaystackWebhookEvent","PaystackClient","PaystackCustomerClient","PaystackPlanClient","PaystackProductClient","PaystackSubscriptionClient","PaystackTransactionClient","components","PaystackCurrency","PaystackCheckoutChannel","PaystackTransaction","Date","id","reference","paystackId","referenceId","userId","amount","currency","status","plan","product","metadata","createdAt","updatedAt","PaystackProduct","name","description","price","quantity","unlimited","slug","InputPaystackProduct","PaystackUser","paystackCustomerCode","PaystackOrganization","PaystackPlan","Subscription","Promise","Record","interval","planCode","seatAmount","seatPriceId","seatPlanCode","invoiceLimit","freeTrial","days","onTrialStart","subscription","limits","features","PaystackWebhookPayload","PaystackTransactionResponse","PaystackPlanResponse","PaystackCustomerResponse","PaystackSubscriptionResponse","PaystackProductResponse","SubscriptionOptions","enabled","plans","autoSyncQuantity","cancelBehavior","onSubscriptionComplete","event","data","ctx","onSubscriptionCreated","onSubscriptionCancel","authorizeReference","user","session","action","requireEmailVerification","allowedPaymentChannels","PaystackOptions","TPaystackClient","PaystackClientLike","secretKey","paystackWebhookSecret","paystackClient","webhook","secret","verifyIP","trustedIPs","billingPattern","onEvent","organization","getCustomerCreateParams","email","org","onCustomerCreate","paystackCustomer","products","createCustomerOnSignUp","schema","modelName","fields","organizationId","pendingPlan","paystackSubscriptionCode","paystackPlanCode","paystackAuthorizationCode","paystackTransactionReference","paystackEmailToken","seats","periodStart","periodEnd","cancelAtPeriodEnd","trialStart","trialEnd","groupId","ChargeRecurringSubscriptionInput","subscriptionId","ChargeRecurringSubscriptionResult","PaystackSyncResult","count","AnyPaystackOptions","Pick","transaction","customer"],"sources":["../src/types.d.ts"],"mappings":"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"}