@alexasomba/better-auth-paystack 1.2.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.mts CHANGED
@@ -1,33 +1,48 @@
1
- import { a as PaystackProduct, o as PaystackTransaction, s as Subscription } from "./types-BOpjdQrr.mjs";
2
- import { paystack } from "./index.mjs";
1
+ import { d as PaystackTransaction, f as Subscription, l as PaystackPlan, n as paystack, o as AnyPaystackOptions, s as PaystackClientLike, u as PaystackProduct } from "./index-Dwbeddkr.mjs";
3
2
  import { BetterFetch, BetterFetchOption, BetterFetchResponse } from "@better-fetch/fetch";
4
3
 
5
4
  //#region src/client.d.ts
6
5
  declare const paystackClient: <O extends {
7
- subscription: boolean;
6
+ subscription?: boolean;
8
7
  }>(_options?: O) => {
9
8
  id: "paystack";
10
- $InferServerPlugin: ReturnType<typeof paystack>;
11
- getActions: ($fetch: BetterFetch) => {
9
+ version: string;
10
+ $InferServerPlugin: ReturnType<typeof paystack<PaystackClientLike, AnyPaystackOptions>>;
11
+ getActions: ($fetch: BetterFetch, _$store: unknown, _options: unknown) => {
12
+ transaction: {
13
+ initialize: (data: Record<string, unknown> & {
14
+ callbackUrl?: string;
15
+ callbackURL?: string;
16
+ product?: string;
17
+ referenceId?: string;
18
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
19
+ url: string;
20
+ reference: string;
21
+ accessCode: string;
22
+ redirect: boolean;
23
+ }>>;
24
+ verify: (data: {
25
+ reference: string;
26
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
27
+ status: string;
28
+ reference: string;
29
+ data: unknown;
30
+ }>>;
31
+ list: (data?: {
32
+ query?: Record<string, unknown>;
33
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
34
+ transactions: PaystackTransaction[];
35
+ }>>;
36
+ };
12
37
  subscription: {
13
38
  /**
14
39
  * Initialize a transaction to upgrade or creating a subscription.
15
40
  */
16
- upgrade: (data: {
17
- plan?: string;
18
- email?: string;
19
- amount?: number;
20
- reference?: string;
21
- metadata?: Record<string, unknown>;
41
+ upgrade: (data: Record<string, unknown> & {
22
42
  callbackUrl?: string;
23
43
  callbackURL?: string;
24
- currency?: string;
25
- quantity?: number;
26
- referenceId?: string;
27
44
  product?: string;
28
- scheduleAtPeriodEnd?: boolean;
29
- cancelAtPeriodEnd?: boolean;
30
- prorateAndCharge?: boolean;
45
+ referenceId?: string;
31
46
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
32
47
  url: string;
33
48
  reference: string;
@@ -37,21 +52,11 @@ declare const paystackClient: <O extends {
37
52
  /**
38
53
  * Initialize a payment to create a subscription.
39
54
  */
40
- create: (data: {
41
- plan?: string;
42
- email?: string;
43
- amount?: number;
44
- reference?: string;
45
- metadata?: Record<string, unknown>;
55
+ create: (data: Record<string, unknown> & {
46
56
  callbackUrl?: string;
47
57
  callbackURL?: string;
48
- currency?: string;
49
- quantity?: number;
50
- referenceId?: string;
51
58
  product?: string;
52
- scheduleAtPeriodEnd?: boolean;
53
- cancelAtPeriodEnd?: boolean;
54
- prorateAndCharge?: boolean;
59
+ referenceId?: string;
55
60
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
56
61
  url: string;
57
62
  reference: string;
@@ -93,14 +98,6 @@ declare const paystackClient: <O extends {
93
98
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
94
99
  link: string;
95
100
  }>>;
96
- /**
97
- * Aliases for legacy/demo usage.
98
- */
99
- listLocal: (data?: {
100
- query?: Record<string, unknown>;
101
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
102
- subscriptions: Subscription[];
103
- }>>;
104
101
  manageLink: (data: {
105
102
  subscriptionCode: string;
106
103
  }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
@@ -120,191 +117,46 @@ declare const paystackClient: <O extends {
120
117
  status: string;
121
118
  }>>;
122
119
  };
123
- paystack: {
124
- transaction: {
125
- initialize: (data: {
126
- plan?: string;
127
- email?: string;
128
- amount?: number;
129
- reference?: string;
130
- metadata?: Record<string, unknown>;
131
- callbackUrl?: string;
132
- callbackURL?: string;
133
- currency?: string;
134
- quantity?: number;
135
- referenceId?: string;
136
- product?: string;
137
- scheduleAtPeriodEnd?: boolean;
138
- cancelAtPeriodEnd?: boolean;
139
- prorateAndCharge?: boolean;
140
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
141
- url: string;
142
- reference: string;
143
- accessCode: string;
144
- redirect: boolean;
145
- }>>;
146
- verify: (data: {
147
- reference: string;
148
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
149
- status: string;
150
- reference: string;
151
- data: unknown;
152
- }>>;
153
- list: (data?: {
154
- query?: Record<string, unknown>;
155
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
156
- transactions: PaystackTransaction[];
157
- }>>;
158
- };
159
- subscription: {
160
- create: (data: {
161
- plan?: string;
162
- email?: string;
163
- amount?: number;
164
- reference?: string;
165
- metadata?: Record<string, unknown>;
166
- callbackUrl?: string;
167
- callbackURL?: string;
168
- currency?: string;
169
- quantity?: number;
170
- referenceId?: string;
171
- product?: string;
172
- scheduleAtPeriodEnd?: boolean;
173
- cancelAtPeriodEnd?: boolean;
174
- prorateAndCharge?: boolean;
175
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
176
- url: string;
177
- reference: string;
178
- accessCode: string;
179
- redirect: boolean;
180
- }>>;
181
- upgrade: (data: {
182
- plan?: string;
183
- email?: string;
184
- amount?: number;
185
- reference?: string;
186
- metadata?: Record<string, unknown>;
187
- callbackUrl?: string;
188
- callbackURL?: string;
189
- currency?: string;
190
- quantity?: number;
191
- referenceId?: string;
192
- product?: string;
193
- scheduleAtPeriodEnd?: boolean;
194
- cancelAtPeriodEnd?: boolean;
195
- prorateAndCharge?: boolean;
196
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
197
- url: string;
198
- reference: string;
199
- accessCode: string;
200
- redirect: boolean;
201
- }>>;
202
- cancel: (data: {
203
- subscriptionCode: string;
204
- emailToken?: string;
205
- atPeriodEnd?: boolean;
206
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
207
- status: string;
208
- }>>;
209
- restore: (data: {
210
- subscriptionCode: string;
211
- emailToken?: string;
212
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
213
- status: string;
214
- }>>;
215
- list: (data?: {
216
- query?: Record<string, unknown>;
217
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
218
- subscriptions: Subscription[];
219
- }>>;
220
- billingPortal: (data: {
221
- subscriptionCode: string;
222
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
223
- link: string;
224
- }>>;
225
- listLocal: (data?: {
226
- query?: Record<string, unknown>;
227
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
228
- subscriptions: Subscription[];
229
- }>>;
230
- manageLink: (data: {
231
- subscriptionCode: string;
232
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
233
- link: string;
234
- }>>;
235
- disable: (data: {
236
- subscriptionCode: string;
237
- emailToken?: string;
238
- atPeriodEnd?: boolean;
239
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
240
- status: string;
241
- }>>;
242
- enable: (data: {
243
- subscriptionCode: string;
244
- emailToken?: string;
245
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
246
- status: string;
247
- }>>;
248
- };
249
- initializeTransaction: (data: {
250
- plan?: string;
251
- email?: string;
252
- amount?: number;
253
- reference?: string;
254
- metadata?: Record<string, unknown>;
255
- callbackUrl?: string;
256
- callbackURL?: string;
257
- currency?: string;
258
- quantity?: number;
259
- referenceId?: string;
260
- product?: string;
261
- scheduleAtPeriodEnd?: boolean;
262
- cancelAtPeriodEnd?: boolean;
263
- prorateAndCharge?: boolean;
264
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
265
- url: string;
266
- reference: string;
267
- accessCode: string;
268
- redirect: boolean;
269
- }>>;
270
- verifyTransaction: (data: {
271
- reference: string;
272
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
273
- status: string;
274
- reference: string;
275
- data: unknown;
276
- }>>;
277
- listTransactions: (data?: {
278
- query?: Record<string, unknown>;
279
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
280
- transactions: PaystackTransaction[];
281
- }>>;
282
- listSubscriptions: (data?: {
283
- query?: Record<string, unknown>;
284
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
285
- subscriptions: Subscription[];
286
- }>>;
287
- getSubscriptionManageLink: (data: {
288
- subscriptionCode: string;
289
- }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
290
- link: string;
291
- }>>;
292
- getConfig: () => Promise<BetterFetchResponse<Record<string, unknown>>>;
293
- syncProducts: () => Promise<BetterFetchResponse<{
294
- status: string;
295
- count: number;
296
- }>>;
297
- syncPlans: () => Promise<BetterFetchResponse<{
298
- status: string;
299
- count: number;
300
- }>>;
301
- listProducts: (options?: BetterFetchOption) => Promise<BetterFetchResponse<{
302
- products: PaystackProduct[];
303
- }>>;
304
- listPlans: (options?: BetterFetchOption) => Promise<BetterFetchResponse<{
305
- plans: unknown[];
306
- }>>;
307
- };
120
+ initializeTransaction: (data: Record<string, unknown> & {
121
+ callbackUrl?: string;
122
+ callbackURL?: string;
123
+ product?: string;
124
+ referenceId?: string;
125
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
126
+ url: string;
127
+ reference: string;
128
+ accessCode: string;
129
+ redirect: boolean;
130
+ }>>;
131
+ verifyTransaction: (data: {
132
+ reference: string;
133
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
134
+ status: string;
135
+ reference: string;
136
+ data: unknown;
137
+ }>>;
138
+ listTransactions: (data?: {
139
+ query?: Record<string, unknown>;
140
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
141
+ transactions: PaystackTransaction[];
142
+ }>>;
143
+ listSubscriptions: (data?: {
144
+ query?: Record<string, unknown>;
145
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
146
+ subscriptions: Subscription[];
147
+ }>>;
148
+ getSubscriptionManageLink: (data: {
149
+ subscriptionCode: string;
150
+ }, options?: BetterFetchOption) => Promise<BetterFetchResponse<{
151
+ link: string;
152
+ }>>;
153
+ config: () => Promise<BetterFetchResponse<Record<string, unknown>>>;
154
+ listProducts: (options?: BetterFetchOption) => Promise<BetterFetchResponse<{
155
+ products: PaystackProduct[];
156
+ }>>;
157
+ listPlans: (options?: BetterFetchOption) => Promise<BetterFetchResponse<{
158
+ plans: PaystackPlan[];
159
+ }>>;
308
160
  };
309
161
  };
310
162
  //#endregion
@@ -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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"}
package/dist/client.mjs CHANGED
@@ -2,58 +2,65 @@
2
2
  const paystackClient = (_options) => {
3
3
  return {
4
4
  id: "paystack",
5
+ version: "1.0.0",
5
6
  $InferServerPlugin: {},
6
- getActions: ($fetch) => {
7
+ getActions: ($fetch, _$store, _options) => {
8
+ const fetch = $fetch;
7
9
  const initializeTransaction = async (data, options) => {
8
- return $fetch("paystack/initialize-transaction", {
10
+ return fetch("paystack/initialize-transaction", {
9
11
  method: "POST",
10
12
  body: data,
11
13
  ...options
12
14
  });
13
15
  };
14
16
  const verifyTransaction = async (data, options) => {
15
- return $fetch("paystack/verify-transaction", {
17
+ return fetch("paystack/verify-transaction", {
16
18
  method: "POST",
17
19
  body: data,
18
20
  ...options
19
21
  });
20
22
  };
21
23
  const listTransactions = async (data = {}, options) => {
22
- return $fetch("paystack/list-transactions", {
24
+ return fetch("paystack/list-transactions", {
23
25
  method: "GET",
24
26
  query: data.query,
25
27
  ...options
26
28
  });
27
29
  };
28
30
  const listSubscriptions = async (data = {}, options) => {
29
- return $fetch("paystack/list-subscriptions", {
31
+ return fetch("paystack/list-subscriptions", {
30
32
  method: "GET",
31
33
  query: data.query,
32
34
  ...options
33
35
  });
34
36
  };
35
37
  const getSubscriptionManageLink = async (data, options) => {
36
- return $fetch("paystack/get-subscription-manage-link", {
38
+ return fetch("paystack/subscription-manage-link", {
37
39
  method: "GET",
38
40
  query: data,
39
41
  ...options
40
42
  });
41
43
  };
42
44
  const cancelSubscription = async (data, options) => {
43
- return $fetch("paystack/disable-subscription", {
45
+ return fetch("paystack/disable-subscription", {
44
46
  method: "POST",
45
47
  body: data,
46
48
  ...options
47
49
  });
48
50
  };
49
51
  const restoreSubscription = async (data, options) => {
50
- return $fetch("paystack/enable-subscription", {
52
+ return fetch("paystack/enable-subscription", {
51
53
  method: "POST",
52
54
  body: data,
53
55
  ...options
54
56
  });
55
57
  };
56
58
  return {
59
+ transaction: {
60
+ initialize: initializeTransaction,
61
+ verify: verifyTransaction,
62
+ list: listTransactions
63
+ },
57
64
  subscription: {
58
65
  upgrade: initializeTransaction,
59
66
  create: initializeTransaction,
@@ -61,61 +68,35 @@ const paystackClient = (_options) => {
61
68
  restore: restoreSubscription,
62
69
  list: listSubscriptions,
63
70
  billingPortal: getSubscriptionManageLink,
64
- listLocal: listSubscriptions,
65
71
  manageLink: getSubscriptionManageLink,
66
72
  disable: cancelSubscription,
67
73
  enable: restoreSubscription
68
74
  },
69
- paystack: {
70
- transaction: {
71
- initialize: initializeTransaction,
72
- verify: verifyTransaction,
73
- list: listTransactions
74
- },
75
- subscription: {
76
- create: initializeTransaction,
77
- upgrade: initializeTransaction,
78
- cancel: cancelSubscription,
79
- restore: restoreSubscription,
80
- list: listSubscriptions,
81
- billingPortal: getSubscriptionManageLink,
82
- listLocal: listSubscriptions,
83
- manageLink: getSubscriptionManageLink,
84
- disable: cancelSubscription,
85
- enable: restoreSubscription
86
- },
87
- initializeTransaction,
88
- verifyTransaction,
89
- listTransactions,
90
- listSubscriptions,
91
- getSubscriptionManageLink,
92
- getConfig: async () => {
93
- return $fetch("paystack/get-config", { method: "GET" });
94
- },
95
- syncProducts: async () => {
96
- return $fetch("paystack/sync-products", { method: "POST" });
97
- },
98
- syncPlans: async () => {
99
- return $fetch("paystack/sync-plans", { method: "POST" });
100
- },
101
- listProducts: async (options) => {
102
- return $fetch("paystack/list-products", {
103
- method: "GET",
104
- ...options
105
- });
106
- },
107
- listPlans: async (options) => {
108
- return $fetch("paystack/list-plans", {
109
- method: "GET",
110
- ...options
111
- });
112
- }
75
+ initializeTransaction,
76
+ verifyTransaction,
77
+ listTransactions,
78
+ listSubscriptions,
79
+ getSubscriptionManageLink,
80
+ config: async () => {
81
+ return fetch("/paystack/config", { method: "GET" });
82
+ },
83
+ listProducts: async (options) => {
84
+ return fetch("paystack/list-products", {
85
+ method: "GET",
86
+ ...options
87
+ });
88
+ },
89
+ listPlans: async (options) => {
90
+ return fetch("paystack/list-plans", {
91
+ method: "GET",
92
+ ...options
93
+ });
113
94
  }
114
95
  };
115
96
  }
116
97
  };
117
98
  };
118
-
119
99
  //#endregion
120
100
  export { paystackClient };
101
+
121
102
  //# sourceMappingURL=client.mjs.map
@@ -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\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"}
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\";\nimport type {\n PaystackPlan,\n PaystackProduct,\n PaystackTransaction,\n Subscription,\n PaystackClientLike,\n AnyPaystackOptions,\n} from \"./types\";\n\nimport type { paystack } from \"./index\";\n\nexport const paystackClient = <\n O extends {\n subscription?: boolean;\n },\n>(\n _options?: O,\n): {\n id: \"paystack\";\n version: string;\n $InferServerPlugin: ReturnType<typeof paystack<PaystackClientLike, AnyPaystackOptions>>;\n getActions: (\n $fetch: BetterFetch,\n _$store: unknown,\n _options: unknown,\n ) => {\n transaction: {\n initialize: (\n data: Record<string, unknown> & {\n callbackUrl?: string; // Client-side alias\n callbackURL?: string; // Client-side alias\n product?: string;\n referenceId?: string;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n url: string;\n reference: string;\n accessCode: string;\n redirect: boolean;\n }>\n >;\n verify: (\n data: { reference: string },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n status: string;\n reference: string;\n data: unknown;\n }>\n >;\n list: (\n data?: { query?: Record<string, unknown> },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n transactions: PaystackTransaction[];\n }>\n >;\n };\n subscription: {\n /**\n * Initialize a transaction to upgrade or creating a subscription.\n */\n upgrade: (\n data: Record<string, unknown> & {\n callbackUrl?: string; // Client-side alias\n callbackURL?: string; // Client-side alias\n product?: string;\n referenceId?: string;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n url: string;\n reference: string;\n accessCode: string;\n redirect: boolean;\n }>\n >;\n /**\n * Initialize a payment to create a subscription.\n */\n create: (\n data: Record<string, unknown> & {\n callbackUrl?: string; // Client-side alias\n callbackURL?: string; // Client-side alias\n product?: string;\n referenceId?: string;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n url: string;\n reference: string;\n accessCode: string;\n redirect: boolean;\n }>\n >;\n /**\n * Disable a subscription.\n */\n cancel: (\n data: {\n subscriptionCode: string;\n emailToken?: string;\n atPeriodEnd?: boolean;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n status: string;\n }>\n >;\n /**\n * Enable a subscription.\n */\n restore: (\n data: {\n subscriptionCode: string;\n emailToken?: string;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n status: string;\n }>\n >;\n /**\n * List subscriptions for the user.\n */\n list: (\n data?: { query?: Record<string, unknown> },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n subscriptions: Subscription[];\n }>\n >;\n /**\n * Get a link to manage the subscription on Paystack.\n */\n billingPortal: (\n data: { subscriptionCode: string },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n link: string;\n }>\n >;\n manageLink: (\n data: { subscriptionCode: string },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n link: string;\n }>\n >;\n disable: (\n data: {\n subscriptionCode: string;\n emailToken?: string;\n atPeriodEnd?: boolean;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n status: string;\n }>\n >;\n enable: (\n data: {\n subscriptionCode: string;\n emailToken?: string;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n status: string;\n }>\n >;\n };\n initializeTransaction: (\n data: Record<string, unknown> & {\n callbackUrl?: string; // Client-side alias\n callbackURL?: string; // Client-side alias\n product?: string;\n referenceId?: string;\n },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n url: string;\n reference: string;\n accessCode: string;\n redirect: boolean;\n }>\n >;\n verifyTransaction: (\n data: { reference: string },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n status: string;\n reference: string;\n data: unknown;\n }>\n >;\n listTransactions: (\n data?: { query?: Record<string, unknown> },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n transactions: PaystackTransaction[];\n }>\n >;\n listSubscriptions: (\n data?: { query?: Record<string, unknown> },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n subscriptions: Subscription[];\n }>\n >;\n getSubscriptionManageLink: (\n data: { subscriptionCode: string },\n options?: BetterFetchOption,\n ) => Promise<\n BetterFetchResponse<{\n link: string;\n }>\n >;\n config: () => Promise<BetterFetchResponse<Record<string, unknown>>>;\n listProducts: (options?: BetterFetchOption) => Promise<\n BetterFetchResponse<{\n products: PaystackProduct[];\n }>\n >;\n listPlans: (options?: BetterFetchOption) => Promise<\n BetterFetchResponse<{\n plans: PaystackPlan[];\n }>\n >;\n };\n} => {\n return {\n id: \"paystack\",\n version: \"1.0.0\",\n $InferServerPlugin: {} as ReturnType<typeof paystack<PaystackClientLike, AnyPaystackOptions>>,\n getActions: ($fetch: BetterFetch, _$store: unknown, _options: unknown) => {\n const fetch = $fetch;\n\n const initializeTransaction = async (\n data: Record<string, unknown> & {\n callbackUrl?: string; // Client-side alias\n callbackURL?: string; // Client-side alias\n product?: string;\n referenceId?: string;\n },\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n url: string;\n reference: string;\n accessCode: string;\n redirect: boolean;\n }>\n > => {\n return fetch<{\n url: string;\n reference: string;\n accessCode: string;\n redirect: boolean;\n }>(\"paystack/initialize-transaction\", {\n method: \"POST\",\n body: data,\n ...options,\n });\n };\n\n const verifyTransaction = async (\n data: { reference: string },\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n status: string;\n reference: string;\n data: unknown;\n }>\n > => {\n return fetch<{\n status: string;\n reference: string;\n data: unknown;\n }>(\"paystack/verify-transaction\", {\n method: \"POST\",\n body: data,\n ...options,\n });\n };\n\n const listTransactions = async (\n data: { query?: Record<string, unknown> } = {},\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n transactions: PaystackTransaction[];\n }>\n > => {\n return fetch<{\n transactions: PaystackTransaction[];\n }>(\"paystack/list-transactions\", {\n method: \"GET\",\n query: data.query,\n ...options,\n });\n };\n\n const listSubscriptions = async (\n data: { query?: Record<string, unknown> } = {},\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n subscriptions: Subscription[];\n }>\n > => {\n return fetch<{\n subscriptions: Subscription[];\n }>(\"paystack/list-subscriptions\", {\n method: \"GET\",\n query: data.query,\n ...options,\n });\n };\n\n const getSubscriptionManageLink = async (\n data: { subscriptionCode: string },\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n link: string;\n }>\n > => {\n return fetch<{\n link: string;\n }>(\"paystack/subscription-manage-link\", {\n method: \"GET\",\n query: data,\n ...options,\n });\n };\n\n const cancelSubscription = async (\n data: {\n subscriptionCode: string;\n emailToken?: string;\n atPeriodEnd?: boolean;\n },\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n status: string;\n }>\n > => {\n return fetch<{\n status: string;\n }>(\"paystack/disable-subscription\", {\n method: \"POST\",\n body: data,\n ...options,\n });\n };\n\n const restoreSubscription = async (\n data: {\n subscriptionCode: string;\n emailToken?: string;\n },\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n status: string;\n }>\n > => {\n return fetch<{\n status: string;\n }>(\"paystack/enable-subscription\", {\n method: \"POST\",\n body: data,\n ...options,\n });\n };\n\n return {\n transaction: {\n initialize: initializeTransaction,\n verify: verifyTransaction,\n list: listTransactions,\n },\n subscription: {\n /**\n * Initialize a transaction to upgrade or creating a subscription.\n */\n upgrade: initializeTransaction,\n /**\n * Initialize a payment to create a subscription.\n */\n create: initializeTransaction,\n /**\n * Disable a subscription.\n */\n cancel: cancelSubscription,\n /**\n * Enable a subscription.\n */\n restore: restoreSubscription,\n /**\n * List subscriptions for the user.\n */\n list: listSubscriptions,\n /**\n * Get a link to manage the subscription on Paystack.\n */\n billingPortal: getSubscriptionManageLink,\n manageLink: getSubscriptionManageLink,\n disable: cancelSubscription,\n enable: restoreSubscription,\n },\n initializeTransaction,\n verifyTransaction,\n listTransactions,\n listSubscriptions,\n getSubscriptionManageLink,\n config: async (): Promise<BetterFetchResponse<Record<string, unknown>>> => {\n return fetch<Record<string, unknown>>(\"/paystack/config\", {\n method: \"GET\",\n });\n },\n listProducts: async (\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n products: PaystackProduct[];\n }>\n > => {\n return fetch<{\n products: PaystackProduct[];\n }>(\"paystack/list-products\", {\n method: \"GET\",\n ...options,\n });\n },\n listPlans: async (\n options?: BetterFetchOption,\n ): Promise<\n BetterFetchResponse<{\n plans: PaystackPlan[];\n }>\n > => {\n return fetch<{\n plans: PaystackPlan[];\n }>(\"paystack/list-plans\", {\n method: \"GET\",\n ...options,\n });\n },\n };\n },\n } satisfies BetterAuthClientPlugin;\n};\n"],"mappings":";AAaA,MAAa,kBAKX,aAsOG;AACH,QAAO;EACL,IAAI;EACJ,SAAS;EACT,oBAAoB,EAAE;EACtB,aAAa,QAAqB,SAAkB,aAAsB;GACxE,MAAM,QAAQ;GAEd,MAAM,wBAAwB,OAC5B,MAMA,YAQG;AACH,WAAO,MAKJ,mCAAmC;KACpC,QAAQ;KACR,MAAM;KACN,GAAG;KACJ,CAAC;;GAGJ,MAAM,oBAAoB,OACxB,MACA,YAOG;AACH,WAAO,MAIJ,+BAA+B;KAChC,QAAQ;KACR,MAAM;KACN,GAAG;KACJ,CAAC;;GAGJ,MAAM,mBAAmB,OACvB,OAA4C,EAAE,EAC9C,YAKG;AACH,WAAO,MAEJ,8BAA8B;KAC/B,QAAQ;KACR,OAAO,KAAK;KACZ,GAAG;KACJ,CAAC;;GAGJ,MAAM,oBAAoB,OACxB,OAA4C,EAAE,EAC9C,YAKG;AACH,WAAO,MAEJ,+BAA+B;KAChC,QAAQ;KACR,OAAO,KAAK;KACZ,GAAG;KACJ,CAAC;;GAGJ,MAAM,4BAA4B,OAChC,MACA,YAKG;AACH,WAAO,MAEJ,qCAAqC;KACtC,QAAQ;KACR,OAAO;KACP,GAAG;KACJ,CAAC;;GAGJ,MAAM,qBAAqB,OACzB,MAKA,YAKG;AACH,WAAO,MAEJ,iCAAiC;KAClC,QAAQ;KACR,MAAM;KACN,GAAG;KACJ,CAAC;;GAGJ,MAAM,sBAAsB,OAC1B,MAIA,YAKG;AACH,WAAO,MAEJ,gCAAgC;KACjC,QAAQ;KACR,MAAM;KACN,GAAG;KACJ,CAAC;;AAGJ,UAAO;IACL,aAAa;KACX,YAAY;KACZ,QAAQ;KACR,MAAM;KACP;IACD,cAAc;KAIZ,SAAS;KAIT,QAAQ;KAIR,QAAQ;KAIR,SAAS;KAIT,MAAM;KAIN,eAAe;KACf,YAAY;KACZ,SAAS;KACT,QAAQ;KACT;IACD;IACA;IACA;IACA;IACA;IACA,QAAQ,YAAmE;AACzE,YAAO,MAA+B,oBAAoB,EACxD,QAAQ,OACT,CAAC;;IAEJ,cAAc,OACZ,YAKG;AACH,YAAO,MAEJ,0BAA0B;MAC3B,QAAQ;MACR,GAAG;MACJ,CAAC;;IAEJ,WAAW,OACT,YAKG;AACH,YAAO,MAEJ,uBAAuB;MACxB,QAAQ;MACR,GAAG;MACJ,CAAC;;IAEL;;EAEJ"}