@alexasomba/better-auth-paystack 1.0.0-rc.3 → 1.0.4
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 +57 -38
- package/dist/client.d.mts +56 -43
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +2 -2
- package/dist/client.mjs.map +1 -1
- package/dist/index.d.mts +65 -41
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +404 -204
- package/dist/index.mjs.map +1 -1
- package/dist/{types--kIktPs7.d.mts → types-Dlv_nSLg.d.mts} +58 -37
- package/dist/types-Dlv_nSLg.d.mts.map +1 -0
- package/package.json +48 -10
- package/dist/types--kIktPs7.d.mts.map +0 -1
|
@@ -26,6 +26,14 @@ declare const subscriptions: {
|
|
|
26
26
|
type: "string";
|
|
27
27
|
required: false;
|
|
28
28
|
};
|
|
29
|
+
paystackAuthorizationCode: {
|
|
30
|
+
type: "string";
|
|
31
|
+
required: false;
|
|
32
|
+
};
|
|
33
|
+
paystackEmailToken: {
|
|
34
|
+
type: "string";
|
|
35
|
+
required: false;
|
|
36
|
+
};
|
|
29
37
|
status: {
|
|
30
38
|
type: "string";
|
|
31
39
|
defaultValue: string;
|
|
@@ -89,6 +97,7 @@ declare const organization: {
|
|
|
89
97
|
//#endregion
|
|
90
98
|
//#region src/types.d.ts
|
|
91
99
|
type PaystackNodeClient = ReturnType<typeof createPaystack>;
|
|
100
|
+
type PaystackCurrency = "NGN" | "GHS" | "KES" | "ZAR" | "USD" | "XOF";
|
|
92
101
|
type NonNullableInit<T> = Exclude<T, undefined>;
|
|
93
102
|
type ExtractBody<T> = T extends {
|
|
94
103
|
body?: infer B;
|
|
@@ -107,9 +116,11 @@ type CustomerUpdateInit = NonNullableInit<Parameters<PaystackNodeClient["custome
|
|
|
107
116
|
type TransactionInitializeInit = NonNullableInit<Parameters<PaystackNodeClient["transaction_initialize"]>[0]>;
|
|
108
117
|
type SubscriptionCreateInit = NonNullableInit<Parameters<PaystackNodeClient["subscription_create"]>[0]>;
|
|
109
118
|
type SubscriptionToggleInit = NonNullableInit<Parameters<PaystackNodeClient["subscription_disable"]>[0]>;
|
|
119
|
+
type TransactionChargeAuthorizationInit = NonNullableInit<Parameters<PaystackNodeClient["transaction_chargeAuthorization"]>[0]>;
|
|
110
120
|
type PaystackCustomerCreateInput = WithMetadataStringOrObject<ExtractBody<CustomerCreateInit>>;
|
|
111
121
|
type PaystackCustomerUpdateInput = WithMetadataStringOrObject<WithEmail<ExtractBody<CustomerUpdateInit>>>;
|
|
112
122
|
type PaystackTransactionInitializeInput = WithMetadataObject<ExtractBody<TransactionInitializeInit>>;
|
|
123
|
+
type PaystackTransactionChargeAuthorizationInput = WithMetadataObject<ExtractBody<TransactionChargeAuthorizationInit>>;
|
|
113
124
|
type PaystackSubscriptionCreateInput = ExtractBody<SubscriptionCreateInit>;
|
|
114
125
|
type PaystackSubscriptionToggleInput = ExtractBody<SubscriptionToggleInit>;
|
|
115
126
|
type PaystackClientLike = Partial<PaystackNodeClient> & {
|
|
@@ -121,6 +132,7 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
|
|
|
121
132
|
transaction?: {
|
|
122
133
|
initialize?: (params: PaystackTransactionInitializeInput) => Promise<unknown>;
|
|
123
134
|
verify?: (reference: string) => Promise<unknown>;
|
|
135
|
+
chargeAuthorization?: (params: PaystackTransactionChargeAuthorizationInput) => Promise<unknown>;
|
|
124
136
|
};
|
|
125
137
|
subscription?: {
|
|
126
138
|
fetch?: (idOrCode: string) => Promise<unknown>;
|
|
@@ -133,21 +145,27 @@ type PaystackClientLike = Partial<PaystackNodeClient> & {
|
|
|
133
145
|
};
|
|
134
146
|
};
|
|
135
147
|
};
|
|
136
|
-
type NoInfer<T> = [T][T extends
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
currency?:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
type NoInfer<T> = [T][T extends unknown ? 0 : never];
|
|
149
|
+
interface PaystackPlan {
|
|
150
|
+
/** Human name stored in DB (lowercased). */
|
|
151
|
+
name: string;
|
|
152
|
+
/** Paystack plan code (if you use Paystack plans). */
|
|
153
|
+
planCode?: string | undefined;
|
|
154
|
+
/** Amount in the smallest currency unit (e.g. kobo). */
|
|
155
|
+
amount?: number | undefined;
|
|
156
|
+
/** Currency ISO code (e.g. NGN). */
|
|
157
|
+
currency?: PaystackCurrency | (string & {}) | undefined;
|
|
158
|
+
/** Paystack interval keyword (when using Paystack plans). */
|
|
159
|
+
interval?: "daily" | "weekly" | "monthly" | "quarterly" | "biannually" | "annually" | undefined;
|
|
160
|
+
/** Optional description of the plan. */
|
|
161
|
+
description?: string | undefined;
|
|
162
|
+
/** Optional list of features for the plan. */
|
|
163
|
+
features?: string[] | undefined;
|
|
164
|
+
/** Optional invoice limit; Paystack uses `invoice_limit` during init. */
|
|
165
|
+
invoiceLimit?: number | undefined;
|
|
166
|
+
/** Arbitrary limits (stored/consumed by your app). */
|
|
167
|
+
limits?: Record<string, unknown> | undefined;
|
|
168
|
+
/** Optional free trial config, if your app supports it. */
|
|
151
169
|
freeTrial?: {
|
|
152
170
|
days: number;
|
|
153
171
|
onTrialStart?: (subscription: Subscription) => Promise<void>;
|
|
@@ -156,14 +174,14 @@ type PaystackPlan = {
|
|
|
156
174
|
}, ctx: GenericEndpointContext$1) => Promise<void>;
|
|
157
175
|
onTrialExpired?: (subscription: Subscription, ctx: GenericEndpointContext$1) => Promise<void>;
|
|
158
176
|
} | undefined;
|
|
159
|
-
}
|
|
177
|
+
}
|
|
160
178
|
interface PaystackProduct {
|
|
161
179
|
/** Human-readable name of the product. */
|
|
162
180
|
name: string;
|
|
163
181
|
/** Amount in the smallest currency unit (e.g., kobo). */
|
|
164
182
|
amount: number;
|
|
165
183
|
/** Currency ISO code (e.g., NGN). */
|
|
166
|
-
currency: string;
|
|
184
|
+
currency: PaystackCurrency | (string & {});
|
|
167
185
|
/** Optional metadata to include with the transaction. */
|
|
168
186
|
metadata?: Record<string, unknown> | undefined;
|
|
169
187
|
/** Optional description of the product. */
|
|
@@ -178,7 +196,7 @@ interface PaystackTransaction {
|
|
|
178
196
|
referenceId: string;
|
|
179
197
|
userId: string;
|
|
180
198
|
amount: number;
|
|
181
|
-
currency: string;
|
|
199
|
+
currency: PaystackCurrency | (string & {});
|
|
182
200
|
status: string;
|
|
183
201
|
plan?: string | undefined;
|
|
184
202
|
metadata?: string | undefined;
|
|
@@ -192,6 +210,8 @@ interface Subscription {
|
|
|
192
210
|
paystackCustomerCode?: string | undefined;
|
|
193
211
|
paystackSubscriptionCode?: string | undefined;
|
|
194
212
|
paystackTransactionReference?: string | undefined;
|
|
213
|
+
paystackAuthorizationCode?: string | undefined;
|
|
214
|
+
paystackEmailToken?: string | undefined;
|
|
195
215
|
status: "active" | "canceled" | "incomplete" | "incomplete_expired" | "paused" | "trialing" | "unpaid";
|
|
196
216
|
periodStart?: Date | undefined;
|
|
197
217
|
periodEnd?: Date | undefined;
|
|
@@ -201,52 +221,53 @@ interface Subscription {
|
|
|
201
221
|
groupId?: string | undefined;
|
|
202
222
|
seats?: number | undefined;
|
|
203
223
|
}
|
|
204
|
-
|
|
224
|
+
interface SubscriptionOptions {
|
|
205
225
|
plans: PaystackPlan[] | (() => PaystackPlan[] | Promise<PaystackPlan[]>);
|
|
206
226
|
requireEmailVerification?: boolean | undefined;
|
|
207
227
|
authorizeReference?: ((data: {
|
|
208
228
|
user: User;
|
|
209
|
-
session:
|
|
229
|
+
session: Session;
|
|
210
230
|
referenceId: string;
|
|
211
231
|
action: "initialize-transaction" | "verify-transaction" | "list-subscriptions" | "list-transactions" | "disable-subscription" | "enable-subscription" | "get-subscription-manage-link";
|
|
212
232
|
}, ctx: GenericEndpointContext$1) => Promise<boolean>) | undefined;
|
|
213
233
|
onSubscriptionComplete?: ((data: {
|
|
214
|
-
event:
|
|
234
|
+
event: unknown;
|
|
215
235
|
subscription: Subscription;
|
|
216
236
|
plan: PaystackPlan;
|
|
217
237
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
218
238
|
onSubscriptionUpdate?: ((data: {
|
|
219
|
-
event:
|
|
239
|
+
event: unknown;
|
|
220
240
|
subscription: Subscription;
|
|
241
|
+
plan?: PaystackPlan;
|
|
221
242
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
222
243
|
onSubscriptionCreated?: ((data: {
|
|
223
|
-
event:
|
|
244
|
+
event: unknown;
|
|
224
245
|
subscription: Subscription;
|
|
225
246
|
plan: PaystackPlan;
|
|
226
247
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
227
248
|
onSubscriptionCancel?: ((data: {
|
|
228
|
-
event:
|
|
249
|
+
event: unknown;
|
|
229
250
|
subscription: Subscription;
|
|
230
251
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
231
252
|
onSubscriptionDelete?: ((data: {
|
|
232
|
-
event:
|
|
253
|
+
event: unknown;
|
|
233
254
|
subscription: Subscription;
|
|
234
255
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
235
|
-
}
|
|
236
|
-
|
|
256
|
+
}
|
|
257
|
+
interface ProductOptions {
|
|
237
258
|
products: PaystackProduct[] | (() => PaystackProduct[] | Promise<PaystackProduct[]>);
|
|
238
|
-
}
|
|
239
|
-
|
|
259
|
+
}
|
|
260
|
+
interface OrganizationOptions {
|
|
240
261
|
enabled: boolean;
|
|
241
262
|
createCustomerOnOrganizationCreate?: boolean | undefined;
|
|
242
263
|
onCustomerCreate?: ((data: {
|
|
243
|
-
paystackCustomer:
|
|
244
|
-
organization:
|
|
264
|
+
paystackCustomer: Record<string, unknown>;
|
|
265
|
+
organization: Record<string, unknown> & {
|
|
245
266
|
paystackCustomerCode: string;
|
|
246
267
|
};
|
|
247
268
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
248
|
-
getCustomerCreateParams?: ((organization:
|
|
249
|
-
}
|
|
269
|
+
getCustomerCreateParams?: ((organization: unknown, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
|
|
270
|
+
}
|
|
250
271
|
interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackNodeClient> {
|
|
251
272
|
/** Paystack SDK instance (recommended: `@alexasomba/paystack-node` via `createPaystack({ secretKey })`). */
|
|
252
273
|
paystackClient: NoInfer<TPaystackClient>;
|
|
@@ -255,12 +276,12 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
|
|
|
255
276
|
/** Enable customer creation on Better Auth sign up. */
|
|
256
277
|
createCustomerOnSignUp?: boolean | undefined;
|
|
257
278
|
onCustomerCreate?: ((data: {
|
|
258
|
-
paystackCustomer:
|
|
279
|
+
paystackCustomer: Record<string, unknown>;
|
|
259
280
|
user: User & {
|
|
260
281
|
paystackCustomerCode: string;
|
|
261
282
|
};
|
|
262
283
|
}, ctx: GenericEndpointContext$1) => Promise<void>) | undefined;
|
|
263
|
-
getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string,
|
|
284
|
+
getCustomerCreateParams?: ((user: User, ctx: GenericEndpointContext$1) => Promise<Record<string, unknown>>) | undefined;
|
|
264
285
|
subscription?: ({
|
|
265
286
|
enabled: false;
|
|
266
287
|
} | ({
|
|
@@ -268,9 +289,9 @@ interface PaystackOptions<TPaystackClient extends PaystackClientLike = PaystackN
|
|
|
268
289
|
} & SubscriptionOptions)) | undefined;
|
|
269
290
|
products?: ProductOptions | undefined;
|
|
270
291
|
organization?: OrganizationOptions | undefined;
|
|
271
|
-
onEvent?: ((event:
|
|
292
|
+
onEvent?: ((event: unknown) => Promise<void>) | undefined;
|
|
272
293
|
schema?: InferOptionSchema<typeof subscriptions & typeof user & typeof organization> | undefined;
|
|
273
294
|
}
|
|
274
295
|
//#endregion
|
|
275
296
|
export { PaystackProduct as a, SubscriptionOptions as c, PaystackPlan as i, PaystackNodeClient as n, PaystackTransaction as o, PaystackOptions as r, Subscription as s, PaystackClientLike as t };
|
|
276
|
-
//# sourceMappingURL=types
|
|
297
|
+
//# sourceMappingURL=types-Dlv_nSLg.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-Dlv_nSLg.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","PaystackNodeClient","ReturnType","PaystackCurrency","PaystackOpenApiFetchResponse","T","Response","data","error","response","PaystackApiResult","Promise","NonNullableInit","Exclude","ExtractBody","body","B","WithMetadataStringOrObject","Omit","Record","metadata","WithMetadataObject","WithEmail","email","CustomerCreateInit","Parameters","CustomerUpdateInit","TransactionInitializeInit","SubscriptionCreateInit","SubscriptionToggleInit","TransactionChargeAuthorizationInit","PaystackCustomerCreateInput","PaystackCustomerUpdateInput","PaystackTransactionInitializeInput","PaystackTransactionChargeAuthorizationInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","customer","create","update","transaction","initialize","verify","reference","chargeAuthorization","subscription","fetch","idOrCode","disable","enable","manage","link","NoInfer","AuthSession","session","PaystackPlan","Subscription","name","planCode","amount","currency","interval","description","features","invoiceLimit","limits","freeTrial","days","onTrialStart","onTrialEnd","ctx","onTrialExpired","PaystackProduct","PaystackTransaction","Date","id","paystackId","referenceId","userId","status","plan","createdAt","updatedAt","InputPaystackTransaction","paystackCustomerCode","paystackSubscriptionCode","paystackTransactionReference","paystackAuthorizationCode","paystackEmailToken","periodStart","periodEnd","trialStart","trialEnd","cancelAtPeriodEnd","groupId","seats","InputSubscription","SubscriptionOptions","plans","requireEmailVerification","authorizeReference","action","onSubscriptionComplete","event","onSubscriptionUpdate","onSubscriptionCreated","onSubscriptionCancel","onSubscriptionDelete","ProductOptions","products","OrganizationOptions","enabled","createCustomerOnOrganizationCreate","onCustomerCreate","paystackCustomer","getCustomerCreateParams","PaystackOptions","TPaystackClient","paystackClient","paystackWebhookSecret","createCustomerOnSignUp","onEvent","schema","Organization","slug","key","Member","organizationId","role"],"sources":["../src/schema.ts","../src/types.d.ts"],"mappings":";;;;;cAwDa,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoEA,IAAA;;;;;;;;;;cAWA,YAAA;;;;;;;;;;;;;;;;KCnIDQ,kBAAAA,GAAqBC,UAAAA,QAAkBL,cAAAA;AAAAA,KACvCM,gBAAAA;AAAAA,KAOPS,eAAAA,MAAqBC,OAAAA,CAAQR,CAAAA;AAAAA,KAC7BS,WAAAA,MAAiBT,CAAAA;EAClBU,IAAAA;AAAAA,IACAC,CAAAA;AAAAA,KACCC,0BAAAA,MAAgCZ,CAAAA,kBAAmBa,IAAAA,CAAKb,CAAAA;EACzDe,QAAAA,YAAoBD,MAAAA;AAAAA,IACpBd,CAAAA;AAAAA,KACCgB,kBAAAA,MAAwBhB,CAAAA,kBAAmBa,IAAAA,CAAKb,CAAAA;EACjDe,QAAAA,GAAWD,MAAAA;AAAAA,IACXd,CAAAA;AAAAA,KACCiB,SAAAA,MAAejB,CAAAA,kBAAmBa,IAAAA,CAAKb,CAAAA;EACxCkB,KAAAA;AAAAA,IACAlB,CAAAA;AAAAA,KACCmB,kBAAAA,GAAqBZ,eAAAA,CAAgBa,UAAAA,CAAWxB,kBAAAA;AAAAA,KAChDyB,kBAAAA,GAAqBd,eAAAA,CAAgBa,UAAAA,CAAWxB,kBAAAA;AAAAA,KAChD0B,yBAAAA,GAA4Bf,eAAAA,CAAgBa,UAAAA,CAAWxB,kBAAAA;AAAAA,KACvD2B,sBAAAA,GAAyBhB,eAAAA,CAAgBa,UAAAA,CAAWxB,kBAAAA;AAAAA,KACpD4B,sBAAAA,GAAyBjB,eAAAA,CAAgBa,UAAAA,CAAWxB,kBAAAA;AAAAA,KACpD6B,kCAAAA,GAAqClB,eAAAA,CAAgBa,UAAAA,CAAWxB,kBAAAA;AAAAA,KACzD8B,2BAAAA,GAA8Bd,0BAAAA,CAA2BH,WAAAA,CAAYU,kBAAAA;AAAAA,KACrEQ,2BAAAA,GAA8Bf,0BAAAA,CAA2BK,SAAAA,CAAUR,WAAAA,CAAYY,kBAAAA;AAAAA,KAC/EO,kCAAAA,GAAqCZ,kBAAAA,CAAmBP,WAAAA,CAAYa,yBAAAA;AAAAA,KACpEO,2CAAAA,GAA8Cb,kBAAAA,CAAmBP,WAAAA,CAAYgB,kCAAAA;AAAAA,KAC7EK,+BAAAA,GAAkCrB,WAAAA,CAAYc,sBAAAA;AAAAA,KAC9CQ,+BAAAA,GAAkCtB,WAAAA,CAAYe,sBAAAA;AAAAA,KAc9Ca,kBAAAA,GAAqBC,OAAAA,CAAQ1C,kBAAAA;EACrC2C,wBAAAA,GAA2B3C,kBAAAA;EAC3B4C,QAAAA;IACIC,MAAAA,IAAUR,MAAAA,EAAQP,2BAAAA,KAAgCpB,OAAAA;IAClDoC,MAAAA,IAAUP,IAAAA,UAAcF,MAAAA,EAAQN,2BAAAA,KAAgCrB,OAAAA;EAAAA;EAEpEqC,WAAAA;IACIC,UAAAA,IAAcX,MAAAA,EAAQL,kCAAAA,KAAuCtB,OAAAA;IAC7DuC,MAAAA,IAAUC,SAAAA,aAAsBxC,OAAAA;IAChCyC,mBAAAA,IAAuBd,MAAAA,EAAQJ,2CAAAA,KAAgDvB,OAAAA;EAAAA;EAEnF0C,YAAAA;IACIC,KAAAA,IAASC,QAAAA,aAAqB5C,OAAAA;IAC9BmC,MAAAA,IAAUR,MAAAA,EAAQH,+BAAAA,KAAoCxB,OAAAA;IACtD6C,OAAAA,IAAWlB,MAAAA,EAAQF,+BAAAA,KAAoCzB,OAAAA;IACvD8C,MAAAA,IAAUnB,MAAAA,EAAQF,+BAAAA,KAAoCzB,OAAAA;IACtD+C,MAAAA;MACIC,IAAAA,IAAQnB,IAAAA,aAAiB7B,OAAAA;MACzBY,KAAAA,IAASiB,IAAAA,UAAcjB,KAAAA,aAAkBZ,OAAAA;IAAAA;EAAAA;AAAAA;AAAAA,KAIhDiD,OAAAA,OAAcvD,CAAAA,EAAGA,CAAAA;AAAAA,UAKL0D,YAAAA;;EAEbE,IAAAA;;EAEAC,QAAAA;;EAEAC,MAAAA;;EAEAC,QAAAA,GAAWjE,gBAAAA;;EAEXkE,QAAAA;EAnF0B;EAqF1BC,WAAAA;EArF6BpE;EAuF7BqE,QAAAA;EAtFQpE;EAwFRqE,YAAAA;;EAEAC,MAAAA,GAAStD,MAAAA;EA1Fe;EA4FxBuD,SAAAA;IACIC,IAAAA;IACAC,YAAAA,IAAgBvB,YAAAA,EAAcW,YAAAA,KAAiBrD,OAAAA;IAC/CkE,UAAAA,IAActE,IAAAA;MACV8C,YAAAA,EAAcW,YAAAA;IAAAA,GACfc,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;IACnCoE,cAAAA,IAAkB1B,YAAAA,EAAcW,YAAAA,EAAcc,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EAAAA;AAAAA;AAAAA,UAGrEqE,eAAAA;EA7FD;EA+FZf,IAAAA;EA/FmB;EAiGnBE,MAAAA;EAjGkB9D;EAmGlB+D,QAAAA,EAAUjE,gBAAAA;EAlGGa;EAoGbI,QAAAA,GAAWD,MAAAA;EAnGV;EAqGDmD,WAAAA;EApGCrD;EAsGDsD,QAAAA;AAAAA;AAAAA,UAEaU,mBAAAA;EACbE,EAAAA;EACAhC,SAAAA;EACAiC,UAAAA;EACAC,WAAAA;EACAC,MAAAA;EACAnB,MAAAA;EACAC,QAAAA,EAAUjE,gBAAAA;EACVoF,MAAAA;EACAC,IAAAA;EACApE,QAAAA;EACAqE,SAAAA,EAAWP,IAAAA;EACXQ,SAAAA,EAAWR,IAAAA;AAAAA;AAAAA,UAIElB,YAAAA;EACbmB,EAAAA;EACAK,IAAAA;EACAH,WAAAA;EACAO,oBAAAA;EACAC,wBAAAA;EACAC,4BAAAA;EACAC,yBAAAA;EACAC,kBAAAA;EACAT,MAAAA;EACAU,WAAAA,GAAcf,IAAAA;EACdgB,SAAAA,GAAYhB,IAAAA;EACZiB,UAAAA,GAAajB,IAAAA;EACbkB,QAAAA,GAAWlB,IAAAA;EACXmB,iBAAAA;EACAC,OAAAA;EACAC,KAAAA;AAAAA;AAAAA,UAIaE,mBAAAA;EACbC,KAAAA,EAAO3C,YAAAA,YAAwBA,YAAAA,KAAiBpD,OAAAA,CAAQoD,YAAAA;EACxD4C,wBAAAA;EACAC,kBAAAA,KAAuBrG,IAAAA;IACnBP,IAAAA,EAAMJ,IAAAA;IACNkE,OAAAA,EAASnE,OAAAA;IACT0F,WAAAA;IACAwB,MAAAA;EAAAA,GACD/B,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCmG,sBAAAA,KAA2BvG,IAAAA;IACvBwG,KAAAA;IACA1D,YAAAA,EAAcW,YAAAA;IACdwB,IAAAA,EAAMzB,YAAAA;EAAAA,GACPe,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCqG,oBAAAA,KAAyBzG,IAAAA;IACrBwG,KAAAA;IACA1D,YAAAA,EAAcW,YAAAA;IACdwB,IAAAA,GAAOzB,YAAAA;EAAAA,GACRe,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCsG,qBAAAA,KAA0B1G,IAAAA;IACtBwG,KAAAA;IACA1D,YAAAA,EAAcW,YAAAA;IACdwB,IAAAA,EAAMzB,YAAAA;EAAAA,GACPe,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCuG,oBAAAA,KAAyB3G,IAAAA;IACrBwG,KAAAA;IACA1D,YAAAA,EAAcW,YAAAA;EAAAA,GACfc,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCwG,oBAAAA,KAAyB5G,IAAAA;IACrBwG,KAAAA;IACA1D,YAAAA,EAAcW,YAAAA;EAAAA,GACfc,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;AAAAA;AAAAA,UAEtByG,cAAAA;EACbC,QAAAA,EAAUrC,eAAAA,YAA2BA,eAAAA,KAAoBrE,OAAAA,CAAQqE,eAAAA;AAAAA;AAAAA,UAEpDsC,mBAAAA;EACbC,OAAAA;EACAC,kCAAAA;EACAC,gBAAAA,KAAqBlH,IAAAA;IACjBmH,gBAAAA,EAAkBvG,MAAAA;IAClBrB,YAAAA,EAAcqB,MAAAA;MACVyE,oBAAAA;IAAAA;EAAAA,GAELd,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCgH,uBAAAA,KAA4B7H,YAAAA,WAAuBgF,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA,CAAQQ,MAAAA;AAAAA;AAAAA,UAE9EyG,eAAAA,yBAAwClF,kBAAAA,GAAqBzC,kBAAAA;EAhL9B;EAkL5C6H,cAAAA,EAAgBlE,OAAAA,CAAQiE,eAAAA;EAlLKjH;EAoL7BmH,qBAAAA;EApLwD9H;EAsLxD+H,sBAAAA;EACAP,gBAAAA,KAAqBlH,IAAAA;IACjBmH,gBAAAA,EAAkBvG,MAAAA;IAClBnB,IAAAA,EAAMJ,IAAAA;MACFgG,oBAAAA;IAAAA;EAAAA,GAELd,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA;EACnCgH,uBAAAA,KAA4B3H,IAAAA,EAAMJ,IAAAA,EAAMkF,GAAAA,EAAKrF,wBAAAA,KAA2BkB,OAAAA,CAAQQ,MAAAA;EAChFkC,YAAAA;IACIkE,OAAAA;EAAAA;IAEAA,OAAAA;EAAAA,IACAd,mBAAAA;EACJY,QAAAA,GAAWD,cAAAA;EACXtH,YAAAA,GAAewH,mBAAAA;EACfW,OAAAA,KAAYlB,KAAAA,cAAmBpG,OAAAA;EAC/BuH,MAAAA,GAASxI,iBAAAA,QAAyBK,aAAAA,UAAuBC,IAAAA,UAAcF,YAAAA;AAAAA"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alexasomba/better-auth-paystack",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "Production-ready Paystack billing plugin for Better Auth. Supports subscriptions, one-time payments, organization billing, secure webhooks and more",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "alexasomba",
|
|
7
|
-
"
|
|
7
|
+
"homepage": "https://github.com/alexasomba/better-auth-paystack#readme",
|
|
8
|
+
"bugs": {
|
|
9
|
+
"url": "https://github.com/alexasomba/better-auth-paystack/issues"
|
|
10
|
+
},
|
|
8
11
|
"repository": {
|
|
9
12
|
"type": "git",
|
|
10
13
|
"url": "git+https://github.com/alexasomba/better-auth-paystack.git"
|
|
11
14
|
},
|
|
15
|
+
"funding": [
|
|
16
|
+
{
|
|
17
|
+
"type": "individual",
|
|
18
|
+
"url": "https://solscan.io/account/Gepby394bBBn4AEKkSwAPVnjgBULvYTiXBpbZe9CQqSp"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
12
21
|
"keywords": [
|
|
13
22
|
"paystack",
|
|
14
23
|
"auth",
|
|
15
|
-
"better-auth"
|
|
24
|
+
"better-auth",
|
|
25
|
+
"billing-system",
|
|
26
|
+
"checkout",
|
|
27
|
+
"fintech",
|
|
28
|
+
"nigeria",
|
|
29
|
+
"ghana",
|
|
30
|
+
"south-africa",
|
|
31
|
+
"kenya",
|
|
32
|
+
"ivory-coast",
|
|
33
|
+
"cote-divoire",
|
|
34
|
+
"egypt",
|
|
35
|
+
"rwanda",
|
|
36
|
+
"ngn",
|
|
37
|
+
"ghs",
|
|
38
|
+
"zar",
|
|
39
|
+
"kes",
|
|
40
|
+
"usd",
|
|
41
|
+
"egp",
|
|
42
|
+
"subscriptions",
|
|
43
|
+
"africa",
|
|
44
|
+
"saas"
|
|
16
45
|
],
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=22.0.0"
|
|
48
|
+
},
|
|
17
49
|
"type": "module",
|
|
18
50
|
"types": "./dist/index.d.mts",
|
|
19
51
|
"files": [
|
|
@@ -51,26 +83,31 @@
|
|
|
51
83
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
52
84
|
"@better-auth/core": "^1.4.18",
|
|
53
85
|
"@better-fetch/fetch": "^1.1.21",
|
|
54
|
-
"@eslint/
|
|
86
|
+
"@eslint/compat": "^2.0.2",
|
|
87
|
+
"@eslint/js": "^10.0.1",
|
|
55
88
|
"@rollup/rollup-linux-x64-gnu": "^4.57.1",
|
|
56
|
-
"@types/node": "^22.19.
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
58
|
-
"@typescript-eslint/parser": "^8.
|
|
89
|
+
"@types/node": "^22.19.11",
|
|
90
|
+
"@typescript-eslint/eslint-plugin": "^8.55.0",
|
|
91
|
+
"@typescript-eslint/parser": "^8.55.0",
|
|
59
92
|
"@vitest/coverage-v8": "^3.2.4",
|
|
60
93
|
"better-auth": "^1.4.18",
|
|
61
|
-
"eslint": "^
|
|
62
|
-
"eslint-plugin-import": "^
|
|
94
|
+
"eslint": "^10.0.0",
|
|
95
|
+
"eslint-plugin-import-x": "^4.16.1",
|
|
96
|
+
"eslint-plugin-unicorn": "^63.0.0",
|
|
97
|
+
"eslint-plugin-promise": "^7.2.1",
|
|
63
98
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
64
99
|
"husky": "^9.1.7",
|
|
65
100
|
"lint-staged": "^16.2.7",
|
|
66
101
|
"publint": "^0.3.17",
|
|
67
102
|
"tsdown": "^0.20.3",
|
|
68
103
|
"typescript": "^5.9.3",
|
|
104
|
+
"typescript-eslint": "^8.55.0",
|
|
69
105
|
"vitest": "^3.2.4"
|
|
70
106
|
},
|
|
71
107
|
"lint-staged": {
|
|
72
108
|
"*.{ts,tsx}": [
|
|
73
109
|
"bash -c 'pnpm tsc --noEmit'",
|
|
110
|
+
"eslint --fix",
|
|
74
111
|
"vitest related --run"
|
|
75
112
|
]
|
|
76
113
|
},
|
|
@@ -80,6 +117,7 @@
|
|
|
80
117
|
"test": "vitest run",
|
|
81
118
|
"test:integration": "RUN_INTEGRATION_TESTS=1 vitest run",
|
|
82
119
|
"coverage": "vitest run --coverage",
|
|
120
|
+
"lint": "eslint src examples/tanstack",
|
|
83
121
|
"lint:package": "publint run --strict",
|
|
84
122
|
"lint:types": "attw --profile esm-only --pack .",
|
|
85
123
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types--kIktPs7.d.mts","names":["GenericEndpointContext","InferOptionSchema","Session","User","createPaystack","organization","subscriptions","user","PaystackNodeClient","ReturnType","PaystackOpenApiFetchResponse","T","Response","data","error","response","PaystackApiResult","Promise","NonNullableInit","Exclude","ExtractBody","body","B","WithMetadataStringOrObject","Omit","Record","metadata","WithMetadataObject","WithEmail","email","CustomerCreateInit","Parameters","CustomerUpdateInit","TransactionInitializeInit","SubscriptionCreateInit","SubscriptionToggleInit","PaystackCustomerCreateInput","PaystackCustomerUpdateInput","PaystackTransactionInitializeInput","PaystackSubscriptionCreateInput","PaystackSubscriptionToggleInput","PaystackSubscriptionFetchInit","params","path","code","id_or_code","PaystackClientLike","Partial","subscription_manage_link","customer","create","update","transaction","initialize","verify","reference","subscription","fetch","idOrCode","disable","enable","manage","link","NoInfer","AuthSession","session","PaystackPlan","Subscription","name","planCode","amount","currency","interval","description","features","invoiceLimit","limits","freeTrial","days","onTrialStart","onTrialEnd","ctx","onTrialExpired","PaystackProduct","PaystackTransaction","Date","id","paystackId","referenceId","userId","status","plan","createdAt","updatedAt","InputPaystackTransaction","paystackCustomerCode","paystackSubscriptionCode","paystackTransactionReference","periodStart","periodEnd","trialStart","trialEnd","cancelAtPeriodEnd","groupId","seats","InputSubscription","SubscriptionOptions","plans","requireEmailVerification","authorizeReference","action","onSubscriptionComplete","event","onSubscriptionUpdate","onSubscriptionCreated","onSubscriptionCancel","onSubscriptionDelete","ProductOptions","products","OrganizationOptions","enabled","createCustomerOnOrganizationCreate","onCustomerCreate","paystackCustomer","getCustomerCreateParams","PaystackOptions","TPaystackClient","paystackClient","paystackWebhookSecret","createCustomerOnSignUp","onEvent","schema","Organization","slug","key","Member","organizationId","role"],"sources":["../src/schema.ts","../src/types.d.ts"],"mappings":"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"}
|