@alexasomba/better-auth-paystack 1.1.2 → 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.
package/README.md CHANGED
@@ -10,7 +10,9 @@ A TypeScript-first plugin that integrates Paystack into [Better Auth](https://ww
10
10
  - [x] **Auto Customer Creation**: Optional Paystack customer creation on user sign up or organization creation.
11
11
  - [x] **Trial Management**: Configurable trial periods with built-in abuse prevention logic.
12
12
  - [x] **Organization Billing**: Associate subscriptions with organizations and authorize access via roles.
13
- - [x] **Enforced Limits**: Automatic enforcement of seat limits (members) and resource limits (teams).
13
+ - [x] **Enforced Limits & Seats**: Automatic enforcement of member seat upgrades and resource limits (teams).
14
+ - [x] **Scheduled Changes**: Defer subscription updates or cancellations to the end of the billing cycle.
15
+ - [x] **Proration**: Immediate mid-cycle prorated charges for seat and plan upgrades.
14
16
  - [x] **Popup Modal Flow**: Optional support for Paystack's inline checkout experience via `@alexasomba/paystack-browser`.
15
17
  - [x] **Webhook Security**: Pre-configured signature verification (HMAC-SHA512).
16
18
  - [x] **Transaction History**: Built-in support for listing and viewing local transaction records.
@@ -207,6 +209,25 @@ if (data?.accessCode) {
207
209
  }
208
210
  ```
209
211
 
212
+ ### Scheduled Changes & Cancellation
213
+
214
+ Defer changes to the end of the current billing cycle:
215
+ - **Upgrades**: Pass `scheduleAtPeriodEnd: true` in `initializeTransaction()`.
216
+ - **Cancellations**: Use `authClient.subscription.cancel({ atPeriodEnd: true })` to keep the subscription active until the period ends.
217
+
218
+ ### Mid-Cycle Proration (`prorateAndCharge`)
219
+
220
+ The plugin can dynamically calculate the cost difference for immediate mid-cycle upgrades (like adding more seats).
221
+ If the user has a saved Paystack authorization code, the plugin will execute a prorated charge for the remaining cycle days and immediately sync the new amount/seats.
222
+
223
+ ```ts
224
+ await authClient.paystack.transaction.initialize({
225
+ plan: "pro",
226
+ quantity: 5, // Upgrading seats
227
+ prorateAndCharge: true, // Will calculate and charge the prorated amount instantly
228
+ });
229
+ ```
230
+
210
231
  ### Trial Abuse Prevention
211
232
 
212
233
  The plugin checks the `referenceId` history. If a trial was ever used (active, expired, or trialing), it will not be granted again, preventing resubscribe-abuse.
@@ -514,7 +535,6 @@ Future features planned for upcoming versions:
514
535
  ### Future Considerations
515
536
 
516
537
  - [ ] Multi-currency support improvements
517
- - [ ] Proration for plan upgrades/downgrades
518
538
  - [ ] Invoice generation
519
539
  - [ ] Payment retry logic for failed renewals
520
540
 
package/dist/client.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as Subscription, o as PaystackProduct, s as PaystackTransaction } from "./types-CMXvth6C.mjs";
1
+ import { a as PaystackProduct, o as PaystackTransaction, s as Subscription } from "./types-BOpjdQrr.mjs";
2
2
  import { paystack } from "./index.mjs";
3
3
  import { BetterFetch, BetterFetchOption, BetterFetchResponse } from "@better-fetch/fetch";
4
4
 
@@ -25,6 +25,9 @@ declare const paystackClient: <O extends {
25
25
  quantity?: number;
26
26
  referenceId?: string;
27
27
  product?: string;
28
+ scheduleAtPeriodEnd?: boolean;
29
+ cancelAtPeriodEnd?: boolean;
30
+ prorateAndCharge?: boolean;
28
31
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
29
32
  url: string;
30
33
  reference: string;
@@ -46,6 +49,9 @@ declare const paystackClient: <O extends {
46
49
  quantity?: number;
47
50
  referenceId?: string;
48
51
  product?: string;
52
+ scheduleAtPeriodEnd?: boolean;
53
+ cancelAtPeriodEnd?: boolean;
54
+ prorateAndCharge?: boolean;
49
55
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
50
56
  url: string;
51
57
  reference: string;
@@ -58,6 +64,7 @@ declare const paystackClient: <O extends {
58
64
  cancel: (data: {
59
65
  subscriptionCode: string;
60
66
  emailToken?: string;
67
+ atPeriodEnd?: boolean;
61
68
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
62
69
  status: string;
63
70
  }>>;
@@ -102,6 +109,7 @@ declare const paystackClient: <O extends {
102
109
  disable: (data: {
103
110
  subscriptionCode: string;
104
111
  emailToken?: string;
112
+ atPeriodEnd?: boolean;
105
113
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
106
114
  status: string;
107
115
  }>>;
@@ -126,6 +134,9 @@ declare const paystackClient: <O extends {
126
134
  quantity?: number;
127
135
  referenceId?: string;
128
136
  product?: string;
137
+ scheduleAtPeriodEnd?: boolean;
138
+ cancelAtPeriodEnd?: boolean;
139
+ prorateAndCharge?: boolean;
129
140
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
130
141
  url: string;
131
142
  reference: string;
@@ -158,6 +169,9 @@ declare const paystackClient: <O extends {
158
169
  quantity?: number;
159
170
  referenceId?: string;
160
171
  product?: string;
172
+ scheduleAtPeriodEnd?: boolean;
173
+ cancelAtPeriodEnd?: boolean;
174
+ prorateAndCharge?: boolean;
161
175
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
162
176
  url: string;
163
177
  reference: string;
@@ -176,6 +190,9 @@ declare const paystackClient: <O extends {
176
190
  quantity?: number;
177
191
  referenceId?: string;
178
192
  product?: string;
193
+ scheduleAtPeriodEnd?: boolean;
194
+ cancelAtPeriodEnd?: boolean;
195
+ prorateAndCharge?: boolean;
179
196
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
180
197
  url: string;
181
198
  reference: string;
@@ -185,6 +202,7 @@ declare const paystackClient: <O extends {
185
202
  cancel: (data: {
186
203
  subscriptionCode: string;
187
204
  emailToken?: string;
205
+ atPeriodEnd?: boolean;
188
206
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
189
207
  status: string;
190
208
  }>>;
@@ -217,6 +235,7 @@ declare const paystackClient: <O extends {
217
235
  disable: (data: {
218
236
  subscriptionCode: string;
219
237
  emailToken?: string;
238
+ atPeriodEnd?: boolean;
220
239
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
221
240
  status: string;
222
241
  }>>;
@@ -239,6 +258,9 @@ declare const paystackClient: <O extends {
239
258
  quantity?: number;
240
259
  referenceId?: string;
241
260
  product?: string;
261
+ scheduleAtPeriodEnd?: boolean;
262
+ cancelAtPeriodEnd?: boolean;
263
+ prorateAndCharge?: boolean;
242
264
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
243
265
  url: string;
244
266
  reference: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.mts","names":[],"sources":["../src/client.ts"],"mappings":"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"}
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../src/client.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","names":[],"sources":["../src/client.ts"],"sourcesContent":["import type { BetterAuthClientPlugin } from \"better-auth\";\nimport type { BetterFetchResponse, BetterFetchOption, BetterFetch } from \"@better-fetch/fetch\";\n\nimport type { PaystackProduct, PaystackTransaction, Subscription } from \"./types\";\n\nimport type { paystack } from \"./index\";\n\nexport const paystackClient = <\n\tO extends {\n\t\tsubscription: boolean;\n\t},\n>(\n\t\t_options?: O,\n\t) => {\n\treturn {\n\t\tid: \"paystack\",\n\t\t$InferServerPlugin: {} as ReturnType<typeof paystack>,\n\t\tgetActions: ($fetch: BetterFetch) => {\n\t\t\tconst initializeTransaction = async (data: {\n\t\t\t\tplan?: string;\n\t\t\t\temail?: string;\n\t\t\t\tamount?: number;\n\t\t\t\treference?: string;\n\t\t\t\tmetadata?: Record<string, unknown>;\n\t\t\t\tcallbackUrl?: string;\n\t\t\t\tcallbackURL?: string;\n\t\t\t\tcurrency?: string;\n\t\t\t\tquantity?: number;\n\t\t\t\treferenceId?: string;\n\t\t\t\tproduct?: string;\n\t\t\t}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\turl: string;\n\t\t\t\treference: string;\n\t\t\t\taccessCode: string;\n\t\t\t\tredirect: boolean;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\turl: string;\n\t\t\t\t\treference: string;\n\t\t\t\t\taccessCode: string;\n\t\t\t\t\tredirect: boolean;\n\t\t\t\t}>(\"paystack/initialize-transaction\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst verifyTransaction = async (data: { reference: string }, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tstatus: string;\n\t\t\t\treference: string;\n\t\t\t\tdata: unknown;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tstatus: string;\n\t\t\t\t\treference: string;\n\t\t\t\t\tdata: unknown;\n\t\t\t\t}>(\"paystack/verify-transaction\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst listTransactions = async (data: { query?: Record<string, unknown> } = {}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\ttransactions: PaystackTransaction[];\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\ttransactions: PaystackTransaction[];\n\t\t\t\t}>(\"paystack/list-transactions\", {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\tquery: data.query,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst listSubscriptions = async (data: { query?: Record<string, unknown> } = {}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tsubscriptions: Subscription[];\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tsubscriptions: Subscription[];\n\t\t\t\t}>(\"paystack/list-subscriptions\", {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\tquery: data.query,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst getSubscriptionManageLink = async (data: { subscriptionCode: string }, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tlink: string;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tlink: string;\n\t\t\t\t}>(\"paystack/get-subscription-manage-link\", {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\tquery: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst cancelSubscription = async (data: {\n\t\t\t\tsubscriptionCode: string;\n\t\t\t\temailToken?: string;\n\t\t\t}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tstatus: string;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tstatus: string;\n\t\t\t\t}>(\"paystack/disable-subscription\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst restoreSubscription = async (data: {\n\t\t\t\tsubscriptionCode: string;\n\t\t\t\temailToken?: string;\n\t\t\t}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tstatus: string;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tstatus: string;\n\t\t\t\t}>(\"paystack/enable-subscription\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\tsubscription: {\n\t\t\t\t\t/**\n * Initialize a transaction to upgrade or creating a subscription.\n */\n\t\t\t\t\tupgrade: initializeTransaction,\n\t\t\t\t\t/**\n * Initialize a payment to create a subscription.\n */\n\t\t\t\t\tcreate: initializeTransaction,\n\t\t\t\t\t/**\n * Disable a subscription.\n */\n\t\t\t\t\tcancel: cancelSubscription,\n\t\t\t\t\t/**\n * Enable a subscription.\n */\n\t\t\t\t\trestore: restoreSubscription,\n\t\t\t\t\t/**\n * List subscriptions for the user.\n */\n\t\t\t\t\tlist: listSubscriptions,\n\t\t\t\t\t/**\n * Get a link to manage the subscription on Paystack.\n */\n\t\t\t\t\tbillingPortal: getSubscriptionManageLink,\n\t\t\t\t\t/**\n * Aliases for legacy/demo usage.\n */\n\t\t\t\t\tlistLocal: listSubscriptions,\n\t\t\t\t\tmanageLink: getSubscriptionManageLink,\n\t\t\t\t\tdisable: cancelSubscription,\n\t\t\t\t\tenable: restoreSubscription,\n\t\t\t\t},\n\t\t\t\tpaystack: {\n\t\t\t\t\ttransaction: {\n\t\t\t\t\t\tinitialize: initializeTransaction,\n\t\t\t\t\t\tverify: verifyTransaction,\n\t\t\t\t\t\tlist: listTransactions,\n\t\t\t\t\t},\n\t\t\t\t\tsubscription: {\n\t\t\t\t\t\tcreate: initializeTransaction,\n\t\t\t\t\t\tupgrade: initializeTransaction,\n\t\t\t\t\t\tcancel: cancelSubscription,\n\t\t\t\t\t\trestore: restoreSubscription,\n\t\t\t\t\t\tlist: listSubscriptions,\n\t\t\t\t\t\tbillingPortal: getSubscriptionManageLink,\n\t\t\t\t\t\tlistLocal: listSubscriptions,\n\t\t\t\t\t\tmanageLink: getSubscriptionManageLink,\n\t\t\t\t\t\tdisable: cancelSubscription,\n\t\t\t\t\t\tenable: restoreSubscription,\n\t\t\t\t\t},\n\t\t\t\t\tinitializeTransaction,\n\t\t\t\t\tverifyTransaction,\n\t\t\t\t\tlistTransactions,\n\t\t\t\t\tlistSubscriptions,\n\t\t\t\t\tgetSubscriptionManageLink,\n\t\t\t\t\tgetConfig: async (): Promise<BetterFetchResponse<Record<string, unknown>>> => {\n\t\t\t\t\t\treturn $fetch<Record<string, unknown>>(\"paystack/get-config\", {\n\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tsyncProducts: async (): Promise<BetterFetchResponse<{ status: string; count: number }>> => {\n\t\t\t\t\t\treturn $fetch<{ status: string; count: number }>(\"paystack/sync-products\", {\n\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tsyncPlans: async (): Promise<BetterFetchResponse<{ status: string; count: number }>> => {\n\t\t\t\t\t\treturn $fetch<{ status: string; count: number }>(\"paystack/sync-plans\", {\n\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tlistProducts: async (options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\t\t\tproducts: PaystackProduct[];\n\t\t\t\t\t}>> => {\n\t\t\t\t\t\treturn $fetch<{\n\t\t\t\t\t\t\tproducts: PaystackProduct[];\n\t\t\t\t\t\t}>(\"paystack/list-products\", {\n\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tlistPlans: async (options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\t\t\tplans: unknown[];\n\t\t\t\t\t}>> => {\n\t\t\t\t\t\treturn $fetch<{\n\t\t\t\t\t\t\tplans: unknown[];\n\t\t\t\t\t\t}>(\"paystack/list-plans\", {\n\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} satisfies BetterAuthClientPlugin;\n};\n"],"mappings":";AAOA,MAAa,kBAKX,aACI;AACL,QAAO;EACN,IAAI;EACJ,oBAAoB,EAAE;EACtB,aAAa,WAAwB;GACpC,MAAM,wBAAwB,OAAO,MAYlC,YAKI;AACN,WAAO,OAKJ,mCAAmC;KACrC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;GAGH,MAAM,oBAAoB,OAAO,MAA6B,YAIvD;AACN,WAAO,OAIJ,+BAA+B;KACjC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;GAGH,MAAM,mBAAmB,OAAO,OAA4C,EAAE,EAAE,YAEzE;AACN,WAAO,OAEJ,8BAA8B;KAChC,QAAQ;KACR,OAAO,KAAK;KACZ,GAAG;KACH,CAAC;;GAGH,MAAM,oBAAoB,OAAO,OAA4C,EAAE,EAAE,YAE1E;AACN,WAAO,OAEJ,+BAA+B;KACjC,QAAQ;KACR,OAAO,KAAK;KACZ,GAAG;KACH,CAAC;;GAGH,MAAM,4BAA4B,OAAO,MAAoC,YAEtE;AACN,WAAO,OAEJ,yCAAyC;KAC3C,QAAQ;KACR,OAAO;KACP,GAAG;KACH,CAAC;;GAGH,MAAM,qBAAqB,OAAO,MAG/B,YAEI;AACN,WAAO,OAEJ,iCAAiC;KACnC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;GAGH,MAAM,sBAAsB,OAAO,MAGhC,YAEI;AACN,WAAO,OAEJ,gCAAgC;KAClC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;AAGH,UAAO;IACN,cAAc;KAIb,SAAS;KAIT,QAAQ;KAIR,QAAQ;KAIR,SAAS;KAIT,MAAM;KAIN,eAAe;KAIf,WAAW;KACX,YAAY;KACZ,SAAS;KACT,QAAQ;KACR;IACD,UAAU;KACT,aAAa;MACZ,YAAY;MACZ,QAAQ;MACR,MAAM;MACN;KACD,cAAc;MACb,QAAQ;MACR,SAAS;MACT,QAAQ;MACR,SAAS;MACT,MAAM;MACN,eAAe;MACf,WAAW;MACX,YAAY;MACZ,SAAS;MACT,QAAQ;MACR;KACD;KACA;KACA;KACA;KACA;KACA,WAAW,YAAmE;AAC7E,aAAO,OAAgC,uBAAuB,EAC7D,QAAQ,OACR,CAAC;;KAEH,cAAc,YAA6E;AAC1F,aAAO,OAA0C,0BAA0B,EAC1E,QAAQ,QACR,CAAC;;KAEH,WAAW,YAA6E;AACvF,aAAO,OAA0C,uBAAuB,EACvE,QAAQ,QACR,CAAC;;KAEH,cAAc,OAAO,YAEd;AACN,aAAO,OAEJ,0BAA0B;OAC5B,QAAQ;OACR,GAAG;OACH,CAAC;;KAEH,WAAW,OAAO,YAEX;AACN,aAAO,OAEJ,uBAAuB;OACzB,QAAQ;OACR,GAAG;OACH,CAAC;;KAEH;IACD;;EAEF"}
1
+ {"version":3,"file":"client.mjs","names":[],"sources":["../src/client.ts"],"sourcesContent":["import type { BetterAuthClientPlugin } from \"better-auth\";\nimport type { BetterFetchResponse, BetterFetchOption, BetterFetch } from \"@better-fetch/fetch\";\n\nimport type { PaystackProduct, PaystackTransaction, Subscription } from \"./types\";\n\nimport type { paystack } from \"./index\";\n\nexport const paystackClient = <\n\tO extends {\n\t\tsubscription: boolean;\n\t},\n>(\n\t\t_options?: O,\n\t) => {\n\treturn {\n\t\tid: \"paystack\",\n\t\t$InferServerPlugin: {} as ReturnType<typeof paystack>,\n\t\tgetActions: ($fetch: BetterFetch) => {\n\t\t\tconst initializeTransaction = async (data: {\n\t\t\t\tplan?: string;\n\t\t\t\temail?: string;\n\t\t\t\tamount?: number;\n\t\t\t\treference?: string;\n\t\t\t\tmetadata?: Record<string, unknown>;\n\t\t\t\tcallbackUrl?: string;\n\t\t\t\tcallbackURL?: string;\n\t\t\t\tcurrency?: string;\n\t\t\t\tquantity?: number;\n\t\t\t\treferenceId?: string;\n\t\t\t\tproduct?: string;\n\t\t\t\tscheduleAtPeriodEnd?: boolean;\n\t\t\t\tcancelAtPeriodEnd?: boolean;\n\t\t\t\tprorateAndCharge?: boolean;\n\t\t\t}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\turl: string;\n\t\t\t\treference: string;\n\t\t\t\taccessCode: string;\n\t\t\t\tredirect: boolean;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\turl: string;\n\t\t\t\t\treference: string;\n\t\t\t\t\taccessCode: string;\n\t\t\t\t\tredirect: boolean;\n\t\t\t\t}>(\"paystack/initialize-transaction\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst verifyTransaction = async (data: { reference: string }, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tstatus: string;\n\t\t\t\treference: string;\n\t\t\t\tdata: unknown;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tstatus: string;\n\t\t\t\t\treference: string;\n\t\t\t\t\tdata: unknown;\n\t\t\t\t}>(\"paystack/verify-transaction\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst listTransactions = async (data: { query?: Record<string, unknown> } = {}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\ttransactions: PaystackTransaction[];\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\ttransactions: PaystackTransaction[];\n\t\t\t\t}>(\"paystack/list-transactions\", {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\tquery: data.query,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst listSubscriptions = async (data: { query?: Record<string, unknown> } = {}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tsubscriptions: Subscription[];\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tsubscriptions: Subscription[];\n\t\t\t\t}>(\"paystack/list-subscriptions\", {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\tquery: data.query,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst getSubscriptionManageLink = async (data: { subscriptionCode: string }, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tlink: string;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tlink: string;\n\t\t\t\t}>(\"paystack/get-subscription-manage-link\", {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\tquery: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst cancelSubscription = async (data: {\n\t\t\t\tsubscriptionCode: string;\n\t\t\t\temailToken?: string;\n\t\t\t\tatPeriodEnd?: boolean;\n\t\t\t}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tstatus: string;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tstatus: string;\n\t\t\t\t}>(\"paystack/disable-subscription\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst restoreSubscription = async (data: {\n\t\t\t\tsubscriptionCode: string;\n\t\t\t\temailToken?: string;\n\t\t\t}, options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\tstatus: string;\n\t\t\t}>> => {\n\t\t\t\treturn $fetch<{\n\t\t\t\t\tstatus: string;\n\t\t\t\t}>(\"paystack/enable-subscription\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: data,\n\t\t\t\t\t...options,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\tsubscription: {\n\t\t\t\t\t/**\n\t\t\t\t\t * Initialize a transaction to upgrade or creating a subscription.\n\t\t\t\t\t */\n\t\t\t\t\tupgrade: initializeTransaction,\n\t\t\t\t\t/**\n\t\t\t\t\t * Initialize a payment to create a subscription.\n\t\t\t\t\t */\n\t\t\t\t\tcreate: initializeTransaction,\n\t\t\t\t\t/**\n\t\t\t\t\t * Disable a subscription.\n\t\t\t\t\t */\n\t\t\t\t\tcancel: cancelSubscription,\n\t\t\t\t\t/**\n\t\t\t\t\t * Enable a subscription.\n\t\t\t\t\t */\n\t\t\t\t\trestore: restoreSubscription,\n\t\t\t\t\t/**\n\t\t\t\t\t * List subscriptions for the user.\n\t\t\t\t\t */\n\t\t\t\t\tlist: listSubscriptions,\n\t\t\t\t\t/**\n\t\t\t\t\t * Get a link to manage the subscription on Paystack.\n\t\t\t\t\t */\n\t\t\t\t\tbillingPortal: getSubscriptionManageLink,\n\t\t\t\t\t/**\n\t\t\t\t\t * Aliases for legacy/demo usage.\n\t\t\t\t\t */\n\t\t\t\t\tlistLocal: listSubscriptions,\n\t\t\t\t\tmanageLink: getSubscriptionManageLink,\n\t\t\t\t\tdisable: cancelSubscription,\n\t\t\t\t\tenable: restoreSubscription,\n\t\t\t\t},\n\t\t\t\tpaystack: {\n\t\t\t\t\ttransaction: {\n\t\t\t\t\t\tinitialize: initializeTransaction,\n\t\t\t\t\t\tverify: verifyTransaction,\n\t\t\t\t\t\tlist: listTransactions,\n\t\t\t\t\t},\n\t\t\t\t\tsubscription: {\n\t\t\t\t\t\tcreate: initializeTransaction,\n\t\t\t\t\t\tupgrade: initializeTransaction,\n\t\t\t\t\t\tcancel: cancelSubscription,\n\t\t\t\t\t\trestore: restoreSubscription,\n\t\t\t\t\t\tlist: listSubscriptions,\n\t\t\t\t\t\tbillingPortal: getSubscriptionManageLink,\n\t\t\t\t\t\tlistLocal: listSubscriptions,\n\t\t\t\t\t\tmanageLink: getSubscriptionManageLink,\n\t\t\t\t\t\tdisable: cancelSubscription,\n\t\t\t\t\t\tenable: restoreSubscription,\n\t\t\t\t\t},\n\t\t\t\t\tinitializeTransaction,\n\t\t\t\t\tverifyTransaction,\n\t\t\t\t\tlistTransactions,\n\t\t\t\t\tlistSubscriptions,\n\t\t\t\t\tgetSubscriptionManageLink,\n\t\t\t\t\tgetConfig: async (): Promise<BetterFetchResponse<Record<string, unknown>>> => {\n\t\t\t\t\t\treturn $fetch<Record<string, unknown>>(\"paystack/get-config\", {\n\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tsyncProducts: async (): Promise<BetterFetchResponse<{ status: string; count: number }>> => {\n\t\t\t\t\t\treturn $fetch<{ status: string; count: number }>(\"paystack/sync-products\", {\n\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tsyncPlans: async (): Promise<BetterFetchResponse<{ status: string; count: number }>> => {\n\t\t\t\t\t\treturn $fetch<{ status: string; count: number }>(\"paystack/sync-plans\", {\n\t\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tlistProducts: async (options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\t\t\tproducts: PaystackProduct[];\n\t\t\t\t\t}>> => {\n\t\t\t\t\t\treturn $fetch<{\n\t\t\t\t\t\t\tproducts: PaystackProduct[];\n\t\t\t\t\t\t}>(\"paystack/list-products\", {\n\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tlistPlans: async (options?: BetterFetchOption): Promise<BetterFetchResponse<{\n\t\t\t\t\t\tplans: unknown[];\n\t\t\t\t\t}>> => {\n\t\t\t\t\t\treturn $fetch<{\n\t\t\t\t\t\t\tplans: unknown[];\n\t\t\t\t\t\t}>(\"paystack/list-plans\", {\n\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t} satisfies BetterAuthClientPlugin;\n};\n"],"mappings":";AAOA,MAAa,kBAKX,aACI;AACL,QAAO;EACN,IAAI;EACJ,oBAAoB,EAAE;EACtB,aAAa,WAAwB;GACpC,MAAM,wBAAwB,OAAO,MAelC,YAKI;AACN,WAAO,OAKJ,mCAAmC;KACrC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;GAGH,MAAM,oBAAoB,OAAO,MAA6B,YAIvD;AACN,WAAO,OAIJ,+BAA+B;KACjC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;GAGH,MAAM,mBAAmB,OAAO,OAA4C,EAAE,EAAE,YAEzE;AACN,WAAO,OAEJ,8BAA8B;KAChC,QAAQ;KACR,OAAO,KAAK;KACZ,GAAG;KACH,CAAC;;GAGH,MAAM,oBAAoB,OAAO,OAA4C,EAAE,EAAE,YAE1E;AACN,WAAO,OAEJ,+BAA+B;KACjC,QAAQ;KACR,OAAO,KAAK;KACZ,GAAG;KACH,CAAC;;GAGH,MAAM,4BAA4B,OAAO,MAAoC,YAEtE;AACN,WAAO,OAEJ,yCAAyC;KAC3C,QAAQ;KACR,OAAO;KACP,GAAG;KACH,CAAC;;GAGH,MAAM,qBAAqB,OAAO,MAI/B,YAEI;AACN,WAAO,OAEJ,iCAAiC;KACnC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;GAGH,MAAM,sBAAsB,OAAO,MAGhC,YAEI;AACN,WAAO,OAEJ,gCAAgC;KAClC,QAAQ;KACR,MAAM;KACN,GAAG;KACH,CAAC;;AAGH,UAAO;IACN,cAAc;KAIb,SAAS;KAIT,QAAQ;KAIR,QAAQ;KAIR,SAAS;KAIT,MAAM;KAIN,eAAe;KAIf,WAAW;KACX,YAAY;KACZ,SAAS;KACT,QAAQ;KACR;IACD,UAAU;KACT,aAAa;MACZ,YAAY;MACZ,QAAQ;MACR,MAAM;MACN;KACD,cAAc;MACb,QAAQ;MACR,SAAS;MACT,QAAQ;MACR,SAAS;MACT,MAAM;MACN,eAAe;MACf,WAAW;MACX,YAAY;MACZ,SAAS;MACT,QAAQ;MACR;KACD;KACA;KACA;KACA;KACA;KACA,WAAW,YAAmE;AAC7E,aAAO,OAAgC,uBAAuB,EAC7D,QAAQ,OACR,CAAC;;KAEH,cAAc,YAA6E;AAC1F,aAAO,OAA0C,0BAA0B,EAC1E,QAAQ,QACR,CAAC;;KAEH,WAAW,YAA6E;AACvF,aAAO,OAA0C,uBAAuB,EACvE,QAAQ,QACR,CAAC;;KAEH,cAAc,OAAO,YAEd;AACN,aAAO,OAEJ,0BAA0B;OAC5B,QAAQ;OACR,GAAG;OACH,CAAC;;KAEH,WAAW,OAAO,YAEX;AACN,aAAO,OAEJ,uBAAuB;OACzB,QAAQ;OACR,GAAG;OACH,CAAC;;KAEH;IACD;;EAEF"}
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
- import { a as PaystackPlan, c as Subscription, i as PaystackOptions, l as SubscriptionOptions, n as PaystackClientLike, o as PaystackProduct, r as PaystackNodeClient, s as PaystackTransaction, t as InputPaystackProduct } from "./types-CMXvth6C.mjs";
1
+ import { a as PaystackProduct, c as SubscriptionOptions, i as PaystackPlan, n as PaystackNodeClient, r as PaystackOptions, s as Subscription, t as PaystackClientLike } from "./types-BOpjdQrr.mjs";
2
+ import * as _better_auth_core_utils_error_codes0 from "@better-auth/core/utils/error-codes";
2
3
  import * as better_auth0 from "better-auth";
3
4
  import { AuthContext, GenericEndpointContext } from "better-auth";
4
5
  import * as _better_auth_core_db0 from "@better-auth/core/db";
@@ -21,6 +22,9 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
21
22
  referenceId: zod.ZodOptional<zod.ZodString>;
22
23
  callbackURL: zod.ZodOptional<zod.ZodString>;
23
24
  quantity: zod.ZodOptional<zod.ZodNumber>;
25
+ scheduleAtPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
26
+ cancelAtPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
27
+ prorateAndCharge: zod.ZodOptional<zod.ZodBoolean>;
24
28
  }, better_auth0.$strip>;
25
29
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
26
30
  referenceId: string;
@@ -47,12 +51,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
47
51
  };
48
52
  };
49
53
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
50
- }, {
51
- url: string | undefined;
52
- reference: string | undefined;
53
- accessCode: string | undefined;
54
- redirect: boolean;
55
- }>;
54
+ }, any>;
56
55
  verifyTransaction: better_call0.StrictEndpoint<"/paystack/verify-transaction", {
57
56
  method: "POST";
58
57
  body: zod.ZodObject<{
@@ -83,11 +82,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
83
82
  };
84
83
  };
85
84
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
86
- }, {
87
- status: string | undefined;
88
- reference: string;
89
- data: Record<string, unknown>;
90
- }>;
85
+ }, any>;
91
86
  listSubscriptions: better_call0.StrictEndpoint<"/paystack/list-subscriptions", {
92
87
  method: "GET";
93
88
  query: zod.ZodObject<{
@@ -118,9 +113,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
118
113
  };
119
114
  };
120
115
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
121
- }, {
122
- subscriptions: Subscription[];
123
- }>;
116
+ }, any>;
124
117
  paystackWebhook: better_call0.StrictEndpoint<"/paystack/webhook", {
125
118
  method: "POST";
126
119
  metadata: {
@@ -131,9 +124,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
131
124
  };
132
125
  cloneRequest: true;
133
126
  disableBody: true;
134
- }, {
135
- received: boolean;
136
- }>;
127
+ }, any>;
137
128
  listTransactions: better_call0.StrictEndpoint<"/paystack/list-transactions", {
138
129
  method: "GET";
139
130
  query: zod.ZodObject<{
@@ -164,9 +155,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
164
155
  };
165
156
  };
166
157
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
167
- }, {
168
- transactions: PaystackTransaction[];
169
- }>;
158
+ }, any>;
170
159
  getConfig: better_call0.StrictEndpoint<"/paystack/get-config", {
171
160
  method: "GET";
172
161
  metadata: {
@@ -174,16 +163,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
174
163
  operationId: string;
175
164
  };
176
165
  };
177
- }, {
178
- plans: PaystackPlan<Record<string, unknown>>[];
179
- products: InputPaystackProduct[];
180
- }>;
166
+ }, any>;
181
167
  disableSubscription: better_call0.StrictEndpoint<"/paystack/disable-subscription", {
182
168
  method: "POST";
183
169
  body: zod.ZodObject<{
184
170
  referenceId: zod.ZodOptional<zod.ZodString>;
185
171
  subscriptionCode: zod.ZodString;
186
172
  emailToken: zod.ZodOptional<zod.ZodString>;
173
+ atPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
187
174
  }, better_auth0.$strip>;
188
175
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
189
176
  referenceId: string;
@@ -210,15 +197,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
210
197
  };
211
198
  };
212
199
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
213
- }, {
214
- status: string;
215
- }>;
200
+ }, any>;
216
201
  enableSubscription: better_call0.StrictEndpoint<"/paystack/enable-subscription", {
217
202
  method: "POST";
218
203
  body: zod.ZodObject<{
219
204
  referenceId: zod.ZodOptional<zod.ZodString>;
220
205
  subscriptionCode: zod.ZodString;
221
206
  emailToken: zod.ZodOptional<zod.ZodString>;
207
+ atPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
222
208
  }, better_auth0.$strip>;
223
209
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
224
210
  referenceId: string;
@@ -245,9 +231,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
245
231
  };
246
232
  };
247
233
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
248
- }, {
249
- status: string;
250
- }>;
234
+ }, any>;
251
235
  getSubscriptionManageLink: better_call0.StrictEndpoint<"/paystack/get-subscription-manage-link", {
252
236
  method: "GET";
253
237
  query: zod.ZodObject<{
@@ -278,12 +262,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
278
262
  };
279
263
  };
280
264
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
281
- }, {
282
- link: null;
283
- message: string;
284
- } | {
285
- link: string | undefined;
286
- }>;
265
+ }, any>;
287
266
  subscriptionManageLink: better_call0.StrictEndpoint<"/paystack/subscription/manage-link", {
288
267
  method: "GET";
289
268
  query: zod.ZodObject<{
@@ -314,12 +293,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
314
293
  };
315
294
  };
316
295
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
317
- }, {
318
- link: null;
319
- message: string;
320
- } | {
321
- link: string | undefined;
322
- }>;
296
+ }, any>;
323
297
  createSubscription: better_call0.StrictEndpoint<"/paystack/create-subscription", {
324
298
  method: "POST";
325
299
  body: zod.ZodObject<{
@@ -332,6 +306,9 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
332
306
  referenceId: zod.ZodOptional<zod.ZodString>;
333
307
  callbackURL: zod.ZodOptional<zod.ZodString>;
334
308
  quantity: zod.ZodOptional<zod.ZodNumber>;
309
+ scheduleAtPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
310
+ cancelAtPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
311
+ prorateAndCharge: zod.ZodOptional<zod.ZodBoolean>;
335
312
  }, better_auth0.$strip>;
336
313
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
337
314
  referenceId: string;
@@ -358,12 +335,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
358
335
  };
359
336
  };
360
337
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
361
- }, {
362
- url: string | undefined;
363
- reference: string | undefined;
364
- accessCode: string | undefined;
365
- redirect: boolean;
366
- }>;
338
+ }, any>;
367
339
  upgradeSubscription: better_call0.StrictEndpoint<"/paystack/upgrade-subscription", {
368
340
  method: "POST";
369
341
  body: zod.ZodObject<{
@@ -376,6 +348,9 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
376
348
  referenceId: zod.ZodOptional<zod.ZodString>;
377
349
  callbackURL: zod.ZodOptional<zod.ZodString>;
378
350
  quantity: zod.ZodOptional<zod.ZodNumber>;
351
+ scheduleAtPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
352
+ cancelAtPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
353
+ prorateAndCharge: zod.ZodOptional<zod.ZodBoolean>;
379
354
  }, better_auth0.$strip>;
380
355
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
381
356
  referenceId: string;
@@ -402,18 +377,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
402
377
  };
403
378
  };
404
379
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
405
- }, {
406
- url: string | undefined;
407
- reference: string | undefined;
408
- accessCode: string | undefined;
409
- redirect: boolean;
410
- }>;
380
+ }, any>;
411
381
  cancelSubscription: better_call0.StrictEndpoint<"/paystack/cancel-subscription", {
412
382
  method: "POST";
413
383
  body: zod.ZodObject<{
414
384
  referenceId: zod.ZodOptional<zod.ZodString>;
415
385
  subscriptionCode: zod.ZodString;
416
386
  emailToken: zod.ZodOptional<zod.ZodString>;
387
+ atPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
417
388
  }, better_auth0.$strip>;
418
389
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
419
390
  referenceId: string;
@@ -440,15 +411,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
440
411
  };
441
412
  };
442
413
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
443
- }, {
444
- status: string;
445
- }>;
414
+ }, any>;
446
415
  restoreSubscription: better_call0.StrictEndpoint<"/paystack/restore-subscription", {
447
416
  method: "POST";
448
417
  body: zod.ZodObject<{
449
418
  referenceId: zod.ZodOptional<zod.ZodString>;
450
419
  subscriptionCode: zod.ZodString;
451
420
  emailToken: zod.ZodOptional<zod.ZodString>;
421
+ atPeriodEnd: zod.ZodOptional<zod.ZodBoolean>;
452
422
  }, better_auth0.$strip>;
453
423
  use: (((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
454
424
  referenceId: string;
@@ -475,19 +445,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
475
445
  };
476
446
  };
477
447
  }>) | ((getValue: (ctx: GenericEndpointContext) => string | string[]) => (inputContext: better_auth0.MiddlewareInputContext<better_auth0.MiddlewareOptions>) => Promise<void>))[];
478
- }, {
479
- status: string;
480
- }>;
448
+ }, any>;
481
449
  chargeRecurringSubscription: better_call0.StrictEndpoint<"/paystack/charge-recurring", {
482
450
  method: "POST";
483
451
  body: zod.ZodObject<{
484
452
  subscriptionId: zod.ZodString;
485
453
  amount: zod.ZodOptional<zod.ZodNumber>;
486
454
  }, better_auth0.$strip>;
487
- }, {
488
- status: string;
489
- data: Record<string, unknown>;
490
- }>;
455
+ }, any>;
491
456
  syncProducts: better_call0.StrictEndpoint<"/paystack/sync-products", {
492
457
  method: "POST";
493
458
  metadata: {
@@ -517,10 +482,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
517
482
  };
518
483
  };
519
484
  }>)[];
520
- }, {
521
- status: string;
522
- count: number;
523
- }>;
485
+ }, any>;
524
486
  listProducts: better_call0.StrictEndpoint<"/paystack/list-products", {
525
487
  method: "GET";
526
488
  metadata: {
@@ -528,9 +490,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
528
490
  operationId: string;
529
491
  };
530
492
  };
531
- }, {
532
- products: PaystackProduct[];
533
- }>;
493
+ }, any>;
534
494
  syncPlans: better_call0.StrictEndpoint<"/paystack/sync-plans", {
535
495
  method: "POST";
536
496
  metadata: {
@@ -560,10 +520,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
560
520
  };
561
521
  };
562
522
  }>)[];
563
- }, {
564
- status: string;
565
- count: number;
566
- }>;
523
+ }, any>;
567
524
  listPlans: better_call0.StrictEndpoint<"/paystack/list-plans", {
568
525
  method: "GET";
569
526
  metadata: {
@@ -592,9 +549,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
592
549
  };
593
550
  };
594
551
  }>)[];
595
- }, {
596
- plans: any[];
597
- }>;
552
+ }, any>;
598
553
  };
599
554
  schema: _better_auth_core_db0.BetterAuthPluginDBSchema;
600
555
  init: (ctx: AuthContext) => {
@@ -624,6 +579,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
624
579
  before: (member: {
625
580
  organizationId: string;
626
581
  }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
582
+ after: (member: {
583
+ organizationId: string | undefined;
584
+ }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
585
+ };
586
+ delete: {
587
+ after: (member: {
588
+ organizationId: string | undefined;
589
+ }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
627
590
  };
628
591
  };
629
592
  invitation: {
@@ -631,6 +594,14 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
631
594
  before: (invitation: {
632
595
  organizationId: string;
633
596
  }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
597
+ after: (invitation: {
598
+ organizationId: string | undefined;
599
+ }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
600
+ };
601
+ delete: {
602
+ after: (invitation: {
603
+ organizationId: string | undefined;
604
+ }, ctx: GenericEndpointContext | null | undefined) => Promise<void>;
634
605
  };
635
606
  };
636
607
  team: {
@@ -643,14 +614,7 @@ declare const paystack: <TPaystackClient extends PaystackClientLike = PaystackNo
643
614
  };
644
615
  };
645
616
  $ERROR_CODES: {
646
- readonly SUBSCRIPTION_NOT_FOUND: "Subscription not found";
647
- readonly SUBSCRIPTION_PLAN_NOT_FOUND: "Subscription plan not found";
648
- readonly UNABLE_TO_CREATE_CUSTOMER: "Unable to create customer";
649
- readonly FAILED_TO_INITIALIZE_TRANSACTION: "Failed to initialize transaction";
650
- readonly FAILED_TO_VERIFY_TRANSACTION: "Failed to verify transaction";
651
- readonly FAILED_TO_DISABLE_SUBSCRIPTION: "Failed to disable subscription";
652
- readonly FAILED_TO_ENABLE_SUBSCRIPTION: "Failed to enable subscription";
653
- readonly EMAIL_VERIFICATION_REQUIRED: "Email verification is required before you can subscribe to a plan";
617
+ [x: string]: _better_auth_core_utils_error_codes0.RawError<string>;
654
618
  };
655
619
  };
656
620
  type PaystackPlugin<O extends PaystackOptions<PaystackClientLike, any, any> = PaystackOptions> = ReturnType<typeof paystack<PaystackClientLike, any, any, O>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;cA8Ca,QAAA,2BACY,kBAAA,GAAqB,kBAAA,cACjC,MAAA,6BACF,MAAA,6BACA,eAAA,CAAgB,eAAA,EAAiB,SAAA,EAAW,OAAA,IAAW,eAAA,CAAgB,eAAA,EAAiB,SAAA,EAAW,OAAA,GAE5G,OAAA,EAAS,CAAA;;;;;;8BAAC,GAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BE,WAAA;;;;;;cAMc,EAAA;cAAY,KAAA;cAAe,IAAA;YAAA,GAAsB,OAAA,GAAY,sBAAA,UAA6B,OAAA;UAAA;QAAA;;;;cA+B1F,EAAA;cAAY,IAAA;cAAc,KAAA;YAAA,GAAuB,OAAA,EAAW,sBAAA,UAA6B,OAAA;UAAA;QAAA;MAAA;;;;YAmErF,cAAA;UAAA,GAAwB,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;MAAA;;;;YASpE,cAAA;UAAA,GAAwB,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;MAAA;;;;YAS9E,cAAA;UAAA,GAAwB,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;MAAA;IAAA;EAAA;;;;;;;;;;;;KAyB1F,cAAA,WAED,eAAA,CAAgB,kBAAA,cAAgC,eAAA,IACvD,UAAA,QAEI,QAAA,CAAS,kBAAA,YAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;cAiDa,QAAA,2BACY,kBAAA,GAAqB,kBAAA,cACjC,MAAA,6BACF,MAAA,6BACA,eAAA,CAAgB,eAAA,EAAiB,SAAA,EAAW,OAAA,IAAW,eAAA,CAAgB,eAAA,EAAiB,SAAA,EAAW,OAAA,GAE5G,OAAA,EAAS,CAAA;;;;;;8BAAC,GAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BE,WAAA;;;;;;cAMc,EAAA;cAAY,KAAA;cAAe,IAAA;YAAA,GAAsB,OAAA,GAAY,sBAAA,UAA6B,OAAA;UAAA;QAAA;;;;cA+B1F,EAAA;cAAY,IAAA;cAAc,KAAA;YAAA,GAAuB,OAAA,EAAW,sBAAA,UAA6B,OAAA;UAAA;QAAA;MAAA;;;;YAmErF,cAAA;UAAA,GAAwB,GAAA,EAAO,sBAAA,wBAAyC,OAAA;;YAKzE,cAAA;UAAA,GAAoC,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;;;YAOpF,cAAA;UAAA,GAAoC,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;MAAA;;;;YAS/E,cAAA;UAAA,GAAwB,GAAA,EAAO,sBAAA,wBAAyC,OAAA;;YAKzE,cAAA;UAAA,GAAoC,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;;;YAOpF,cAAA;UAAA,GAAoC,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;MAAA;;;;YASzF,cAAA;UAAA,GAAwB,GAAA,EAAO,sBAAA,wBAAyC,OAAA;QAAA;MAAA;IAAA;EAAA;;iBAAA,oCAAA,CAAA,QAAA;EAAA;AAAA;AAAA,KAyB1F,cAAA,WAED,eAAA,CAAgB,kBAAA,cAAgC,eAAA,IACvD,UAAA,QAEI,QAAA,CAAS,kBAAA,YAA8B,CAAA"}