Skip to content

Commit 41135df

Browse files
Feat: Add all endpoints
1 parent 8878cb3 commit 41135df

154 files changed

Lines changed: 8635 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

default/paystack.yaml

Lines changed: 284 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,284 @@
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: []
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
get:
2+
tags:
3+
- Balance
4+
summary: Fetch Balance
5+
operationId: balance_fetch
6+
description: Check your Paystack account balance
7+
responses:
8+
200:
9+
$ref: '../../responses/created.yaml'
10+
401:
11+
$ref: '../../responses/unauthorized.yaml'
12+
404:
13+
$ref: '../../responses/unauthorized.yaml'
14+
default:
15+
description: Server error
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
get:
2+
tags:
3+
- Balance
4+
summary: Balance Ledger
5+
operationId: balance_ledger
6+
parameters:
7+
- in: query
8+
name: perPage
9+
schema:
10+
type: integer
11+
description: Number of records to fetch per page
12+
- in: query
13+
name: page
14+
schema:
15+
type: integer
16+
description: The section to retrieve
17+
- in: query
18+
name: from
19+
schema:
20+
type: string
21+
format: date-time
22+
description: The start date
23+
- in: query
24+
name: to
25+
schema:
26+
type: string
27+
format: date-time
28+
description: The end date
29+
responses:
30+
200:
31+
$ref: '../../responses/created.yaml'
32+
401:
33+
$ref: '../../responses/unauthorized.yaml'
34+
404:
35+
$ref: '../../responses/unauthorized.yaml'
36+
default:
37+
description: Server error
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
get:
2+
tags:
3+
- Bulk Charge
4+
summary: Fetch Charges in a Batch
5+
operationId: bulkCharge_charges
6+
parameters:
7+
- name: code
8+
description: Batch code
9+
in: path
10+
required: true
11+
schema:
12+
type: string
13+
responses:
14+
200:
15+
$ref: '../../responses/created.yaml'
16+
401:
17+
$ref: '../../responses/unauthorized.yaml'
18+
404:
19+
$ref: '../../responses/unauthorized.yaml'
20+
default:
21+
description: Server error
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
parameters:
2+
- name: code
3+
description: Batch code
4+
in: path
5+
required: true
6+
schema:
7+
type: string
8+
get:
9+
tags:
10+
- Bulk Charge
11+
summary: Fetch Bulk Charge Batch
12+
operationId: bulkCharge_fetch
13+
responses:
14+
200:
15+
$ref: '../../responses/created.yaml'
16+
401:
17+
$ref: '../../responses/unauthorized.yaml'
18+
404:
19+
$ref: '../../responses/unauthorized.yaml'
20+
default:
21+
description: Server error

0 commit comments

Comments
 (0)