1+ openapi : 3.0.1
2+ info :
3+ title : Paystack
4+ description : >-
5+ The OpenAPI specification of the Paystack API that
6+ merchants and developers can harness to build financial solutions
7+ in Africa.
8+ version : 1.0.0
9+ servers :
10+ - url : https://api.paystack.co
11+ description : Base API endpoint
12+ tags :
13+ - name : Transaction
14+ - name : Split
15+ - name : Customer
16+ - name : Dedicated Virtual Account
17+ - name : Subaccount
18+ - name : Plan
19+ - name : Subscription
20+ - name : Product
21+ - name : Page
22+ - name : Payment Request
23+ - name : Settlement
24+ - name : Transfer Recipient
25+ - name : Transfer
26+ - name : Balance
27+ - name : Charge
28+ - name : Bulk Charge
29+ - name : Integration
30+ - name : Refund
31+ - name : Dispute
32+ - name : Verification
33+ paths :
34+ /transaction/initialize :
35+ $ref : ' ./resources/transaction/initialize.yaml'
36+ /transaction/verify/{reference} :
37+ $ref : ' ./resources/transaction/verify.yaml'
38+ /transaction :
39+ $ref : ' ./resources/transaction/list.yaml'
40+ /transaction/{id} :
41+ $ref : ' ./resources/transaction/fetch.yaml'
42+ /transaction/timeline/{id_or_reference} :
43+ $ref : ' ./resources/transaction/timeline.yaml'
44+ /transaction/totals :
45+ $ref : ' ./resources/transaction/totals.yaml'
46+ /transaction/export :
47+ $ref : ' ./resources/transaction/export.yaml'
48+ /transaction/charge_authorization :
49+ $ref : ' ./resources/transaction/charge-authorization.yaml'
50+ /transaction/check_authorization :
51+ $ref : ' ./resources/transaction/check-authorization.yaml'
52+ /transaction/partial_debit :
53+ $ref : ' ./resources/transaction/partial-debit.yaml'
54+ /transaction/{id}/event :
55+ $ref : ' ./resources/transaction/event.yaml'
56+ /transaction/{id}/session :
57+ $ref : ' ./resources/transaction/session.yaml'
58+ /split :
59+ $ref : ' ./resources/split/index.yaml'
60+ /split/{id} :
61+ $ref : ' ./resources/split/split-id.yaml'
62+ /split/{id}/subaccount/add :
63+ $ref : ' ./resources/split/add-subaccount.yaml'
64+ /split/{id}/subaccount/remove :
65+ $ref : ' ./resources/split/remove-subaccount.yaml'
66+ /customer :
67+ $ref : ' ./resources/customer/index.yaml'
68+ /customer/{code} :
69+ $ref : ' ./resources/customer/customer-code.yaml'
70+ /customer/set_risk_action :
71+ $ref : ' ./resources/customer/risk-action.yaml'
72+ /customer/deactivate_authorization :
73+ $ref : ' ./resources/customer/authorization.yaml'
74+ /customer/{code}/identification :
75+ $ref : ' ./resources/customer/identification.yaml'
76+ /dedicated_account :
77+ $ref : ' ./resources/dedicated-virtual-account/index.yaml'
78+ /dedicated_account/{account_id} :
79+ $ref : ' ./resources/dedicated-virtual-account/account-id.yaml'
80+ /dedicated_account/available_providers :
81+ $ref : ' ./resources/dedicated-virtual-account/providers.yaml'
82+ /dedicated_account/split :
83+ $ref : ' ./resources/dedicated-virtual-account/add-split.yaml'
84+ /subaccount :
85+ $ref : ' ./resources/subaccount/index.yaml'
86+ /subaccount/{code} :
87+ $ref : ' ./resources/subaccount/subaccount-code.yaml'
88+ /plan :
89+ $ref : ' ./resources/plan/index.yaml'
90+ /plan/{code} :
91+ $ref : ' ./resources/plan/plan-code.yaml'
92+ /subscription :
93+ $ref : ' ./resources/subscription/index.yaml'
94+ /subscription/{code} :
95+ $ref : ' ./resources/subscription/subscription-code.yaml'
96+ /subscription/disable :
97+ $ref : ' ./resources/subscription/disable.yaml'
98+ /subscription/enable :
99+ $ref : ' ./resources/subscription/enable.yaml'
100+ /subscription/{code}/manage/link :
101+ $ref : ' ./resources/subscription/manage-link.yaml'
102+ /subscription/{code}/manage/email :
103+ $ref : ' ./resources/subscription/manage-email.yaml'
104+ /product :
105+ $ref : ' ./resources/product/index.yaml'
106+ /product/{id} :
107+ $ref : ' ./resources/product/product-id.yaml'
108+ /page :
109+ $ref : ' ./resources/page/index.yaml'
110+ /page/{id} :
111+ $ref : ' ./resources/page/page-id.yaml'
112+ /page/check_slug_availability/{slug} :
113+ $ref : ' ./resources/page/slug-availability.yaml'
114+ /page/{id}/product :
115+ $ref : ' ./resources/page/product.yaml'
116+ /paymentrequest :
117+ $ref : ' ./resources/payment-request/index.yaml'
118+ /paymentrequest/{id} :
119+ $ref : ' ./resources/payment-request/payment-request-id.yaml'
120+ /paymentrequest/verify/{id} :
121+ $ref : ' ./resources/payment-request/verify.yaml'
122+ /paymentrequest/notify/{id} :
123+ $ref : ' ./resources/payment-request/notify.yaml'
124+ /paymentrequest/totals :
125+ $ref : ' ./resources/payment-request/totals.yaml'
126+ /paymentrequest/finalize/{id} :
127+ $ref : ' ./resources/payment-request/finalize.yaml'
128+ /paymentrequest/archive/{id} :
129+ $ref : ' ./resources/payment-request/archive.yaml'
130+ /settlement :
131+ $ref : ' ./resources/settlement/fetch.yaml'
132+ /settlement/{id}/transaction :
133+ $ref : ' ./resources/settlement/transaction.yaml'
134+ /transferrecipient :
135+ $ref : ' ./resources/transfer-recipient/index.yaml'
136+ /transferrecipient/bulk :
137+ $ref : ' ./resources/transfer-recipient/bulk.yaml'
138+ /transferrecipient/{code} :
139+ $ref : ' ./resources/transfer-recipient/transfer-recipient-code.yaml'
140+ /transfer :
141+ $ref : ' ./resources/transfer/index.yaml'
142+ /transfer/finalize_transfer :
143+ $ref : ' ./resources/transfer/finalize.yaml'
144+ /transfer/bulk :
145+ $ref : ' ./resources/transfer/bulk.yaml'
146+ /transfer/{code} :
147+ $ref : ' ./resources/transfer/transfer-code.yaml'
148+ /transfer/verify/{reference} :
149+ $ref : ' ./resources/transfer/verify.yaml'
150+ /transfer/export :
151+ $ref : ' ./resources/transfer/export.yaml'
152+ /transfer/resend_otp :
153+ $ref : ' ./resources/transfer/resend-otp.yaml'
154+ /transfer/disable_otp :
155+ $ref : ' ./resources/transfer/disable-otp.yaml'
156+ /transfer/disable_otp_finalize :
157+ $ref : ' ./resources/transfer/disable-otp-finalize.yaml'
158+ /transfer/enable_otp :
159+ $ref : ' ./resources/transfer/enable-otp.yaml'
160+ /balance :
161+ $ref : ' ./resources/balance/fetch.yaml'
162+ /balance/ledger :
163+ $ref : ' ./resources/balance/ledger.yaml'
164+ /charge :
165+ $ref : ' ./resources/charge/create.yaml'
166+ /charge/submit_pin :
167+ $ref : ' ./resources/charge/submit-pin.yaml'
168+ /charge/submit_otp :
169+ $ref : ' ./resources/charge/submit-otp.yaml'
170+ /charge/submit_phone :
171+ $ref : ' ./resources/charge/submit-phone.yaml'
172+ /charge/submit_birthday :
173+ $ref : ' ./resources/charge/submit-birthday.yaml'
174+ /charge/submit_address :
175+ $ref : ' ./resources/charge/submit-address.yaml'
176+ /charge/{reference} :
177+ $ref : ' ./resources/charge/reference.yaml'
178+ /bulkcharge :
179+ $ref : ' ./resources/bulk-charge/index.yaml'
180+ /bulkcharge/{code} :
181+ $ref : ' ./resources/bulk-charge/fetch.yaml'
182+ /bulkcharge/{code}/charges :
183+ $ref : ' ./resources/bulk-charge/charges.yaml'
184+ /bulkcharge/pause/{code} :
185+ $ref : ' ./resources/bulk-charge/pause.yaml'
186+ /bulkcharge/resume/{code} :
187+ $ref : ' ./resources/bulk-charge/resume-charge.yaml'
188+ /integration/payment_session_timeout :
189+ $ref : ' ./resources/integration/payment-session.yaml'
190+ /refund :
191+ $ref : ' ./resources/refund/index.yaml'
192+ /refund/{id} :
193+ $ref : ' ./resources/refund/fetch.yaml'
194+ /dispute :
195+ $ref : ' ./resources/dispute/list.yaml'
196+ /dispute/{id} :
197+ $ref : ' ./resources/dispute/dispute-id.yaml'
198+ /dispute/{id}/upload_url :
199+ $ref : ' ./resources/dispute/upload-url.yaml'
200+ /dispute/export :
201+ $ref : ' ./resources/dispute/export.yaml'
202+ /dispute/transaction/{id} :
203+ $ref : ' ./resources/dispute/transaction.yaml'
204+ /dispute/{id}/resolve :
205+ $ref : ' ./resources/dispute/resolve.yaml'
206+ /dispute/{id}/evidence :
207+ $ref : ' ./resources/dispute/evidence.yaml'
208+ /bvn/match :
209+ $ref : ' ./resources/verification/bvn-match.yaml'
210+ /bank/resolve_bvn/{bvn} :
211+ $ref : ' ./resources/verification/resolve-bvn.yaml'
212+ /bank/resolve :
213+ $ref : ' ./resources/verification/resolve-bank.yaml'
214+ /decision/bin/{bin} :
215+ $ref : ' ./resources/verification/card-bin.yaml'
216+ /country :
217+ $ref : ' ./resources/verification/country.yaml'
218+ /bank :
219+ $ref : ' ./resources/verification/bank.yaml'
220+ /address_verification/states :
221+ $ref : ' ./resources/verification/state.yaml'
222+ components :
223+ securitySchemes :
224+ bearerAuth :
225+ type : http
226+ scheme : bearer
227+ schemas :
228+ Customer :
229+ $ref : ' ./schemas/customer/Customer.yaml'
230+ Error :
231+ type : object
232+ properties :
233+ status :
234+ type : boolean
235+ message :
236+ type : string
237+ Response :
238+ type : object
239+ properties :
240+ status :
241+ type : boolean
242+ message :
243+ type : string
244+ data :
245+ type : object
246+ responses :
247+ Ok :
248+ description : Successful operation
249+ content :
250+ application/json :
251+ schema :
252+ $ref : ' ./responses/response.yaml'
253+ Created :
254+ description : Resource created
255+ content :
256+ application/json :
257+ schema :
258+ $ref : ' #/components/schemas/Response'
259+ NotFound :
260+ description : Entity not found
261+ content :
262+ application/json :
263+ schema :
264+ $ref : ' #/components/schemas/Error'
265+ example :
266+ status : false
267+ message : Entity not found
268+ Unauthorized :
269+ description : Unauthorized operation
270+ content :
271+ application/json :
272+ schema :
273+ $ref : ' #/components/schemas/Error'
274+ example :
275+ status : false
276+ message : Invalid key
277+ GeneralError :
278+ description : General Error
279+ content :
280+ application/json :
281+ schema :
282+ $ref : ' #/components/schemas/Error'
283+ security :
284+ - bearerAuth : []
0 commit comments