@paykit-sdk/paystack 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +4783 -0
- package/dist/index.mjs +4779 -0
- package/dist/paystack-provider.d.mts +52 -0
- package/dist/paystack-provider.d.ts +52 -0
- package/dist/paystack-provider.js +4765 -0
- package/dist/paystack-provider.mjs +4763 -0
- package/dist/schema.d.mts +917 -0
- package/dist/schema.d.ts +917 -0
- package/dist/schema.js +2 -0
- package/dist/schema.mjs +1 -0
- package/dist/utils/mapper.d.mts +14 -0
- package/dist/utils/mapper.d.ts +14 -0
- package/dist/utils/mapper.js +171 -0
- package/dist/utils/mapper.mjs +164 -0
- package/package.json +41 -0
|
@@ -0,0 +1,917 @@
|
|
|
1
|
+
interface PaystackResponse<T = unknown> {
|
|
2
|
+
/**
|
|
3
|
+
* Whether the request was successful
|
|
4
|
+
*/
|
|
5
|
+
status: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* The message of the response
|
|
8
|
+
*/
|
|
9
|
+
message: string;
|
|
10
|
+
/**
|
|
11
|
+
* The data of the response
|
|
12
|
+
*/
|
|
13
|
+
data: T;
|
|
14
|
+
}
|
|
15
|
+
interface PaystackWebhookEvent<T extends string = string, D = Record<string, unknown>> {
|
|
16
|
+
event: T;
|
|
17
|
+
data: D;
|
|
18
|
+
}
|
|
19
|
+
interface PaystackAuthorization {
|
|
20
|
+
/**
|
|
21
|
+
* The authorization code of the authorization
|
|
22
|
+
*/
|
|
23
|
+
authorization_code: string;
|
|
24
|
+
/**
|
|
25
|
+
* The bin of the authorization
|
|
26
|
+
*/
|
|
27
|
+
bin: string;
|
|
28
|
+
/**
|
|
29
|
+
* The last 4 digits of the authorization
|
|
30
|
+
*/
|
|
31
|
+
last4: string;
|
|
32
|
+
/**
|
|
33
|
+
* The expiration month of the authorization
|
|
34
|
+
*/
|
|
35
|
+
exp_month: string;
|
|
36
|
+
/**
|
|
37
|
+
* The expiration year of the authorization
|
|
38
|
+
*/
|
|
39
|
+
exp_year: string;
|
|
40
|
+
/**
|
|
41
|
+
* The channel of the authorization
|
|
42
|
+
*/
|
|
43
|
+
channel: string;
|
|
44
|
+
/**
|
|
45
|
+
* The type of the card of the authorization
|
|
46
|
+
*/
|
|
47
|
+
card_type: string;
|
|
48
|
+
/**
|
|
49
|
+
* The bank of the authorization
|
|
50
|
+
*/
|
|
51
|
+
bank: string;
|
|
52
|
+
/**
|
|
53
|
+
* The country code of the authorization
|
|
54
|
+
*/
|
|
55
|
+
country_code: string | null;
|
|
56
|
+
/**
|
|
57
|
+
* The brand of the authorization
|
|
58
|
+
*/
|
|
59
|
+
brand: string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the authorization is reusable
|
|
62
|
+
*/
|
|
63
|
+
reusable: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The signature of the authorization
|
|
66
|
+
*/
|
|
67
|
+
signature: string;
|
|
68
|
+
/**
|
|
69
|
+
* The account name of the authorization
|
|
70
|
+
*/
|
|
71
|
+
account_name?: string | null;
|
|
72
|
+
}
|
|
73
|
+
interface PaystackCustomer {
|
|
74
|
+
/**
|
|
75
|
+
* The integration of the customer
|
|
76
|
+
*/
|
|
77
|
+
integration: number;
|
|
78
|
+
/**
|
|
79
|
+
* The first name of the customer
|
|
80
|
+
*/
|
|
81
|
+
first_name: string | null;
|
|
82
|
+
/**
|
|
83
|
+
* The last name of the customer
|
|
84
|
+
*/
|
|
85
|
+
last_name: string | null;
|
|
86
|
+
/**
|
|
87
|
+
* The email of the customer
|
|
88
|
+
*/
|
|
89
|
+
email: string;
|
|
90
|
+
/**
|
|
91
|
+
* The phone number of the customer
|
|
92
|
+
*/
|
|
93
|
+
phone: string | null;
|
|
94
|
+
/**
|
|
95
|
+
* The metadata of the customer
|
|
96
|
+
*/
|
|
97
|
+
metadata: Record<string, unknown> | null;
|
|
98
|
+
/**
|
|
99
|
+
* The domain of the customer
|
|
100
|
+
*/
|
|
101
|
+
domain: string;
|
|
102
|
+
/**
|
|
103
|
+
* The customer code of the customer
|
|
104
|
+
*/
|
|
105
|
+
customer_code: string;
|
|
106
|
+
/**
|
|
107
|
+
* The risk action of the customer
|
|
108
|
+
*/
|
|
109
|
+
risk_action: string;
|
|
110
|
+
/**
|
|
111
|
+
* The id of the customer
|
|
112
|
+
*/
|
|
113
|
+
id: number;
|
|
114
|
+
/**
|
|
115
|
+
* The international format phone number of the customer
|
|
116
|
+
*/
|
|
117
|
+
international_format_phone?: string | null;
|
|
118
|
+
/**
|
|
119
|
+
* The created at timestamp of the customer
|
|
120
|
+
*/
|
|
121
|
+
created_at: string;
|
|
122
|
+
/**
|
|
123
|
+
* The updated at timestamp of the customer
|
|
124
|
+
*/
|
|
125
|
+
updated_at: string;
|
|
126
|
+
}
|
|
127
|
+
interface PaystackTransaction {
|
|
128
|
+
/**
|
|
129
|
+
* The id of the transaction
|
|
130
|
+
*/
|
|
131
|
+
id: number;
|
|
132
|
+
/**
|
|
133
|
+
* The domain of the transaction
|
|
134
|
+
*/
|
|
135
|
+
domain: 'test' | 'live';
|
|
136
|
+
/**
|
|
137
|
+
* The status of the transaction
|
|
138
|
+
*/
|
|
139
|
+
status: 'success' | 'failed' | 'pending' | 'abandoned' | 'reversed' | 'queued';
|
|
140
|
+
/**
|
|
141
|
+
* The reference of the transaction
|
|
142
|
+
*/
|
|
143
|
+
reference: string;
|
|
144
|
+
/**
|
|
145
|
+
* The receipt number of the transaction
|
|
146
|
+
*/
|
|
147
|
+
receipt_number: number | null;
|
|
148
|
+
/**
|
|
149
|
+
* The amount of the transaction
|
|
150
|
+
*/
|
|
151
|
+
amount: number;
|
|
152
|
+
/**
|
|
153
|
+
* The message of the transaction
|
|
154
|
+
*/
|
|
155
|
+
message: string | null;
|
|
156
|
+
/**
|
|
157
|
+
* The gateway response of the transaction
|
|
158
|
+
*/
|
|
159
|
+
gateway_response: string;
|
|
160
|
+
/**
|
|
161
|
+
* The paid at timestamp of the transaction
|
|
162
|
+
*/
|
|
163
|
+
paid_at: string | null;
|
|
164
|
+
/**
|
|
165
|
+
* The created at timestamp of the transaction
|
|
166
|
+
*/
|
|
167
|
+
created_at: string;
|
|
168
|
+
/**
|
|
169
|
+
* The channel of the transaction e.g `card`
|
|
170
|
+
*/
|
|
171
|
+
channel: string;
|
|
172
|
+
/**
|
|
173
|
+
* The currency of the transaction e.g `NGN`
|
|
174
|
+
*/
|
|
175
|
+
currency: string;
|
|
176
|
+
/**
|
|
177
|
+
* The IP address of the transaction
|
|
178
|
+
*/
|
|
179
|
+
ip_address: string | null;
|
|
180
|
+
/**
|
|
181
|
+
* The metadata of the transaction
|
|
182
|
+
*/
|
|
183
|
+
metadata: string;
|
|
184
|
+
/**
|
|
185
|
+
* The fees of the transaction
|
|
186
|
+
*/
|
|
187
|
+
fees: number | null;
|
|
188
|
+
/**
|
|
189
|
+
* The customer of the transaction
|
|
190
|
+
*/
|
|
191
|
+
customer: Partial<PaystackCustomer>;
|
|
192
|
+
/**
|
|
193
|
+
* The authorization of the transaction
|
|
194
|
+
*/
|
|
195
|
+
authorization: PaystackAuthorization | null;
|
|
196
|
+
/**
|
|
197
|
+
* The plan of the transaction
|
|
198
|
+
*/
|
|
199
|
+
plan?: PaystackPlan | null;
|
|
200
|
+
/**
|
|
201
|
+
* The subaccount of the transaction
|
|
202
|
+
*/
|
|
203
|
+
subaccount?: Record<string, unknown> | null;
|
|
204
|
+
}
|
|
205
|
+
interface PaystackInitializeResponse {
|
|
206
|
+
/**
|
|
207
|
+
* The authorization URL of the transaction
|
|
208
|
+
*/
|
|
209
|
+
authorization_url: string;
|
|
210
|
+
/**
|
|
211
|
+
* The access code of the transaction
|
|
212
|
+
*/
|
|
213
|
+
access_code: string;
|
|
214
|
+
/**
|
|
215
|
+
* The reference of the transaction
|
|
216
|
+
*/
|
|
217
|
+
reference: string;
|
|
218
|
+
}
|
|
219
|
+
interface PaystackRefund {
|
|
220
|
+
id: number;
|
|
221
|
+
/**
|
|
222
|
+
* The transaction of the refund
|
|
223
|
+
*/
|
|
224
|
+
transaction: number;
|
|
225
|
+
/**
|
|
226
|
+
* The amount of the refund
|
|
227
|
+
*/
|
|
228
|
+
amount: number;
|
|
229
|
+
/**
|
|
230
|
+
* The deducted amount of the refund
|
|
231
|
+
*/
|
|
232
|
+
deducted_amount: number | null;
|
|
233
|
+
/**
|
|
234
|
+
* The currency of the refund e.g `NGN`
|
|
235
|
+
*/
|
|
236
|
+
currency: string;
|
|
237
|
+
/**
|
|
238
|
+
* The channel of the refund e.g `card`
|
|
239
|
+
*/
|
|
240
|
+
channel: string;
|
|
241
|
+
/**
|
|
242
|
+
* Whether the refund is fully deducted
|
|
243
|
+
*/
|
|
244
|
+
fully_deducted: boolean | null;
|
|
245
|
+
/**
|
|
246
|
+
* The refunded at timestamp of the refund
|
|
247
|
+
*/
|
|
248
|
+
refunded_at: string | null;
|
|
249
|
+
/**
|
|
250
|
+
* The expected at timestamp of the refund
|
|
251
|
+
*/
|
|
252
|
+
expected_at: string;
|
|
253
|
+
/**
|
|
254
|
+
* The customer note of the refund
|
|
255
|
+
*/
|
|
256
|
+
customer_note: string;
|
|
257
|
+
/**
|
|
258
|
+
* The merchant note of the refund
|
|
259
|
+
*/
|
|
260
|
+
merchant_note: string;
|
|
261
|
+
/**
|
|
262
|
+
* The created at timestamp of the refund
|
|
263
|
+
*/
|
|
264
|
+
created_at: string;
|
|
265
|
+
/**
|
|
266
|
+
* The updated at timestamp of the refund
|
|
267
|
+
*/
|
|
268
|
+
updated_at: string;
|
|
269
|
+
/**
|
|
270
|
+
* The status of the refund
|
|
271
|
+
*/
|
|
272
|
+
status: 'pending' | 'processing' | 'processed' | 'failed' | 'declined' | 'needs-attention';
|
|
273
|
+
}
|
|
274
|
+
interface PaystackPlan {
|
|
275
|
+
/**
|
|
276
|
+
* The id of the plan
|
|
277
|
+
*/
|
|
278
|
+
id: number;
|
|
279
|
+
/**
|
|
280
|
+
* The code of the plan
|
|
281
|
+
*/
|
|
282
|
+
plan_code: string;
|
|
283
|
+
/**
|
|
284
|
+
* The name of the plan
|
|
285
|
+
*/
|
|
286
|
+
name: string;
|
|
287
|
+
/**
|
|
288
|
+
* The description of the plan
|
|
289
|
+
*/
|
|
290
|
+
description?: string | null;
|
|
291
|
+
/**
|
|
292
|
+
* The amount of the plan
|
|
293
|
+
*/
|
|
294
|
+
amount: number;
|
|
295
|
+
/**
|
|
296
|
+
* The currency of the plan e.g `NGN`
|
|
297
|
+
*/
|
|
298
|
+
currency: string;
|
|
299
|
+
/**
|
|
300
|
+
* The interval of the plan
|
|
301
|
+
*/
|
|
302
|
+
interval: 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'biannually' | 'annually';
|
|
303
|
+
/**
|
|
304
|
+
* Whether to send invoices for the plan
|
|
305
|
+
*/
|
|
306
|
+
send_invoices?: boolean;
|
|
307
|
+
/**
|
|
308
|
+
* Whether to send SMS for the plan
|
|
309
|
+
*/
|
|
310
|
+
send_sms?: boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Whether to use a hosted page for the plan
|
|
313
|
+
*/
|
|
314
|
+
hosted_page?: boolean;
|
|
315
|
+
/**
|
|
316
|
+
* The URL of the hosted page for the plan
|
|
317
|
+
*/
|
|
318
|
+
hosted_page_url?: string | null;
|
|
319
|
+
/**
|
|
320
|
+
* The summary of the hosted page for the plan
|
|
321
|
+
*/
|
|
322
|
+
hosted_page_summary?: string | null;
|
|
323
|
+
}
|
|
324
|
+
interface PaystackSubscription {
|
|
325
|
+
/**
|
|
326
|
+
* The id of the subscription
|
|
327
|
+
*/
|
|
328
|
+
id: number;
|
|
329
|
+
/**
|
|
330
|
+
* The code of the subscription
|
|
331
|
+
*/
|
|
332
|
+
subscription_code: string;
|
|
333
|
+
/**
|
|
334
|
+
* The email token of the subscription
|
|
335
|
+
*/
|
|
336
|
+
email_token: string;
|
|
337
|
+
/**
|
|
338
|
+
* The status of the subscription
|
|
339
|
+
*/
|
|
340
|
+
status: 'active' | 'non-renewing' | 'attention' | 'completed' | 'cancelled';
|
|
341
|
+
/**
|
|
342
|
+
* The amount of the subscription
|
|
343
|
+
*/
|
|
344
|
+
amount: number;
|
|
345
|
+
/**
|
|
346
|
+
* The currency of the subscription e.g `NGN`
|
|
347
|
+
*/
|
|
348
|
+
currency: string;
|
|
349
|
+
/**
|
|
350
|
+
* The quantity of the subscription
|
|
351
|
+
*/
|
|
352
|
+
quantity: number;
|
|
353
|
+
/**
|
|
354
|
+
* The cron expression of the subscription
|
|
355
|
+
*/
|
|
356
|
+
cron_expression: string;
|
|
357
|
+
/**
|
|
358
|
+
* The next payment date of the subscription
|
|
359
|
+
*/
|
|
360
|
+
next_payment_date: string | null;
|
|
361
|
+
/**
|
|
362
|
+
* The number of open invoices for the subscription
|
|
363
|
+
*/
|
|
364
|
+
open_invoices: number;
|
|
365
|
+
/**
|
|
366
|
+
* The invoice limit for the subscription
|
|
367
|
+
*/
|
|
368
|
+
invoice_limit: number;
|
|
369
|
+
/**
|
|
370
|
+
* The created at timestamp of the subscription
|
|
371
|
+
*/
|
|
372
|
+
createdAt: string;
|
|
373
|
+
/**
|
|
374
|
+
* The updated at timestamp of the subscription
|
|
375
|
+
*/
|
|
376
|
+
updatedAt?: string;
|
|
377
|
+
/**
|
|
378
|
+
* The plan of the subscription
|
|
379
|
+
*/
|
|
380
|
+
plan: PaystackPlan;
|
|
381
|
+
/**
|
|
382
|
+
* The customer of the subscription
|
|
383
|
+
*/
|
|
384
|
+
customer: Partial<PaystackCustomer>;
|
|
385
|
+
/**
|
|
386
|
+
* The authorization of the subscription
|
|
387
|
+
*/
|
|
388
|
+
authorization: PaystackAuthorization | null;
|
|
389
|
+
/**
|
|
390
|
+
* The most recent invoice of the subscription
|
|
391
|
+
*/
|
|
392
|
+
most_recent_invoice?: PaystackInvoice | null;
|
|
393
|
+
}
|
|
394
|
+
interface PaystackInvoice {
|
|
395
|
+
id: number;
|
|
396
|
+
/**
|
|
397
|
+
* The domain of the invoice
|
|
398
|
+
*/
|
|
399
|
+
domain: 'test' | 'live';
|
|
400
|
+
/**
|
|
401
|
+
* The code of the invoice
|
|
402
|
+
*/
|
|
403
|
+
invoice_code: string;
|
|
404
|
+
/**
|
|
405
|
+
* The amount of the invoice
|
|
406
|
+
*/
|
|
407
|
+
amount: number;
|
|
408
|
+
/**
|
|
409
|
+
* The start period of the invoice
|
|
410
|
+
*/
|
|
411
|
+
period_start: string;
|
|
412
|
+
/**
|
|
413
|
+
* The end period of the invoice
|
|
414
|
+
*/
|
|
415
|
+
period_end: string;
|
|
416
|
+
/**
|
|
417
|
+
* The status of the invoice
|
|
418
|
+
*/
|
|
419
|
+
status: 'success' | 'failed' | 'pending';
|
|
420
|
+
/**
|
|
421
|
+
* Whether the invoice is paid
|
|
422
|
+
*/
|
|
423
|
+
paid: boolean;
|
|
424
|
+
/**
|
|
425
|
+
* The paid at timestamp of the invoice
|
|
426
|
+
*/
|
|
427
|
+
paid_at: string | null;
|
|
428
|
+
/**
|
|
429
|
+
* The description of the invoice
|
|
430
|
+
*/
|
|
431
|
+
description: string | null;
|
|
432
|
+
/**
|
|
433
|
+
* The authorization of the invoice
|
|
434
|
+
*/
|
|
435
|
+
authorization: PaystackAuthorization | null;
|
|
436
|
+
/**
|
|
437
|
+
* The subscription code of the invoice
|
|
438
|
+
*/
|
|
439
|
+
subscription: string;
|
|
440
|
+
/**
|
|
441
|
+
* The customer of the invoice
|
|
442
|
+
*/
|
|
443
|
+
customer: Partial<PaystackCustomer>;
|
|
444
|
+
/**
|
|
445
|
+
* The transaction of the invoice
|
|
446
|
+
*/
|
|
447
|
+
transaction: PaystackTransaction | null;
|
|
448
|
+
/**
|
|
449
|
+
* The created at timestamp of the invoice
|
|
450
|
+
*/
|
|
451
|
+
created_at: string;
|
|
452
|
+
/**
|
|
453
|
+
* The updated at timestamp of the invoice
|
|
454
|
+
*/
|
|
455
|
+
updated_at: string;
|
|
456
|
+
}
|
|
457
|
+
interface PaystackTransferRecipient {
|
|
458
|
+
/**
|
|
459
|
+
* The domain of the transfer recipient
|
|
460
|
+
*/
|
|
461
|
+
domain: 'test' | 'live';
|
|
462
|
+
/**
|
|
463
|
+
* The type of the transfer recipient
|
|
464
|
+
*/
|
|
465
|
+
type: string;
|
|
466
|
+
/**
|
|
467
|
+
* The currency of the transfer recipient
|
|
468
|
+
*/
|
|
469
|
+
currency: string;
|
|
470
|
+
/**
|
|
471
|
+
* The name of the transfer recipient
|
|
472
|
+
*/
|
|
473
|
+
name: string;
|
|
474
|
+
/**
|
|
475
|
+
* The details of the transfer recipient
|
|
476
|
+
*/
|
|
477
|
+
details: {
|
|
478
|
+
/**
|
|
479
|
+
* The account number of the transfer recipient
|
|
480
|
+
*/
|
|
481
|
+
account_number: string;
|
|
482
|
+
/**
|
|
483
|
+
* The account name of the transfer recipient
|
|
484
|
+
*/
|
|
485
|
+
account_name: string | null;
|
|
486
|
+
/**
|
|
487
|
+
* The bank code of the transfer recipient
|
|
488
|
+
*/
|
|
489
|
+
bank_code: string;
|
|
490
|
+
/**
|
|
491
|
+
* The bank name of the transfer recipient
|
|
492
|
+
*/
|
|
493
|
+
bank_name: string;
|
|
494
|
+
};
|
|
495
|
+
/**
|
|
496
|
+
* The description of the transfer recipient
|
|
497
|
+
*/
|
|
498
|
+
description: string | null;
|
|
499
|
+
/**
|
|
500
|
+
* The metadata of the transfer recipient
|
|
501
|
+
*/
|
|
502
|
+
metadata: Record<string, unknown> | null;
|
|
503
|
+
/**
|
|
504
|
+
* The recipient code of the transfer recipient
|
|
505
|
+
*/
|
|
506
|
+
recipient_code: string;
|
|
507
|
+
/**
|
|
508
|
+
* Whether the transfer recipient is active
|
|
509
|
+
*/
|
|
510
|
+
active: boolean;
|
|
511
|
+
}
|
|
512
|
+
interface PaystackTransfer {
|
|
513
|
+
/**
|
|
514
|
+
* The id of the transfer
|
|
515
|
+
*/
|
|
516
|
+
id: number;
|
|
517
|
+
/**
|
|
518
|
+
* The domain of the transfer
|
|
519
|
+
*/
|
|
520
|
+
domain: 'test' | 'live';
|
|
521
|
+
/**
|
|
522
|
+
* The amount of the transfer
|
|
523
|
+
*/
|
|
524
|
+
amount: number;
|
|
525
|
+
/**
|
|
526
|
+
* The currency of the transfer e.g `NGN`
|
|
527
|
+
*/
|
|
528
|
+
currency: string;
|
|
529
|
+
/**
|
|
530
|
+
* The source of the transfer
|
|
531
|
+
*/
|
|
532
|
+
source: string;
|
|
533
|
+
/**
|
|
534
|
+
* The source details of the transfer
|
|
535
|
+
*/
|
|
536
|
+
source_details: Record<string, unknown> | null;
|
|
537
|
+
/**
|
|
538
|
+
* The reason of the transfer
|
|
539
|
+
*/
|
|
540
|
+
reason: string | null;
|
|
541
|
+
/**
|
|
542
|
+
* The reference of the transfer
|
|
543
|
+
*/
|
|
544
|
+
reference: string;
|
|
545
|
+
/**
|
|
546
|
+
* The recipient of the transfer
|
|
547
|
+
*/
|
|
548
|
+
recipient: PaystackTransferRecipient;
|
|
549
|
+
/**
|
|
550
|
+
* The status of the transfer
|
|
551
|
+
*/
|
|
552
|
+
status: 'success' | 'failed' | 'reversed' | 'pending';
|
|
553
|
+
/**
|
|
554
|
+
* The transfer code of the transfer
|
|
555
|
+
*/
|
|
556
|
+
transfer_code: string;
|
|
557
|
+
/**
|
|
558
|
+
* The transferred at timestamp of the transfer
|
|
559
|
+
*/
|
|
560
|
+
transferred_at: string | null;
|
|
561
|
+
/**
|
|
562
|
+
* The created at timestamp of the transfer
|
|
563
|
+
*/
|
|
564
|
+
created_at: string;
|
|
565
|
+
/**
|
|
566
|
+
* The updated at timestamp of the transfer
|
|
567
|
+
*/
|
|
568
|
+
updated_at?: string;
|
|
569
|
+
}
|
|
570
|
+
interface PaystackPaymentRequest {
|
|
571
|
+
/**
|
|
572
|
+
* The id of the payment request
|
|
573
|
+
*/
|
|
574
|
+
id: number;
|
|
575
|
+
/**
|
|
576
|
+
* The domain of the payment request
|
|
577
|
+
*/
|
|
578
|
+
domain: 'test' | 'live';
|
|
579
|
+
/**
|
|
580
|
+
* The amount of the payment request
|
|
581
|
+
*/
|
|
582
|
+
amount: number;
|
|
583
|
+
/**
|
|
584
|
+
* The currency of the payment request e.g `NGN`
|
|
585
|
+
*/
|
|
586
|
+
currency: string;
|
|
587
|
+
/**
|
|
588
|
+
* The due date of the payment request
|
|
589
|
+
*/
|
|
590
|
+
due_date: string | null;
|
|
591
|
+
/**
|
|
592
|
+
* Whether the payment request has an invoice
|
|
593
|
+
*/
|
|
594
|
+
has_invoice: boolean;
|
|
595
|
+
/**
|
|
596
|
+
* The invoice number of the payment request
|
|
597
|
+
*/
|
|
598
|
+
invoice_number: number | null;
|
|
599
|
+
/**
|
|
600
|
+
* The description of the payment request
|
|
601
|
+
*/
|
|
602
|
+
description: string | null;
|
|
603
|
+
/**
|
|
604
|
+
* The PDF URL of the payment request
|
|
605
|
+
*/
|
|
606
|
+
pdf_url: string | null;
|
|
607
|
+
/**
|
|
608
|
+
* The line items of the payment request
|
|
609
|
+
*/
|
|
610
|
+
line_items: Array<{
|
|
611
|
+
/**
|
|
612
|
+
* The name of the line item
|
|
613
|
+
*/
|
|
614
|
+
name: string;
|
|
615
|
+
/**
|
|
616
|
+
* The amount of the line item
|
|
617
|
+
*/
|
|
618
|
+
amount: number;
|
|
619
|
+
/**
|
|
620
|
+
* The quantity of the line item
|
|
621
|
+
*/
|
|
622
|
+
quantity: number;
|
|
623
|
+
}>;
|
|
624
|
+
tax: Array<{
|
|
625
|
+
/**
|
|
626
|
+
* The name of the tax
|
|
627
|
+
*/
|
|
628
|
+
name: string;
|
|
629
|
+
/**
|
|
630
|
+
* The amount of the tax
|
|
631
|
+
*/
|
|
632
|
+
amount: number;
|
|
633
|
+
}>;
|
|
634
|
+
/**
|
|
635
|
+
* The request code of the payment request
|
|
636
|
+
*/
|
|
637
|
+
request_code: string;
|
|
638
|
+
/**
|
|
639
|
+
* The status of the payment request
|
|
640
|
+
*/
|
|
641
|
+
status: 'pending' | 'success' | 'failed';
|
|
642
|
+
/**
|
|
643
|
+
* Whether the payment request is paid
|
|
644
|
+
*/
|
|
645
|
+
paid: boolean;
|
|
646
|
+
/**
|
|
647
|
+
* The paid at timestamp of the payment request
|
|
648
|
+
*/
|
|
649
|
+
paid_at: string | null;
|
|
650
|
+
/**
|
|
651
|
+
* The metadata of the payment request
|
|
652
|
+
*/
|
|
653
|
+
metadata: Record<string, unknown> | null;
|
|
654
|
+
/**
|
|
655
|
+
* The customer of the payment request
|
|
656
|
+
*/
|
|
657
|
+
customer: Partial<PaystackCustomer>;
|
|
658
|
+
/**
|
|
659
|
+
* The created at timestamp of the payment request
|
|
660
|
+
*/
|
|
661
|
+
created_at: string;
|
|
662
|
+
/**
|
|
663
|
+
* The updated at timestamp of the payment request
|
|
664
|
+
*/
|
|
665
|
+
updated_at: string;
|
|
666
|
+
}
|
|
667
|
+
interface PaystackDVAAssignment {
|
|
668
|
+
/**
|
|
669
|
+
* The id of the customer
|
|
670
|
+
*/
|
|
671
|
+
customer_id: number;
|
|
672
|
+
/**
|
|
673
|
+
* The customer code of the customer
|
|
674
|
+
*/
|
|
675
|
+
customer_code: string;
|
|
676
|
+
/**
|
|
677
|
+
* The email of the customer
|
|
678
|
+
*/
|
|
679
|
+
email: string;
|
|
680
|
+
/**
|
|
681
|
+
* The dedicated account of the customer
|
|
682
|
+
*/
|
|
683
|
+
dedicated_account: {
|
|
684
|
+
/**
|
|
685
|
+
* The bank of the dedicated account
|
|
686
|
+
*/
|
|
687
|
+
bank: {
|
|
688
|
+
/**
|
|
689
|
+
* The id of the bank
|
|
690
|
+
*/
|
|
691
|
+
id: number;
|
|
692
|
+
/**
|
|
693
|
+
* The name of the bank
|
|
694
|
+
*/
|
|
695
|
+
name: string;
|
|
696
|
+
/**
|
|
697
|
+
* The slug of the bank
|
|
698
|
+
*/
|
|
699
|
+
slug: string;
|
|
700
|
+
};
|
|
701
|
+
/**
|
|
702
|
+
* The account name of the dedicated account
|
|
703
|
+
*/
|
|
704
|
+
account_name: string;
|
|
705
|
+
/**
|
|
706
|
+
* The account number of the dedicated account
|
|
707
|
+
*/
|
|
708
|
+
account_number: string;
|
|
709
|
+
/**
|
|
710
|
+
* Whether the dedicated account is assigned
|
|
711
|
+
*/
|
|
712
|
+
assigned: boolean;
|
|
713
|
+
/**
|
|
714
|
+
* The currency of the dedicated account
|
|
715
|
+
*/
|
|
716
|
+
currency: string;
|
|
717
|
+
/**
|
|
718
|
+
* The metadata of the dedicated account
|
|
719
|
+
*/
|
|
720
|
+
metadata: Record<string, unknown> | null;
|
|
721
|
+
/**
|
|
722
|
+
* Whether the dedicated account is active
|
|
723
|
+
*/
|
|
724
|
+
active: boolean;
|
|
725
|
+
/**
|
|
726
|
+
* The id of the dedicated account
|
|
727
|
+
*/
|
|
728
|
+
id: number;
|
|
729
|
+
} | null;
|
|
730
|
+
/**
|
|
731
|
+
* The identification of the customer
|
|
732
|
+
*/
|
|
733
|
+
identification: {
|
|
734
|
+
/**
|
|
735
|
+
* The country of the identification
|
|
736
|
+
*/
|
|
737
|
+
country: string;
|
|
738
|
+
/**
|
|
739
|
+
* The type of the identification
|
|
740
|
+
*/
|
|
741
|
+
type: string;
|
|
742
|
+
/**
|
|
743
|
+
* The BVN of the identification
|
|
744
|
+
*/
|
|
745
|
+
bvn?: string;
|
|
746
|
+
/**
|
|
747
|
+
* The account number of the identification
|
|
748
|
+
*/
|
|
749
|
+
account_number?: string;
|
|
750
|
+
/**
|
|
751
|
+
* The bank code of the identification
|
|
752
|
+
*/
|
|
753
|
+
bank_code?: string;
|
|
754
|
+
} | null;
|
|
755
|
+
/**
|
|
756
|
+
* The reason of the identification
|
|
757
|
+
*/
|
|
758
|
+
reason?: string;
|
|
759
|
+
}
|
|
760
|
+
interface PaystackCustomerIdentification {
|
|
761
|
+
/**
|
|
762
|
+
* The id of the customer
|
|
763
|
+
*/
|
|
764
|
+
customer_id: number;
|
|
765
|
+
/**
|
|
766
|
+
* The customer code of the customer
|
|
767
|
+
*/
|
|
768
|
+
customer_code: string;
|
|
769
|
+
/**
|
|
770
|
+
* The email of the customer
|
|
771
|
+
*/
|
|
772
|
+
email: string;
|
|
773
|
+
/**
|
|
774
|
+
* The identification of the customer
|
|
775
|
+
*/
|
|
776
|
+
identification: {
|
|
777
|
+
/**
|
|
778
|
+
* The country of the identification
|
|
779
|
+
*/
|
|
780
|
+
country: string;
|
|
781
|
+
/**
|
|
782
|
+
* The type of the identification
|
|
783
|
+
*/
|
|
784
|
+
type: string;
|
|
785
|
+
/**
|
|
786
|
+
* The BVN of the identification
|
|
787
|
+
*/
|
|
788
|
+
bvn?: string;
|
|
789
|
+
/**
|
|
790
|
+
* The account number of the identification
|
|
791
|
+
*/
|
|
792
|
+
account_number?: string;
|
|
793
|
+
/**
|
|
794
|
+
* The bank code of the identification
|
|
795
|
+
*/
|
|
796
|
+
bank_code?: string;
|
|
797
|
+
};
|
|
798
|
+
reason?: string;
|
|
799
|
+
}
|
|
800
|
+
interface PaystackDispute {
|
|
801
|
+
/**
|
|
802
|
+
* The id of the dispute
|
|
803
|
+
*/
|
|
804
|
+
id: number;
|
|
805
|
+
/**
|
|
806
|
+
* The refund amount of the dispute
|
|
807
|
+
*/
|
|
808
|
+
refund_amount: number | null;
|
|
809
|
+
/**
|
|
810
|
+
* The currency of the dispute
|
|
811
|
+
*/
|
|
812
|
+
currency: string | null;
|
|
813
|
+
/**
|
|
814
|
+
* The status of the dispute
|
|
815
|
+
*/
|
|
816
|
+
status: 'awaiting-merchant-feedback' | 'awaiting-bank-feedback' | 'pending' | 'resolved';
|
|
817
|
+
/**
|
|
818
|
+
* The resolution of the dispute
|
|
819
|
+
*/
|
|
820
|
+
resolution: string | null;
|
|
821
|
+
/**
|
|
822
|
+
* The domain of the dispute
|
|
823
|
+
*/
|
|
824
|
+
domain: 'test' | 'live';
|
|
825
|
+
/**
|
|
826
|
+
* The transaction of the dispute
|
|
827
|
+
*/
|
|
828
|
+
transaction: PaystackTransaction;
|
|
829
|
+
/**
|
|
830
|
+
* The created at timestamp of the dispute
|
|
831
|
+
*/
|
|
832
|
+
created_at: string;
|
|
833
|
+
/**
|
|
834
|
+
* The updated at timestamp of the dispute
|
|
835
|
+
*/
|
|
836
|
+
updated_at: string;
|
|
837
|
+
/**
|
|
838
|
+
* The due at timestamp of the dispute
|
|
839
|
+
*/
|
|
840
|
+
due_at: string | null;
|
|
841
|
+
}
|
|
842
|
+
interface PaystackExpiringCard {
|
|
843
|
+
/**
|
|
844
|
+
* The expiry date of the expiring card
|
|
845
|
+
*/
|
|
846
|
+
expiry_date: string;
|
|
847
|
+
/**
|
|
848
|
+
* The description of the expiring card
|
|
849
|
+
*/
|
|
850
|
+
description: string;
|
|
851
|
+
/**
|
|
852
|
+
* The brand of the expiring card
|
|
853
|
+
*/
|
|
854
|
+
brand: string;
|
|
855
|
+
/**
|
|
856
|
+
* The last 4 digits of the expiring card
|
|
857
|
+
*/
|
|
858
|
+
last4: string;
|
|
859
|
+
/**
|
|
860
|
+
* The subscription of the expiring card
|
|
861
|
+
*/
|
|
862
|
+
subscription: {
|
|
863
|
+
/**
|
|
864
|
+
* The id of the subscription
|
|
865
|
+
*/
|
|
866
|
+
id: number;
|
|
867
|
+
/**
|
|
868
|
+
* The subscription code of the subscription
|
|
869
|
+
*/
|
|
870
|
+
subscription_code: string;
|
|
871
|
+
/**
|
|
872
|
+
* The amount of the subscription
|
|
873
|
+
*/
|
|
874
|
+
amount: number;
|
|
875
|
+
/**
|
|
876
|
+
* The next payment date of the subscription
|
|
877
|
+
*/
|
|
878
|
+
next_payment_date: string;
|
|
879
|
+
/**
|
|
880
|
+
* The plan of the subscription
|
|
881
|
+
*/
|
|
882
|
+
plan: PaystackPlan;
|
|
883
|
+
/**
|
|
884
|
+
* The customer of the subscription
|
|
885
|
+
*/
|
|
886
|
+
customer: Partial<PaystackCustomer>;
|
|
887
|
+
};
|
|
888
|
+
}
|
|
889
|
+
type PaystackRawEvents = {
|
|
890
|
+
'paystack.charge.success': PaystackTransaction;
|
|
891
|
+
'paystack.charge.dispute.create': PaystackDispute;
|
|
892
|
+
'paystack.charge.dispute.remind': PaystackDispute;
|
|
893
|
+
'paystack.charge.dispute.resolve': PaystackDispute;
|
|
894
|
+
'paystack.customeridentification.success': PaystackCustomerIdentification;
|
|
895
|
+
'paystack.customeridentification.failed': PaystackCustomerIdentification;
|
|
896
|
+
'paystack.dedicatedaccount.assign.success': PaystackDVAAssignment;
|
|
897
|
+
'paystack.dedicatedaccount.assign.failed': PaystackDVAAssignment;
|
|
898
|
+
'paystack.invoice.create': PaystackInvoice;
|
|
899
|
+
'paystack.invoice.update': PaystackInvoice;
|
|
900
|
+
'paystack.invoice.payment_failed': PaystackInvoice;
|
|
901
|
+
'paystack.paymentrequest.pending': PaystackPaymentRequest;
|
|
902
|
+
'paystack.paymentrequest.success': PaystackPaymentRequest;
|
|
903
|
+
'paystack.refund.failed': PaystackRefund;
|
|
904
|
+
'paystack.refund.pending': PaystackRefund;
|
|
905
|
+
'paystack.refund.processed': PaystackRefund;
|
|
906
|
+
'paystack.refund.processing': PaystackRefund;
|
|
907
|
+
'paystack.subscription.create': PaystackSubscription;
|
|
908
|
+
'paystack.subscription.enable': PaystackSubscription;
|
|
909
|
+
'paystack.subscription.disable': PaystackSubscription;
|
|
910
|
+
'paystack.subscription.not_renew': PaystackSubscription;
|
|
911
|
+
'paystack.subscription.expiring_cards': PaystackExpiringCard[];
|
|
912
|
+
'paystack.transfer.success': PaystackTransfer;
|
|
913
|
+
'paystack.transfer.failed': PaystackTransfer;
|
|
914
|
+
'paystack.transfer.reversed': PaystackTransfer;
|
|
915
|
+
};
|
|
916
|
+
|
|
917
|
+
export type { PaystackAuthorization, PaystackCustomer, PaystackCustomerIdentification, PaystackDVAAssignment, PaystackDispute, PaystackExpiringCard, PaystackInitializeResponse, PaystackInvoice, PaystackPaymentRequest, PaystackPlan, PaystackRawEvents, PaystackRefund, PaystackResponse, PaystackSubscription, PaystackTransaction, PaystackTransfer, PaystackTransferRecipient, PaystackWebhookEvent };
|