@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.
@@ -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 };