From 45a5b814b4098a325a0c333d3be8fee517423f6a Mon Sep 17 00:00:00 2001 From: Tolu Kalejaiye Date: Sat, 3 May 2025 01:25:41 +0100 Subject: [PATCH 1/6] add export transaction action --- .../export-transactions.mjs | 48 +++++++++++++++++++ components/paystack/paystack.app.mjs | 6 +++ 2 files changed, 54 insertions(+) create mode 100644 components/paystack/actions/export-transactions/export-transactions.mjs diff --git a/components/paystack/actions/export-transactions/export-transactions.mjs b/components/paystack/actions/export-transactions/export-transactions.mjs new file mode 100644 index 0000000000000..93a2506b7d533 --- /dev/null +++ b/components/paystack/actions/export-transactions/export-transactions.mjs @@ -0,0 +1,48 @@ +import paystack from "../../paystack.app.mjs"; + +export default { + key: "paystack-export-transactions", + name: "Export Transactions", + description: "Export transactions from Paystack. See the documentation (https://paystack.com/docs/api/transaction/#export)", + version: "0.0.1", + type: "action", + props: { + paystack, + from: { + propDefinition: [ + paystack, + "from", + ], + optional: true, + }, + to: { + propDefinition: [ + paystack, + "to", + ], + optional: true, + }, + status: { + propDefinition: [ + paystack, + "status", + ], + optional: true, + }, + }, + async run({ $ }) { + const params = { + from: this.from, + to: this.to, + status: this.status, + }; + + const response = this.paystack.exportTransactions({ + $, + params, + }); + + $.export("$summary", `Successfully requested transaction export`); + return response; + }, +}; diff --git a/components/paystack/paystack.app.mjs b/components/paystack/paystack.app.mjs index b35caf89e0d8f..8170715c36583 100644 --- a/components/paystack/paystack.app.mjs +++ b/components/paystack/paystack.app.mjs @@ -240,6 +240,12 @@ export default { ...args, }); }, + exportTransactions(args = {}) { + return this._makeRequest({ + path: "/transaction/export", + ...args, + }); + }, async *paginate({ resourceFn, args, max, }) { From 5e4789e5d951611936f8007d7bf7a6582d8cc4d6 Mon Sep 17 00:00:00 2001 From: Tolu Kalejaiye Date: Sat, 3 May 2025 01:41:15 +0100 Subject: [PATCH 2/6] update package.json version and run linter --- .../actions/export-transactions/export-transactions.mjs | 4 ++-- components/paystack/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/paystack/actions/export-transactions/export-transactions.mjs b/components/paystack/actions/export-transactions/export-transactions.mjs index 93a2506b7d533..c592966923075 100644 --- a/components/paystack/actions/export-transactions/export-transactions.mjs +++ b/components/paystack/actions/export-transactions/export-transactions.mjs @@ -42,7 +42,7 @@ export default { params, }); - $.export("$summary", `Successfully requested transaction export`); + $.export("$summary", "Successfully requested transaction export"); return response; - }, + }, }; diff --git a/components/paystack/package.json b/components/paystack/package.json index 338ca51435613..854835b33c3e5 100644 --- a/components/paystack/package.json +++ b/components/paystack/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/paystack", - "version": "0.2.1", + "version": "0.2.2", "description": "Pipedream Paystack Components", "main": "paystack.app.mjs", "keywords": [ From 905331c4bbf532c04f8f07b91c408739a76e51de Mon Sep 17 00:00:00 2001 From: Tolu Kalejaiye Date: Sat, 3 May 2025 11:09:25 +0100 Subject: [PATCH 3/6] fix component versions --- .../charge-authorization.mjs | 2 +- .../fetch-transaction/fetch-transaction.mjs | 2 +- .../initialize-transaction.mjs | 2 +- .../list-transactions/list-transactions.mjs | 2 +- .../verify-transaction/verify-transaction.mjs | 2 +- components/paystack/paystack-oas.yaml | 16276 ++++++++++++++++ 6 files changed, 16281 insertions(+), 5 deletions(-) create mode 100644 components/paystack/paystack-oas.yaml diff --git a/components/paystack/actions/charge-authorization/charge-authorization.mjs b/components/paystack/actions/charge-authorization/charge-authorization.mjs index fa550ef9d9474..0c9d61507f374 100644 --- a/components/paystack/actions/charge-authorization/charge-authorization.mjs +++ b/components/paystack/actions/charge-authorization/charge-authorization.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-charge-authorization", name: "Charge Authorization", description: "Charge a reusable authorization. [See the documentation](https://paystack.com/docs/api/transaction/#charge-authorization)", - version: "0.0.2", + version: "0.0.3", type: "action", props: { paystack, diff --git a/components/paystack/actions/fetch-transaction/fetch-transaction.mjs b/components/paystack/actions/fetch-transaction/fetch-transaction.mjs index 0a16d0b0812d2..d1f01638f660a 100644 --- a/components/paystack/actions/fetch-transaction/fetch-transaction.mjs +++ b/components/paystack/actions/fetch-transaction/fetch-transaction.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-fetch-transaction", name: "Fetch Transaction", description: "Fetch a single transaction. [See the documentation](https://paystack.com/docs/api/transaction/#fetch)", - version: "0.0.3", + version: "0.0.4", type: "action", props: { paystack, diff --git a/components/paystack/actions/initialize-transaction/initialize-transaction.mjs b/components/paystack/actions/initialize-transaction/initialize-transaction.mjs index 3e0c2a6ed9819..3830509e46601 100644 --- a/components/paystack/actions/initialize-transaction/initialize-transaction.mjs +++ b/components/paystack/actions/initialize-transaction/initialize-transaction.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-initialize-transaction", name: "Initialize Transaction", description: "Initializes a new transaction on Paystack. [See the documentation](https://paystack.com/docs/api/transaction/#initialize)", - version: "0.1.1", + version: "0.1.2", type: "action", props: { paystack, diff --git a/components/paystack/actions/list-transactions/list-transactions.mjs b/components/paystack/actions/list-transactions/list-transactions.mjs index d06d2a0cf163f..ad5091e451877 100644 --- a/components/paystack/actions/list-transactions/list-transactions.mjs +++ b/components/paystack/actions/list-transactions/list-transactions.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-list-transactions", name: "List Transactions", description: "List transactions carried out on your integration. [See the documentation](https://paystack.com/docs/api/transaction/#list)", - version: "0.0.3", + version: "0.0.4", type: "action", props: { paystack, diff --git a/components/paystack/actions/verify-transaction/verify-transaction.mjs b/components/paystack/actions/verify-transaction/verify-transaction.mjs index dab38b293d3a1..3a486480c6b53 100644 --- a/components/paystack/actions/verify-transaction/verify-transaction.mjs +++ b/components/paystack/actions/verify-transaction/verify-transaction.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-verify-transaction", name: "Verify Transaction", description: "Confirm the status of a transaction. [See the documentation](https://paystack.com/docs/api/transaction/#verify)", - version: "0.0.3", + version: "0.0.4", type: "action", props: { paystack, diff --git a/components/paystack/paystack-oas.yaml b/components/paystack/paystack-oas.yaml new file mode 100644 index 0000000000000..34cf4fa157c11 --- /dev/null +++ b/components/paystack/paystack-oas.yaml @@ -0,0 +1,16276 @@ +openapi: 3.0.1 +info: + title: Paystack + description: The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa. + version: 1.0.0 + contact: + email: techsupport@paystack.com +servers: + - url: https://api.paystack.co + description: Base API endpoint +security: + - bearerAuth: [] +tags: + - name: Transaction + description: | + A collection of endpoints for managing payments + x-product-name: Transactions + - name: Split + description: | + A collection of endpoints for spliting a transaction and managing the splits + x-product-name: Transaction Splits + - name: Terminal + description: | + A collection of endpoints for building delightful in-person payment experiences + x-product-name: Terminal + - name: Customer + description: | + A collection of endpoints for creating and managing customers on an integration + x-product-name: Transaction Splits + - name: Dedicated Virtual Account + description: | + A collection of endpoints for creating and managing payment accounts for customers + x-product-name: Dedicated Virtual Accounts + - name: Apple Pay + description: | + A collection of endpoints for managing application's top-level domain or subdomain accepting payment via Apple Pay + x-product-name: Apple Pay + - name: Subaccount + description: | + A collection of endpoints for creating and managing accounts for sharing a + transaction with + x-product-name: Subaccounts + - name: Plan + description: | + A collection of endpoints for creating and managing recurring payment + configuration + x-product-name: Plans + - name: Subscription + description: | + A collection of endpoints for creating and managing recurring payments + x-product-name: Subscriptions + - name: Product + description: | + A collection of endpoints for creating and managing inventories + x-product-name: Products + - name: Storefront + description: | + A collection of endpoints for creating and managing storefronts + x-product-name: Storefronts + - name: Order + description: | + A collection of endpoints for creating and managing orders + x-product-name: Orders + - name: Page + description: | + A collection of endpoints for creating and managing links for the + collection of payment for products + x-product-name: Payment Pages + - name: Payment Request + description: | + A collection of endpoints for managing invoices for the payment of goods + and services + x-product-name: Payment Requests + - name: Settlement + description: | + A collection of endpoints for gaining insights into payouts + x-product-name: Settlements + - name: Transfer Recipient + description: | + A collection of endpoints for creating and managing beneficiaries that you send money to + x-product-name: Transfer Recipients + - name: Transfer + description: | + A collection of endpoints for automating sending money to beneficiaries + x-product-name: Transfers + - name: Balance + description: | + A collection of endpoints gaining insights into the amount on an integration + x-product-name: Balance + - name: Charge + description: | + A collection of endpoints for configuring and managing the payment channels when initiating a payment + x-product-name: Charges + - name: Bulk Charge + description: | + A collection of endpoints for creating and managing multiple recurring payments + x-product-name: Bulk Charges + - name: Integration + description: | + A collection of endpoints for managing some settings on an integration + x-product-name: Integration + - name: Refund + description: | + A collection of endpoints for creating and managing transaction reimbursement + x-product-name: Refunds + - name: Dispute + description: | + A collection of endpoints for managing transactions complaint made by customers + x-product-name: Disputes + - name: Bank + description: | + A collection of endpoints for managing bank details + x-product-name: Banks + - name: Miscellaneous + description: | + A collection of endpoints that provides utility functions + x-product-name: Miscellaneous +paths: + /transaction/initialize: + post: + tags: + - Transaction + summary: Initialize Transaction + operationId: transaction_initialize + description: Create a new transaction + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionInitialize' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransactionInitialize' + responses: + '200': + $ref: '#/components/responses/TransactionInitializeSuccess' + '400': + $ref: '#/components/responses/TransactionInitializeBadRequestResponse' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transaction/verify/{reference}: + get: + tags: + - Transaction + summary: Verify Transaction + operationId: transaction_verify + description: Verify a previously initiated transaction using it's reference + parameters: + - name: reference + in: path + description: The transaction reference to verify + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/TransactionVerifySuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction: + get: + tags: + - Transaction + summary: List Transactions + operationId: transaction_list + description: List transactions that has occurred on your integration + parameters: + - in: query + name: use_cursor + description: A flag to indicate if cursor based pagination should be used + schema: + type: boolean + - in: query + name: next + description: | + An alphanumeric value returned for every cursor based retrieval, used to retrieve the next set of data + schema: + type: string + - in: query + name: previous + description: | + An alphanumeric value returned for every cursor based retrieval, used to retrieve the previous set of data + schema: + type: string + - in: query + name: per_page + schema: + type: integer + description: The number of records to fetch per request + - in: query + name: page + schema: + type: integer + description: Used to indicate the offeset to retrieve data from + - in: query + name: from + description: The start date + schema: + type: string + format: date-time + - in: query + name: to + description: The end date + schema: + type: string + format: date-time + - in: query + name: channel + description: The payment method the customer used to complete the transaction + schema: + type: string + enum: + - card + - pos + - bank + - dedicated_nuban + - ussd + - bank_transfer + - in: query + name: terminal_id + description: The terminal ID to filter all transactions from a terminal + schema: + type: string + - in: query + name: customer_code + description: The customer code to filter all transactions from a customer + schema: + type: string + - in: query + name: amount + description: Filter transactions by a certain amount + schema: + type: integer + format: int64 + - in: query + name: status + description: Filter transaction by status + schema: + type: string + enum: + - success + - failed + - abandoned + - reversed + - in: query + name: source + description: The origin of the payment + schema: + type: string + enum: + - merchantApi + - checkout + - pos + - virtualTerminal + - in: query + name: subaccount_code + description: Filter transaction by subaccount code + schema: + type: string + - in: query + name: split_code + description: Filter transaction by split code + schema: + type: string + - in: query + name: settlement + description: The settlement ID to filter for settled transactions + schema: + type: integer + format: int64 + responses: + '200': + $ref: '#/components/responses/TransactionListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction/{id}: + get: + tags: + - Transaction + summary: Fetch Transaction + operationId: transaction_fetch + description: Fetch a transaction to get its details + parameters: + - name: id + in: path + description: The ID of the transaction to fetch + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/TransactionFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction/timeline/{id}: + get: + tags: + - Transaction + summary: Fetch Transaction Timeline + operationId: transaction_timeline + description: Get the details about the lifecycle of a transaction from initiation to completion + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + example: 3936799950 + responses: + '200': + $ref: '#/components/responses/TransactionTimelineSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction/totals: + get: + tags: + - Transaction + summary: Transaction Totals + operationId: transaction_totals + description: Get the total amount of all transactions + parameters: + - in: query + description: The start date + name: from + schema: + type: string + format: date-time + example: '2024-06-01T00:00:01Z' + - in: query + name: to + description: The end date + schema: + type: string + format: date-time + example: '2024-06-30T13:36:54Z' + responses: + '200': + $ref: '#/components/responses/TransactionTotalsSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction/export: + get: + tags: + - Transaction + summary: Export Transactions + operationId: transaction_download + parameters: + - in: query + name: from + description: The start date + schema: + type: string + format: date-time + example: '2024-06-01T00:00:01Z' + - in: query + name: to + description: The end date + schema: + type: string + format: date-time + example: '2024-06-30T13:36:54Z' + - in: query + name: status + description: Filter by the status of the transaction + schema: + type: string + enum: + - success + - failed + - abandoned + - reversed + - all + example: success + - in: query + name: customer + description: Filter by customer code + schema: + type: string + example: CUS_eqt26928wowif7z + - in: query + name: subaccount_code + description: Filter by subaccount code + schema: + type: string + example: ACCT_dskvlw3y3dMukmt + - in: query + name: settlement + description: Filter by the settlement ID + schema: + type: integer + format: int64 + example: 5687910 + responses: + '200': + $ref: '#/components/responses/TransactionExportSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction/charge_authorization: + post: + tags: + - Transaction + summary: Charge Authorization + operationId: transaction_chargeAuthorization + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionChargeAuthorization' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransactionChargeAuthorization' + responses: + '200': + $ref: '#/components/responses/TransactionChargeSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transaction/partial_debit: + post: + tags: + - Transaction + summary: Partial Debit + operationId: transaction_partialDebit + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionPartialDebit' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransactionPartialDebit' + responses: + '200': + $ref: '#/components/responses/TransactionPartialDebitSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transaction/{id}/event: + get: + tags: + - Transaction + summary: Get Transaction Event + operationId: transaction_event + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + example: 3936799950 + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transaction/{id}/session: + get: + tags: + - Transaction + summary: Get Transaction Session + operationId: transaction_session + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int64 + example: 3936799950 + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /split: + post: + tags: + - Split + summary: Create Split + operationId: split_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SplitCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SplitCreate' + responses: + '200': + $ref: '#/components/responses/SplitCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Split + summary: List/Search Splits + operationId: split_list + parameters: + - name: name + in: query + schema: + type: string + - name: active + in: query + schema: + type: string + - name: sort_by + in: query + schema: + type: string + - name: from + in: query + schema: + type: string + - name: to + in: query + schema: + type: string + - name: perPage + in: query + schema: + type: string + - name: page + in: query + schema: + type: string + responses: + '200': + $ref: '#/components/responses/SplitListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /split/{id}: + get: + tags: + - Split + summary: Fetch Split + operationId: split_fetch + parameters: + - name: id + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/SplitFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Split + summary: Update Split + operationId: split_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SplitUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SplitUpdate' + parameters: + - name: id + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/SplitUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /split/{id}/subaccount/add: + post: + tags: + - Split + summary: Add Subaccount to Split + operationId: split_addSubaccount + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SplitSubaccounts' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SplitSubaccounts' + parameters: + - name: id + in: path + required: true + schema: + type: string + example: application/json + responses: + '200': + $ref: '#/components/responses/SplitAddUpdateSubaccountSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /split/{id}/subaccount/remove: + post: + tags: + - Split + summary: Remove Subaccount from split + operationId: split_removeSubaccount + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SplitSubaccounts' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SplitSubaccounts' + parameters: + - name: id + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/SplitRemoveSubaccountSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /terminal/{id}/event: + post: + tags: + - Terminal + summary: Send Event + description: Send an event from your application to the Paystack Terminal + operationId: terminal_sendEvent + parameters: + - name: id + in: path + required: true + schema: + type: string + example: Z0R4orOU + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalSendEvent' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TerminalSendEvent' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /terminal/{terminal_id}/event/{event_id}: + get: + tags: + - Terminal + summary: Fetch Event Status + description: Check the status of an event sent to the Terminal + operationId: terminal_fetchEventStatus + parameters: + - name: terminal_id + in: path + required: true + schema: + type: string + example: Z0R4orOU + - name: event_id + in: path + required: true + schema: + type: string + example: 616d721e8c5cd40a0cdd54a6 + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /terminal/{terminal_id}/presence: + get: + tags: + - Terminal + summary: Fetch Terminal Status + description: Check the availiability of a Terminal before sending an event to it + operationId: terminal_fetchTerminalStatus + parameters: + - name: terminal_id + in: path + required: true + schema: + type: string + example: Z0R4orOU + responses: + '200': + $ref: '#/components/responses/TerminalGetStatusSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /terminal: + get: + tags: + - Terminal + summary: List Terminals + operationId: terminal_list + description: List the Terminals available on your integration + parameters: + - name: next + in: query + schema: + type: string + - name: previous + in: query + schema: + type: string + - name: per_page + in: query + schema: + type: string + responses: + '200': + $ref: '#/components/responses/TerminalListsSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /terminal/{terminal_id}: + parameters: + - name: terminal_id + in: path + required: true + schema: + type: string + get: + tags: + - Terminal + summary: Fetch Terminal + description: Get the details of a Terminal + operationId: terminal_fetch + responses: + '200': + $ref: '#/components/responses/TerminalGetSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Terminal + summary: Update Terminal + operationId: terminal_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalUpate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TerminalUpate' + responses: + '200': + $ref: '#/components/responses/TerminalUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /terminal/commission_device: + post: + tags: + - Terminal + summary: Commission Terminal + description: Activate your debug device by linking it to your integration + operationId: terminal_commission + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalActivationToggle' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TerminalActivationToggle' + responses: + '200': + $ref: '#/components/responses/TerminalCommissionDeviceSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /terminal/decommission_device: + post: + tags: + - Terminal + summary: Decommission Terminal + description: Unlink your debug device from your integration + operationId: terminal_decommission + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalActivationToggle' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TerminalActivationToggle' + responses: + '200': + $ref: '#/components/responses/TerminalDecommissionDeviceSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /customer: + post: + tags: + - Customer + summary: Create Customer + operationId: customer_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CustomerCreate' + responses: + '200': + $ref: '#/components/responses/CustomerCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Customer + summary: List Customers + operationId: customer_list + description: List customers on your integration + parameters: + - name: use_cursor + in: query + schema: + type: boolean + - name: next + in: query + schema: + type: string + - name: previous + in: query + schema: + type: string + - name: from + in: query + schema: + type: string + - name: to + in: query + schema: + type: string + - name: perPage + in: query + schema: + type: string + - name: page + in: query + schema: + type: string + responses: + '200': + $ref: '#/components/responses/CustomerListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /customer/{code}: + parameters: + - name: code + in: path + required: true + schema: + type: string + get: + tags: + - Customer + summary: Fetch Customer + operationId: customer_fetch + responses: + '200': + $ref: '#/components/responses/CustomerFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Customer + summary: Update Customer + operationId: customer_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CustomerUpdate' + responses: + '200': + $ref: '#/components/responses/CustomerUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /customer/set_risk_action: + post: + tags: + - Customer + summary: White/blacklist Customer + description: Set customer's risk action by whitelisting or blacklisting the customer + operationId: customer_riskAction + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerRiskAction' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CustomerRiskAction' + responses: + '200': + $ref: '#/components/responses/CustomerWhitelistBlacklistSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /customer/deactivate_authorization: + post: + tags: + - Customer + summary: Deactivate Authorization + operationId: customer_deactivateAuthorization + description: Deactivate a customer's card + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerDeactivateAuthorization' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CustomerDeactivateAuthorization' + responses: + '200': + $ref: '#/components/responses/CustomerDeactivateAuthorizationSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /customer/{code}/identification: + parameters: + - name: code + in: path + required: true + schema: + type: string + post: + tags: + - Customer + summary: Validate Customer + operationId: customer_validate + description: Validate a customer's identity + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerValidate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CustomerValidate' + responses: + '202': + $ref: '#/components/responses/CustomerValidateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /dedicated_account: + post: + tags: + - Dedicated Virtual Account + summary: Create Dedicated Account + operationId: dedicatedAccount_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountCreate' + responses: + '200': + $ref: '#/components/responses/DedicatedNubanCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Dedicated Virtual Account + summary: List Dedicated Accounts + operationId: dedicatedAccount_list + parameters: + - name: account_number + in: query + schema: + type: string + - name: customer + in: query + schema: + type: string + - name: active + in: query + schema: + type: boolean + - name: currency + in: query + schema: + type: string + - name: provider_slug + in: query + schema: + type: string + - name: bank_id + in: query + schema: + type: string + - name: perPage + in: query + schema: + type: string + - name: page + in: query + schema: + type: string + responses: + '200': + $ref: '#/components/responses/DedicatedNubanFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dedicated_account/assign: + post: + tags: + - Dedicated Virtual Account + summary: Assign Dedicated Account + operationId: dedicatedAccount_assign + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountAssign' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountAssign' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /dedicated_account/{account_id}: + parameters: + - name: account_id + in: path + required: true + schema: + type: string + get: + tags: + - Dedicated Virtual Account + summary: Fetch Dedicated Account + operationId: dedicatedAccount_fetch + responses: + '200': + $ref: '#/components/responses/DedicatedNubanFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + delete: + tags: + - Dedicated Virtual Account + summary: Deactivate Dedicated Account + operationId: dedicatedAccount_deactivate + responses: + '200': + $ref: '#/components/responses/DedicatedNubanDeactivateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dedicated_account/requery: + parameters: + - name: account_number + description: Virtual account number to requery + in: query + schema: + type: string + - name: provider_slug + description: The bank's slug in lowercase, without spaces e.g. `wema-bank` + in: query + schema: + type: string + - name: date + description: The day the transfer was made in `YYYY-MM-DD` format + in: query + schema: + type: string + get: + tags: + - Dedicated Virtual Account + summary: Requery Dedicated Account + operationId: dedicatedAccount_requery + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dedicated_account/split: + post: + tags: + - Dedicated Virtual Account + summary: Split Dedicated Account Transaction + operationId: dedicatedAccount_addSplit + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountSplit' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountSplit' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + delete: + tags: + - Dedicated Virtual Account + summary: Remove Split from Dedicated Account + operationId: dedicatedAccount_removeSplit + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountSplit' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DedicatedVirtualAccountSplit' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dedicated_account/available_providers: + get: + tags: + - Dedicated Virtual Account + summary: Fetch Bank Providers + operationId: dedicatedAccount_availableProviders + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /apple-pay/domain: + post: + tags: + - Apple Pay + summary: Register Domain + description: Register a top-level domain or subdomain for your Apple Pay integration. + operationId: applePay_registerDomain + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplePayParam' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ApplePayParam' + responses: + '200': + $ref: '#/components/responses/ApplePayOkResponse' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Apple Pay + summary: List Domains + description: Lists all registered domains on your integration + operationId: applePay_listDomain + parameters: + - name: use_cursor + in: query + schema: + type: boolean + - name: next + in: query + schema: + type: string + - name: previous + in: query + schema: + type: string + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + delete: + tags: + - Apple Pay + summary: Unregister Domain + description: Unregister a top-level domain or subdomain previously used for your Apple Pay integration. + operationId: applePay_unregisterDomain + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplePayParam' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ApplePayParam' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /subaccount: + post: + tags: + - Subaccount + summary: Create Subaccount + operationId: subaccount_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubaccountCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SubaccountCreate' + responses: + '200': + $ref: '#/components/responses/SubaccountCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Subaccount + summary: List Subaccounts + operationId: subaccount_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/SubaccountListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /subaccount/{code}: + parameters: + - name: code + in: path + required: true + schema: + type: string + get: + tags: + - Subaccount + summary: Fetch Subaccount + operationId: subaccount_fetch + responses: + '200': + $ref: '#/components/responses/SubaccountFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Subaccount + summary: Update Subaccount + operationId: subaccount_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubaccountUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SubaccountUpdate' + responses: + '200': + $ref: '#/components/responses/SubaccountUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /plan: + post: + tags: + - Plan + summary: Create Plan + operationId: plan_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PlanCreate' + responses: + '200': + $ref: '#/components/responses/PlanCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Plan + summary: List Plans + operationId: plan_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: interval + schema: + type: string + description: Specify interval of the plan + - in: query + name: amount + schema: + type: integer + description: The amount on the plans to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/PlanListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /plan/{code}: + parameters: + - name: code + in: path + required: true + schema: + type: string + get: + tags: + - Plan + summary: Fetch Plan + operationId: plan_fetch + responses: + '200': + $ref: '#/components/responses/PlanFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Plan + summary: Update Plan + operationId: plan_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PlanUpdate' + responses: + '200': + $ref: '#/components/responses/PlanUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /subscription: + post: + tags: + - Subscription + summary: Create Subscription + operationId: subscription_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SubscriptionCreate' + responses: + '200': + $ref: '#/components/responses/SubscriptionCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Subscription + summary: List Subscriptions + operationId: subscription_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: plan + schema: + type: string + description: Plan ID + - in: query + name: customer + schema: + type: string + description: Customer ID + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/SubscriptionListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /subscription/{code}: + parameters: + - name: code + in: path + required: true + schema: + type: string + get: + tags: + - Subscription + summary: Fetch Subscription + operationId: subscription_fetch + responses: + '200': + $ref: '#/components/responses/SubscriptionFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /subscription/disable: + post: + tags: + - Subscription + summary: Disable Subscription + operationId: subscription_disable + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionToggle' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SubscriptionToggle' + responses: + '200': + $ref: '#/components/responses/SubscriptionDisableSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /subscription/enable: + post: + tags: + - Subscription + summary: Enable Subscription + operationId: subscription_enable + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionToggle' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/SubscriptionToggle' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /subscription/{code}/manage/link: + get: + tags: + - Subscription + summary: Generate Update Subscription Link + operationId: subscription_manageLink + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /subscription/{code}/manage/email: + post: + tags: + - Subscription + summary: Send Update Subscription Link + operationId: subscription_manageEmail + parameters: + - name: code + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /product: + post: + tags: + - Product + summary: Create Product + operationId: product_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ProductCreate' + responses: + '201': + $ref: '#/components/responses/ProductCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Product + summary: List Products + operationId: product_list + parameters: + - name: perPage + in: query + schema: + type: integer + - name: page + in: query + schema: + type: integer + - name: active + in: query + schema: + type: boolean + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/ProductListsSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /product/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Product + summary: Fetch Product + operationId: product_fetch + responses: + '200': + $ref: '#/components/responses/ProductFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Product + summary: Update product + operationId: product_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProductUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ProductUpdate' + responses: + '200': + $ref: '#/components/responses/ProductUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + delete: + tags: + - Product + summary: Delete Product + operationId: product_delete + responses: + '200': + $ref: '#/components/responses/ProductDeleteSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /storefront: + post: + tags: + - Storefront + summary: Create Storefront + operationId: storefront_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/StorefrontCreate' + responses: + '200': + $ref: '#/components/responses/StorefrontCreateSuccess' + '400': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Storefront + summary: List Storefronts + operationId: storefront_list + parameters: + - name: perPage + in: query + schema: + type: integer + - name: page + in: query + schema: + type: integer + - name: status + in: query + schema: + type: string + enum: + - active + - inactive + responses: + '200': + $ref: '#/components/responses/StorefrontListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /storefront/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Storefront + summary: Fetch Storefront + operationId: storefront_fetch + responses: + '200': + $ref: '#/components/responses/StorefrontFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Storefront + summary: Update Storefront + operationId: storefront_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/StorefrontUpdate' + responses: + '200': + $ref: '#/components/responses/StorefrontUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + delete: + tags: + - Storefront + summary: Delete Storefront + operationId: storefront_delete + responses: + '200': + $ref: '#/components/responses/StorefrontDeleteSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /storefront/verify/{slug}: + parameters: + - name: slug + in: path + required: true + schema: + type: string + get: + tags: + - Storefront + summary: Verify Storefront Slug + operationId: storefront_verifySlug + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /storefront/{id}/order: + get: + tags: + - Storefront + summary: Fetch Storefront Orders + description: Fetch all orders in your Storefront + operationId: storefront_fetchOrders + parameters: + - name: id + in: path + required: true + schema: + type: string + example: Z0R4orOU + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /storefront/{id}/product: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Storefront + summary: Add Products to Storefront + operationId: storefront_addProducts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontAddProducts' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/StorefrontAddProducts' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + get: + tags: + - Storefront + summary: List Products in Storefront + operationId: storefront_listProducts + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /storefront/{id}/publish: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Storefront + summary: Publish Storefront + operationId: storefront_publish + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /storefront/{id}/duplicate: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Storefront + summary: Duplicate Storefront + operationId: storefront_duplicate + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /order: + post: + tags: + - Order + summary: Create Order + operationId: order_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OrderCreate' + responses: + '200': + $ref: '#/components/responses/OrderCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Order + summary: List Orders + operationId: order_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/OrderListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /order/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Order + summary: Fetch Order + operationId: order_fetch + responses: + '200': + $ref: '#/components/responses/OrderFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /order/product/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Order + summary: Fetch Products Order + operationId: order_fetchProducts + responses: + '200': + $ref: '#/components/responses/OrderFetchProductSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /order/{code}/validate: + parameters: + - name: code + in: path + required: true + schema: + type: string + get: + tags: + - Order + summary: Validate pay for me order + operationId: order_validatePayForMe + responses: + '200': + $ref: '#/components/responses/OrderValidateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /page: + post: + tags: + - Page + summary: Create Page + operationId: page_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PageCreate' + responses: + '200': + $ref: '#/components/responses/PageCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Page + summary: List Pages + operationId: page_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/PageListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /page/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Page + summary: Fetch Page + operationId: page_fetch + responses: + '200': + $ref: '#/components/responses/PageFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Page + summary: Update Page + operationId: page_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PageUpdate' + responses: + '200': + $ref: '#/components/responses/PageUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /page/check_slug_availability/{slug}: + parameters: + - name: slug + in: path + required: true + schema: + type: string + get: + tags: + - Page + summary: Check Slug Availability + operationId: page_checkSlugAvailability + responses: + '200': + $ref: '#/components/responses/PageCheckSlugAvailabilitySuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /page/{id}/product: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Page + summary: Add Products + operationId: page_addProducts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageProduct' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PageProduct' + responses: + '200': + $ref: '#/components/responses/PageAddProductsSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /paymentrequest: + post: + tags: + - Payment Request + summary: Create Payment Request + operationId: paymentRequest_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PaymentRequestCreate' + responses: + '200': + $ref: '#/components/responses/PaymentRequestCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Payment Request + summary: List Payment Request + operationId: paymentRequest_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: customer + schema: + type: string + description: Customer ID + - in: query + name: status + schema: + type: string + description: Invoice status to filter + - in: query + name: currency + schema: + type: string + description: If your integration supports more than one currency, choose the one to filter + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/PaymentRequestListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /paymentrequest/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Payment Request + summary: Fetch Payment Request + operationId: paymentRequest_fetch + responses: + '200': + $ref: '#/components/responses/PaymentRequestListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Payment Request + summary: Update Payment Request + operationId: paymentRequest_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PaymentRequestUpdate' + responses: + '200': + $ref: '#/components/responses/PaymentRequestUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /paymentrequest/verify/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + get: + tags: + - Payment Request + summary: Verify Payment Request + operationId: paymentRequest_verify + responses: + '200': + $ref: '#/components/responses/PaymentRequestVerifySuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /paymentrequest/notify/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Payment Request + summary: Send Notification + operationId: paymentRequest_notify + responses: + '200': + $ref: '#/components/responses/PaymentRequestSendNotificationSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /paymentrequest/totals: + get: + tags: + - Payment Request + summary: Payment Request Total + operationId: paymentRequest_totals + responses: + '200': + $ref: '#/components/responses/PaymentRequestTotalSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /paymentrequest/finalize/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Payment Request + summary: Finalize Payment Request + operationId: paymentRequest_finalize + responses: + '200': + $ref: '#/components/responses/PaymentRequestFinalizeSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /paymentrequest/archive/{id}: + parameters: + - name: id + in: path + required: true + schema: + type: string + post: + tags: + - Payment Request + summary: Archive Payment Request + operationId: paymentRequest_archive + responses: + '200': + $ref: '#/components/responses/PaymentRequestArchiveSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /settlement: + get: + tags: + - Settlement + summary: Fetch Settlements + operationId: settlements_fetch + parameters: + - name: perPage + in: query + schema: + type: integer + example: 50 + - name: page + in: query + schema: + type: integer + example: 2 + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /settlement/{id}/transaction: + get: + tags: + - Settlement + summary: Settlement Transactions + operationId: settlements_transaction + parameters: + - name: id + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transferrecipient: + post: + tags: + - Transfer Recipient + summary: Create Transfer Recipient + operationId: transferrecipient_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferRecipientCreate' + responses: + '201': + $ref: '#/components/responses/TransferRecipientCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Transfer Recipient + summary: List Transfer Recipients + operationId: transferrecipient_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/TransferRecipientListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transferrecipient/bulk: + post: + tags: + - Transfer Recipient + summary: Bulk Create Transfer Recipient + operationId: transferrecipient_bulk + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientBulk' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferRecipientBulk' + responses: + '200': + $ref: '#/components/responses/TransferRecipientBulkCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transferrecipient/{code}: + parameters: + - name: code + description: Transfer recipient code + in: path + required: true + schema: + type: string + get: + tags: + - Transfer Recipient + summary: Fetch Transfer recipient + operationId: transferrecipient_fetch + responses: + '200': + $ref: '#/components/responses/TransferRecipientFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Transfer Recipient + summary: Update Transfer recipient + operationId: transferrecipient_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferRecipientUpdate' + responses: + '200': + $ref: '#/components/responses/TransferRecipientUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + delete: + tags: + - Transfer Recipient + summary: Delete Transfer Recipient + operationId: transferrecipient_delete + responses: + '200': + $ref: '#/components/responses/TransferRecipientDeleteSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transfer: + post: + tags: + - Transfer + summary: Initiate Transfer + operationId: transfer_initiate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferInitiate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferInitiate' + responses: + '200': + $ref: '#/components/responses/TransferCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Transfer + summary: List Transfers + operationId: transfer_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: status + schema: + type: string + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/TransferListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transfer/finalize_transfer: + post: + tags: + - Transfer + summary: Finalize Transfer + operationId: transfer_finalize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferFinalize' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferFinalize' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transfer/bulk: + post: + tags: + - Transfer + summary: Initiate Bulk Transfer + operationId: transfer_bulk + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferBulk' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferBulk' + responses: + '200': + $ref: '#/components/responses/TransferBulkSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transfer/{code}: + parameters: + - name: code + description: Transfer code + in: path + required: true + schema: + type: string + get: + tags: + - Transfer + summary: Fetch Transfer + operationId: transfer_fetch + responses: + '200': + $ref: '#/components/responses/TransferFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transfer/verify/{reference}: + get: + tags: + - Transfer + summary: Verify Transfer + operationId: transfer_verify + parameters: + - name: reference + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/TransferVerifySuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transfer/export: + get: + tags: + - Transfer + summary: Export Transfers + operationId: transfer_download + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: status + schema: + type: string + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /transfer/resend_otp: + post: + tags: + - Transfer + summary: Resend OTP for Transfer + operationId: transfer_resendOtp + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferResendOTP' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferResendOTP' + responses: + '200': + $ref: '#/components/responses/TransferResendsOtpSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transfer/disable_otp: + post: + tags: + - Transfer + summary: Disable OTP requirement for Transfers + operationId: transfer_disableOtp + responses: + '200': + $ref: '#/components/responses/TransferDisablesOtpSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transfer/disable_otp_finalize: + post: + tags: + - Transfer + summary: Finalize Disabling of OTP requirement for Transfers + operationId: transfer_disableOtpFinalize + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferFinalizeDisableOTP' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/TransferFinalizeDisableOTP' + responses: + '200': + $ref: '#/components/responses/TransferFinalizeDisablesOtpSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /transfer/enable_otp: + post: + tags: + - Transfer + summary: Enable OTP requirement for Transfers + operationId: transfer_enableOtp + responses: + '200': + $ref: '#/components/responses/TransferEnablesOtpSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /balance: + get: + tags: + - Balance + summary: Fetch Balance + operationId: balance_fetch + description: You can only transfer from what you have + responses: + '200': + $ref: '#/components/responses/BalanceCheckSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /balance/ledger: + get: + tags: + - Balance + summary: Balance Ledger + operationId: balance_ledger + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/BalanceFetchLedgerSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /charge: + post: + tags: + - Charge + summary: Create Charge + operationId: charge_create + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ChargeCreate' + - type: object + properties: + bank: + $ref: '#/components/schemas/Bank' + - type: object + properties: + mobile_money: + $ref: '#/components/schemas/MobileMoney' + - type: object + properties: + ussd: + $ref: '#/components/schemas/USSD' + - type: object + properties: + eft: + $ref: '#/components/schemas/EFT' + application/x-www-form-urlencoded: + schema: + allOf: + - $ref: '#/components/schemas/ChargeCreate' + - type: object + properties: + bank: + $ref: '#/components/schemas/Bank' + - type: object + properties: + mobile_money: + $ref: '#/components/schemas/MobileMoney' + - type: object + properties: + ussd: + $ref: '#/components/schemas/USSD' + - type: object + properties: + eft: + $ref: '#/components/schemas/EFT' + responses: + '200': + $ref: '#/components/responses/ChargeCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /charge/submit_pin: + post: + tags: + - Charge + summary: Submit PIN + operationId: charge_submitPin + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitPin' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ChargeSubmitPin' + responses: + '200': + $ref: '#/components/responses/ChargeSubmitPinSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /charge/submit_otp: + post: + tags: + - Charge + summary: Submit OTP + operationId: charge_submitOtp + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitOTP' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ChargeSubmitOTP' + responses: + '200': + $ref: '#/components/responses/ChargeSubmitOtpSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /charge/submit_phone: + post: + tags: + - Charge + summary: Submit Phone + operationId: charge_submitPhone + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitPhone' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ChargeSubmitPhone' + responses: + '200': + $ref: '#/components/responses/ChargeSubmitPhoneSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /charge/submit_birthday: + post: + tags: + - Charge + summary: Submit Birthday + operationId: charge_submitBirthday + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitBirthday' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ChargeSubmitBirthday' + responses: + '200': + $ref: '#/components/responses/ChargeSubmitBirthdaySuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /charge/submit_address: + post: + tags: + - Charge + summary: Submit Address + operationId: charge_submitAddress + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitAddress' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ChargeSubmitAddress' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /charge/{reference}: + get: + tags: + - Charge + summary: Check pending charge + operationId: charge_check + parameters: + - name: reference + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/ChargeCheckPendingSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bulkcharge: + post: + tags: + - Bulk Charge + summary: Initiate Bulk Charge + operationId: bulkCharge_initiate + requestBody: + content: + application/json: + schema: + type: array + items: + properties: + charges: + title: charges + type: object + items: + $ref: '#/components/schemas/BulkChargeInitiate' + application/x-www-form-urlencoded: + schema: + type: array + items: + properties: + charges: + type: object + items: + $ref: '#/components/schemas/BulkChargeInitiate' + responses: + '200': + $ref: '#/components/responses/BulkChargeInitiateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Bulk Charge + summary: List Bulk Charge Batches + operationId: bulkCharge_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/BulkChargeListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bulkcharge/{code}: + parameters: + - name: code + description: Batch code + in: path + required: true + schema: + type: string + get: + tags: + - Bulk Charge + summary: Fetch Bulk Charge Batch + operationId: bulkCharge_fetch + responses: + '200': + $ref: '#/components/responses/BulkChargeFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bulkcharge/{code}/charges: + get: + tags: + - Bulk Charge + summary: Fetch Charges in a Batch + operationId: bulkCharge_charges + parameters: + - name: code + description: Batch code + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/BulkChargeFetchBulkBatchChargesSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bulkcharge/pause/{code}: + get: + tags: + - Bulk Charge + summary: Pause Bulk Charge Batch + operationId: bulkCharge_pause + parameters: + - name: code + description: Batch code + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/BulkChargePauseSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bulkcharge/resume/{code}: + get: + tags: + - Bulk Charge + summary: Resume Bulk Charge Batch + operationId: bulkCharge_resume + parameters: + - name: code + description: Batch code + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/BulkChargeResumeSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /integration/payment_session_timeout: + get: + tags: + - Integration + summary: Fetch Payment Session Timeout + operationId: integration_fetchPaymentSessionTimeout + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Integration + summary: Update Payment Session Timeout + operationId: integration_updatePaymentSessionTimeout + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentSession' + responses: + '200': + $ref: '#/components/responses/Ok' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /refund: + post: + tags: + - Refund + summary: Create Refund + operationId: refund_create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefundCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/RefundCreate' + responses: + '200': + $ref: '#/components/responses/RefundCreateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + get: + tags: + - Refund + summary: List Refunds + operationId: refund_list + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/RefundListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /refund/{id}: + get: + tags: + - Refund + summary: Fetch Refund + operationId: refund_fetch + parameters: + - name: id + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/RefundFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute: + get: + tags: + - Dispute + summary: List Disputes + operationId: dispute_list + parameters: + - in: query + name: perPage + description: Number of records to fetch per page + schema: + type: integer + - in: query + name: page + description: The section to retrieve + schema: + type: integer + - in: query + name: status + description: Dispute Status. Acceptable values are awaiting-merchant-feedback, awaiting-bank-feedback, pending, resolved + schema: + type: string + - in: query + name: transaction + description: Transaction ID + schema: + type: string + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/DisputeListSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute/{id}: + parameters: + - name: id + description: Dispute ID + in: path + required: true + schema: + type: string + get: + tags: + - Dispute + summary: Fetch Dispute + operationId: dispute_fetch + responses: + '200': + $ref: '#/components/responses/DisputeFetchSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + put: + tags: + - Dispute + summary: Update Dispute + operationId: dispute_update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DisputeUpdate' + responses: + '200': + $ref: '#/components/responses/DisputeUpdateSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute/{id}/upload_url: + get: + tags: + - Dispute + summary: Get Upload URL + operationId: dispute_uploadUrl + parameters: + - name: id + description: Dispute ID + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/DisputeUploadURLSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute/export: + get: + tags: + - Dispute + summary: Export Disputes + operationId: dispute_download + parameters: + - in: query + name: perPage + schema: + type: integer + description: Number of records to fetch per page + - in: query + name: page + schema: + type: integer + description: The section to retrieve + - in: query + name: status + schema: + type: string + - in: query + name: from + schema: + type: string + format: date-time + description: The start date + - in: query + name: to + schema: + type: string + format: date-time + description: The end date + responses: + '200': + $ref: '#/components/responses/DisputeExportSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute/transaction/{id}: + get: + tags: + - Dispute + summary: List Transaction Disputes + operationId: dispute_transaction + parameters: + - name: id + description: Transaction ID + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/DisputeListTransactionSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute/{id}/resolve: + put: + tags: + - Dispute + summary: Resolve a Dispute + operationId: dispute_resolve + parameters: + - name: id + description: Dispute ID + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeResolve' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DisputeResolve' + responses: + '200': + $ref: '#/components/responses/DisputeResolveSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /dispute/{id}/evidence: + post: + tags: + - Dispute + summary: Add Evidence + operationId: dispute_evidence + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeEvidence' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/DisputeEvidence' + parameters: + - name: id + description: Dispute ID + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/DisputeAddEvidenceSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /bank: + get: + tags: + - Bank + summary: List Banks + operationId: bank_list + parameters: + - in: query + name: country + schema: + type: string + - in: query + name: pay_with_bank_transfer + schema: + type: boolean + - in: query + name: use_cursor + schema: + type: boolean + - in: query + name: perPage + schema: + type: integer + - in: query + name: next + schema: + type: string + - in: query + name: previous + schema: + type: string + - in: query + name: gateway + schema: + type: string + responses: + '200': + $ref: '#/components/responses/MiscellaneousListBanksSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bank/resolve: + get: + tags: + - Bank + summary: Resolve Account Number + operationId: bank_resolveAccountNumber + parameters: + - name: account_number + in: query + schema: + type: integer + example: 22728151 + - name: bank_code + in: query + schema: + type: integer + example: 63 + responses: + '200': + $ref: '#/components/responses/VerificationResolveAccountNumberSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /bank/validate: + post: + tags: + - Bank + summary: Validate Bank Account + operationId: bank_validateAccountNumber + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BankValidateRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BankValidateRequest' + responses: + '200': + $ref: '#/components/responses/VerificationValidateAccountSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + default: + description: Server error + /decision/bin/{bin}: + get: + tags: + - Miscellaneous + summary: Resolve Card BIN + operationId: miscellaneous_resolveCardBin + parameters: + - name: bin + in: path + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/responses/VerificationResolveCardBINSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /country: + get: + tags: + - Miscellaneous + summary: List Countries + operationId: miscellaneous_listCountries + responses: + '200': + $ref: '#/components/responses/MiscellaneousListCountriesSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error + /address_verification/states: + get: + tags: + - Miscellaneous + summary: List States (AVS) + operationId: miscellaneous_avs + parameters: + - in: query + name: type + schema: + type: string + - in: query + name: country + schema: + type: string + - in: query + name: currency + schema: + type: string + responses: + '200': + $ref: '#/components/responses/MiscellaneousListStatesSuccess' + '401': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/NotFound' + default: + description: Server error +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + description: Secret key in the format sk_domain_xxxxxx + schemas: + Currency: + description: List of all support currencies + type: string + enum: + - GHS + - KES + - NGN + - ZAR + - USD + example: GHS + SplitSubaccounts: + type: object + properties: + subaccount: + description: Subaccount code of the customer or partner + type: string + share: + description: The percentage or flat quota of the customer or partner + type: string + SplitCreate: + type: object + description: | + Split configuration for transactions + properties: + name: + description: Name of the transaction split + type: string + type: + description: The type of transaction split you want to create. + type: string + enum: + - percentage + - flat + subaccounts: + description: A list of object containing subaccount code and number of shares + type: array + items: + $ref: '#/components/schemas/SplitSubaccounts' + currency: + description: The transaction currency + type: string + enum: + - NGN + - GHS + - ZAR + - USD + bearer_type: + description: This allows you specify how the transaction charge should be processed + type: string + enum: + - subaccount + - account + - all-proportional + - all + bearer_subaccount: + description: This is the subaccount code of the customer or partner that would bear the transaction charge if you specified subaccount as the bearer type + type: string + required: + - name + - type + - subaccounts + - currency + TransactionInitialize: + description: Initialize a transaction + type: object + required: + - email + - amount + properties: + email: + description: Customer's email address + type: string + amount: + description: | + Amount should be in smallest denomination of the currency. For example if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: integer + currency: + $ref: '#/components/schemas/Currency' + reference: + description: Unique transaction reference. Only -, ., = and alphanumeric characters allowed. + type: string + channels: + description: An array of payment channels to control what channels you want to make available to the user to make a payment with + type: array + items: + type: string + enum: + - card + - bank + - ussd + - qr + - eft + - mobile_money + - bank_transfer + callback_url: + description: | + Fully qualified url, e.g. https://example.com/ to redirect your customers to after a successful payment. Use this to override the callback url provided on the dashboard for this transaction + type: string + plan: + description: | + If transaction is to create a subscription to a predefined plan, provide plan code here. + This would invalidate the value provided in amount + type: string + invoice_limit: + description: Number of times to charge customer during subscription to plan + type: integer + split_code: + description: The split code of the transaction split + type: string + split: + $ref: '#/components/schemas/SplitCreate' + subaccount: + description: The code for the subaccount that owns the payment + type: string + transaction_charge: + description: | + A flat fee to charge the subaccount for a transaction. + This overrides the split percentage set when the subaccount was created + type: string + bearer: + description: The bearer of the transaction charge + type: string + enum: + - account + - subaccount + label: + description: Used to replace the email address shown on the Checkout + type: string + metadata: + description: Stringified JSON object of custom data + type: string + example: + email: test@demo.com + amount: 10000 + TransactionInitializeResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + authorization_url: + type: string + access_code: + type: string + reference: + type: string + required: + - authorization_url + - access_code + - reference + required: + - status + - message + - data + ErrorMeta: + type: object + description: Extra details to help with a resolution of the error + properties: + nextStep: + type: string + description: A summarised solution for the error + TransactionInitializeBadRequestModel: + type: object + description: | + Error response returned when a transaction is initialized with incorrect parameters + properties: + status: + type: boolean + description: An indicator for the state of the request + message: + type: string + description: A short description of the error + meta: + $ref: '#/components/schemas/ErrorMeta' + type: + type: string + description: A tag to indicate the type of the error + enum: + - validation_error + - processor_error + - api_error + code: + type: string + description: The error code + errorCodeMappingNotFound: + type: boolean + description: An indicator for error mapping for the request + example: + status: false + message: Duplicate Transaction Reference + meta: + nextStep: Try and create the Transaction or Charge with a new reference + type: validation_error + code: duplicate_reference + errorCodeMappingNotFound: false + Error: + type: object + properties: + status: + type: boolean + description: An indicator for the state of the request + message: + type: string + description: A short description of the error + meta: + $ref: '#/components/schemas/ErrorMeta' + type: + type: string + description: A tag to indicate the type of the error + code: + type: string + description: The error code + enum: + - validation_error + - processor_error + - api_error + errorCodeMappingNotFound: + type: boolean + description: An indicator for error mapping for the request + TransactionVerifyResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + type: string + nullable: true + amount: + type: integer + message: + type: string + nullable: true + gateway_response: + type: string + paid_at: + type: string + nullable: true + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + anyOf: + - type: string + - type: object + log: + nullable: true + fees: + type: integer + nullable: true + fees_split: + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + bin: + nullable: true + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + nullable: true + last_name: + type: string + nullable: true + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + metadata: + nullable: true + risk_action: + type: string + international_format_phone: + type: string + nullable: true + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + nullable: true + split: + type: object + order_id: + nullable: true + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + transaction_date: + type: string + plan_object: + type: object + subaccount: + type: object + required: + - id + - domain + - status + - reference + - receipt_number + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + - transaction_date + - plan_object + - subaccount + required: + - status + - message + - data + TransactionListResponseArray: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + nullable: true + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + nullable: true + metadata: + type: object + nullable: true + log: + nullable: true + fees: + type: integer + nullable: true + fees_split: + type: integer + nullable: true + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + nullable: true + last_name: + type: string + nullable: true + email: + type: string + phone: + type: string + nullable: true + metadata: + type: object + nullable: true + customer_code: + type: string + risk_action: + type: string + required: + - id + - first_name + - last_name + - email + - phone + - metadata + - customer_code + - risk_action + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + plan: + type: object + split: + type: object + subaccount: + type: object + order_id: + nullable: true + requested_amount: + type: integer + source: + type: object + properties: + source: + type: string + type: + type: string + identifier: + nullable: true + entry_point: + type: string + required: + - source + - type + - identifier + - entry_point + nullable: true + connect: + type: object + nullable: true + pos_transaction_data: + nullable: true + required: + - id + - domain + - status + - reference + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - customer + - authorization + - plan + - split + - subaccount + - order_id + - requested_amount + - source + - connect + - pos_transaction_data + TransactionListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/TransactionListResponseArray' + meta: + type: object + properties: + total: + type: integer + total_volume: + type: number + skipped: + type: integer + perPage: + anyOf: + - type: string + - type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - total_volume + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + MetadataCustomFieldsArray: + type: object + properties: + value: + type: string + display_name: + type: string + variable_name: + type: string + required: + - value + - display_name + - variable_name + TransactionFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + nullable: true + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + helpdesk_link: + nullable: true + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + type: object + subaccount: + type: object + split: + type: object + order_id: + nullable: true + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + type: object + properties: + type: + type: string + source: + type: string + identifier: + nullable: true + required: + - type + - source + - identifier + fees_breakdown: + nullable: true + connect: + nullable: true + required: + - id + - domain + - status + - reference + - receipt_number + - amount + - message + - gateway_response + - helpdesk_link + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - subaccount + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + required: + - status + - message + - data + TransactionTimelineResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + required: + - status + - message + - data + TransactionTotalVolumeByCurrencyArray: + type: object + properties: + currency: + type: string + amount: + type: integer + required: + - currency + - amount + TransactionPendingTransfersByCurrencyArray: + type: object + properties: + currency: + type: string + amount: + type: integer + required: + - currency + - amount + TransactionTotalsResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + total_transactions: + type: integer + total_volume: + type: integer + total_volume_by_currency: + type: array + items: + $ref: '#/components/schemas/TransactionTotalVolumeByCurrencyArray' + pending_transfers: + type: integer + pending_transfers_by_currency: + type: array + items: + $ref: '#/components/schemas/TransactionPendingTransfersByCurrencyArray' + required: + - total_transactions + - total_volume + - total_volume_by_currency + - pending_transfers + - pending_transfers_by_currency + required: + - status + - message + - data + TransactionExportResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + path: + type: string + expiresAt: + type: string + required: + - path + - expiresAt + required: + - status + - message + - data + TransactionChargeAuthorization: + type: object + required: + - email + - amount + - authorization_code + properties: + email: + description: Customer's email address + type: string + amount: + description: Amount in the lower denomination of your currency + type: integer + authorization_code: + description: Valid authorization code to charge + type: string + reference: + description: Unique transaction reference. Only -, ., = and alphanumeric characters allowed. + type: string + currency: + $ref: '#/components/schemas/Currency' + split_code: + description: The split code of the transaction split + type: string + subaccount: + description: The code for the subaccount that owns the payment + type: string + transaction_charge: + description: |- + A flat fee to charge the subaccount for a transaction. + This overrides the split percentage set when the subaccount was created + type: string + bearer: + description: The bearer of the transaction charge + type: string + enum: + - account + - subaccount + metadata: + description: Stringified JSON object of custom data + type: string + queue: + description: If you are making a scheduled charge call, it is a good idea to queue them so the processing system does not get overloaded causing transaction processing errors. + type: boolean + example: + email: jb@email.com + amount: 30000 + authorization_code: AUTH_df1l5ehnym + TransactionChargeResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + status: + type: string + amount: + type: integer + currency: + type: string + transaction_date: + type: string + reference: + type: string + domain: + type: string + redirect_url: + type: string + nullable: true + metadata: + type: object + gateway_response: + type: string + message: + type: string + nullable: true + channel: + type: string + fees: + type: integer + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + nullable: true + bin: + type: string + nullable: true + last4: + type: string + nullable: true + exp_month: + type: string + exp_year: + type: string + channel: + type: string + nullable: true + card_type: + type: string + nullable: true + bank: + type: string + nullable: true + country_code: + type: string + nullable: true + brand: + type: string + nullable: true + reusable: + type: boolean + signature: + type: string + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + customer: + type: object + properties: + first_name: + type: string + nullable: true + last_name: + type: string + nullable: true + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + risk_action: + type: string + required: + - first_name + - last_name + - email + - customer_code + - phone + - risk_action + url: + type: string + required: + - status + - amount + - currency + - transaction_date + - reference + - domain + - redirect_url + - metadata + - gateway_response + - message + - channel + - fees + - authorization + - customer + required: + - status + - message + - data + TransactionPartialDebit: + type: object + required: + - email + - amount + - authorization_code + - currency + properties: + email: + description: Customer's email address + type: string + amount: + description: Specified in the lowest denomination of your currency + type: integer + format: int64 + authorization_code: + description: Valid authorization code to charge + type: string + currency: + $ref: '#/components/schemas/Currency' + at_least: + description: Minimum amount to charge + type: string + reference: + description: Unique transaction reference. Only -, ., = and alphanumeric characters allowed. + type: string + example: + email: tap@email.com + amount: 40510 + authorization_code: AUTH_df1l5ehnym + currency: ZAR + TransactionPartialDebitResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + amount: + type: integer + currency: + type: string + transaction_date: + type: string + status: + type: string + reference: + type: string + domain: + type: string + metadata: + type: string + gateway_response: + type: string + message: + nullable: true + channel: + type: string + ip_address: + nullable: true + log: + nullable: true + fees: + type: integer + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + nullable: true + last_name: + type: string + nullable: true + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + metadata: + type: object + nullable: true + risk_action: + type: string + international_format_phone: + type: string + nullable: true + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + type: integer + requested_amount: + type: integer + id: + type: integer + required: + - amount + - currency + - transaction_date + - status + - reference + - domain + - gateway_response + - message + - channel + - ip_address + - log + - fees + - authorization + - customer + - metadata + - plan + - requested_amount + - id + required: + - status + - message + - data + Response: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + SplitSubaccountsArray: + type: object + properties: + subaccount: + type: object + properties: + id: + type: integer + subaccount_code: + type: string + business_name: + type: string + description: + type: string + primary_contact_name: + type: string + primary_contact_email: + type: string + primary_contact_phone: + type: string + metadata: + type: string + settlement_bank: + type: string + currency: + type: string + account_number: + type: string + required: + - id + - subaccount_code + - business_name + - description + - primary_contact_name + - primary_contact_email + - primary_contact_phone + - metadata + - settlement_bank + - currency + - account_number + share: + type: integer + required: + - subaccount + - share + SplitListResponseArray: + type: object + properties: + id: + type: integer + name: + type: string + type: + type: string + currency: + type: string + integration: + type: integer + domain: + type: string + split_code: + type: string + active: + type: boolean + bearer_type: + type: string + bearer_subaccount: + type: integer + updatedAt: + type: string + is_dynamic: + type: boolean + subaccounts: + type: array + items: + $ref: '#/components/schemas/SplitSubaccountsArray' + total_subaccounts: + type: integer + required: + - id + - name + - type + - currency + - integration + - domain + - split_code + - active + - bearer_type + - bearer_subaccount + - updatedAt + - is_dynamic + - subaccounts + - total_subaccounts + SplitListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/SplitListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + SplitCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + name: + type: string + type: + type: string + currency: + type: string + integration: + type: integer + domain: + type: string + split_code: + type: string + active: + type: boolean + bearer_type: + type: string + bearer_subaccount: + type: integer + updatedAt: + type: string + is_dynamic: + type: boolean + subaccounts: + type: array + items: + $ref: '#/components/schemas/SplitSubaccountsArray' + total_subaccounts: + type: integer + required: + - id + - name + - type + - currency + - integration + - domain + - split_code + - active + - bearer_type + - bearer_subaccount + - updatedAt + - is_dynamic + - subaccounts + - total_subaccounts + required: + - status + - message + - data + SplitFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + name: + type: string + type: + type: string + currency: + type: string + integration: + type: integer + domain: + type: string + split_code: + type: string + active: + type: boolean + bearer_type: + type: string + bearer_subaccount: + type: integer + updatedAt: + type: string + is_dynamic: + type: boolean + subaccounts: + type: array + items: + $ref: '#/components/schemas/SplitSubaccountsArray' + total_subaccounts: + type: integer + required: + - id + - name + - type + - currency + - integration + - domain + - split_code + - active + - bearer_type + - bearer_subaccount + - updatedAt + - is_dynamic + - subaccounts + - total_subaccounts + required: + - status + - message + - data + SplitUpdate: + type: object + properties: + name: + description: Name of the transaction split + type: string + active: + description: Toggle status of split. When true, the split is active, else it's inactive + type: boolean + bearer_type: + description: This allows you specify how the transaction charge should be processed + type: string + enum: + - subaccount + - account + - all-proportional + - all + bearer_subaccount: + description: This is the subaccount code of the customer or partner that would bear the transaction charge if you specified subaccount as the bearer type + type: string + SplitUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + name: + type: string + type: + type: string + currency: + type: string + integration: + type: integer + domain: + type: string + split_code: + type: string + active: + type: boolean + bearer_type: + type: string + bearer_subaccount: + type: integer + updatedAt: + type: string + is_dynamic: + type: boolean + subaccounts: + type: array + items: + $ref: '#/components/schemas/SplitSubaccountsArray' + total_subaccounts: + type: integer + required: + - id + - name + - type + - currency + - integration + - domain + - split_code + - active + - bearer_type + - bearer_subaccount + - updatedAt + - is_dynamic + - subaccounts + - total_subaccounts + required: + - status + - message + - data + SplitAddUpdateSubaccountResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + name: + type: string + type: + type: string + currency: + type: string + integration: + type: integer + domain: + type: string + split_code: + type: string + active: + type: boolean + bearer_type: + type: string + bearer_subaccount: + type: integer + updatedAt: + type: string + is_dynamic: + type: boolean + subaccounts: + type: array + items: + $ref: '#/components/schemas/SplitSubaccountsArray' + total_subaccounts: + type: integer + required: + - id + - name + - type + - currency + - integration + - domain + - split_code + - active + - bearer_type + - bearer_subaccount + - updatedAt + - is_dynamic + - subaccounts + - total_subaccounts + required: + - status + - message + - data + SplitRemoveSubaccountResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TerminalSendEventData: + type: object + description: The parameters needed to perform the specified action + properties: + id: + description: The invoice or transaction ID you want to push to the Terminal + type: integer + format: int64 + reference: + description: The offline_reference from the Payment Request response + type: string + example: + id: 7895939 + reference: '4634337895939' + TerminalSendEvent: + type: object + properties: + type: + description: The type of event to push + type: string + enum: + - invoice + - transaction + action: + description: | + The action the Terminal needs to perform. For the invoice type, the action can either be process or view. + For the transaction type, the action can either be process or print. + type: string + enum: + - process + - view + - print + data: + $ref: '#/components/schemas/TerminalSendEventData' + TerminalGetStatusResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + online: + type: boolean + available: + type: boolean + required: + - online + - available + required: + - status + - message + - data + TerminalListsResponseArray: + type: object + properties: + id: + type: integer + serial_number: + type: string + nullable: true + device_make: + type: string + nullable: true + terminal_id: + type: string + integration: + type: integer + domain: + type: string + name: + type: string + nullable: true + address: + type: string + nullable: true + status: + type: string + required: + - id + - serial_number + - device_make + - terminal_id + - integration + - domain + - name + - address + - status + TerminalListsResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/TerminalListsResponseArray' + meta: + type: object + properties: + next: + type: array + nullable: true + items: {} + previous: + type: array + nullable: true + items: {} + perPage: + type: integer + required: + - next + - previous + - perPage + additionalProperties: false + required: + - status + - message + - data + - meta + TerminalGetResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + serial_number: + type: string + device_make: + type: string + nullable: true + terminal_id: + type: string + integration: + type: integer + domain: + type: string + name: + type: string + nullable: true + address: + type: string + nullable: true + status: + type: string + split_code: + type: string + nullable: true + required: + - id + - serial_number + - device_make + - terminal_id + - integration + - domain + - name + - address + - status + - split_code + required: + - status + - message + - data + TerminalUpate: + type: object + description: Model for updating a Terminal details + properties: + name: + description: The new name for the Terminal + type: string + address: + description: The new address for the Terminal + type: string + example: + name: Oreos + address: Somewhere on earth + TerminalUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TerminalActivationToggle: + type: object + description: Model for activating and deactivating a debug Terminal + required: + - serial_number + properties: + serial_number: + description: Device Serial Number + type: string + example: + serial_number: '1111150412230003899' + TerminalCommissionDeviceResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TerminalDecommissionDeviceResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + CustomerListResponseArray: + type: object + properties: + integration: + type: integer + first_name: + type: string + nullable: true + last_name: + type: string + nullable: true + email: + type: string + phone: + type: string + nullable: true + metadata: + type: object + nullable: true + domain: + type: string + customer_code: + type: string + risk_action: + type: string + id: + type: integer + updatedAt: + type: string + required: + - integration + - first_name + - last_name + - email + - phone + - metadata + - domain + - customer_code + - risk_action + - id + - updatedAt + CustomerListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/CustomerListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + anyOf: + - type: string + - type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + CustomerCreate: + type: object + required: + - email + properties: + email: + description: Customer's email address + type: string + first_name: + description: Customer's first name + type: string + last_name: + description: Customer's last name + type: string + phone: + description: Customer's phone number + type: string + metadata: + description: Stringified JSON object of custom data + type: string + CustomerCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + transactions: + type: array + items: {} + subscriptions: + type: array + items: {} + authorizations: + type: array + items: {} + email: + type: string + first_name: + type: string + last_name: + type: string + phone: + type: string + integration: + type: integer + domain: + type: string + metadata: + type: object + properties: + calling_code: + type: string + customer_code: + type: string + risk_action: + type: string + id: + type: integer + updatedAt: + type: string + identified: + type: boolean + identifications: + nullable: true + required: + - transactions + - subscriptions + - authorizations + - email + - first_name + - last_name + - phone + - integration + - domain + - metadata + - customer_code + - risk_action + - id + - updatedAt + - identified + - identifications + required: + - status + - message + - data + CustomerFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + transactions: + type: array + items: {} + subscriptions: + type: array + items: {} + authorizations: + type: array + items: {} + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + metadata: + type: object + properties: + calling_code: + type: string + domain: + type: string + customer_code: + type: string + risk_action: + type: string + id: + type: integer + integration: + type: integer + updatedAt: + type: string + created_at: + type: string + updated_at: + type: string + total_transactions: + type: integer + total_transaction_value: + type: array + items: {} + dedicated_account: + nullable: true + dedicated_accounts: + type: array + items: {} + nullable: true + identified: + type: boolean + identifications: + nullable: true + required: + - transactions + - subscriptions + - authorizations + - first_name + - last_name + - email + - phone + - metadata + - domain + - customer_code + - risk_action + - id + - integration + - updatedAt + - created_at + - updated_at + - total_transactions + - total_transaction_value + - dedicated_account + - dedicated_accounts + - identified + - identifications + required: + - status + - message + - data + CustomerUpdate: + type: object + properties: + first_name: + description: Customer's first name + type: string + last_name: + description: Customer's last name + type: string + phone: + description: Customer's phone number + type: string + metadata: + description: Stringified JSON object of custom data + type: string + CustomerUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + metadata: + type: object + domain: + type: string + customer_code: + type: string + risk_action: + type: string + id: + type: integer + integration: + type: integer + updatedAt: + type: string + identified: + type: boolean + identifications: + nullable: true + required: + - first_name + - last_name + - email + - phone + - metadata + - domain + - customer_code + - risk_action + - id + - integration + - updatedAt + - identified + - identifications + required: + - status + - message + - data + CustomerRiskAction: + type: object + required: + - customer + properties: + customer: + description: Customer's code, or email address + type: string + risk_action: + description: | + One of the possible risk actions [ default, allow, deny ]. allow to whitelist. + deny to blacklist. Customers start with a default risk action. + type: string + CustomerWhitelistBlacklistResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + transactions: + type: array + items: {} + subscriptions: + type: array + items: {} + authorizations: + type: array + items: {} + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + metadata: + type: object + domain: + type: string + customer_code: + type: string + risk_action: + type: string + id: + type: integer + integration: + type: integer + updatedAt: + type: string + identified: + type: boolean + identifications: + nullable: true + required: + - transactions + - subscriptions + - authorizations + - first_name + - last_name + - email + - phone + - metadata + - domain + - customer_code + - risk_action + - id + - integration + - updatedAt + - identified + - identifications + required: + - status + - message + - data + CustomerDeactivateAuthorization: + type: object + required: + - authorization_code + properties: + authorization_code: + description: Authorization code to be deactivated + type: string + CustomerDeactivateAuthorizationResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + CustomerValidate: + type: object + required: + - first_name + - last_name + - type + - country + - bvn + - bank_code + - account_number + properties: + first_name: + description: Customer's first name + type: string + middle_name: + description: Customer's middle name + type: string + last_name: + description: Customer's last name + type: string + type: + description: Predefined types of identification. + type: string + value: + description: Customer's identification number. Required if type is bvn + type: string + country: + description: Two-letter country code of identification issuer + type: string + bvn: + description: Customer's Bank Verification Number + type: string + bank_code: + description: You can get the list of bank codes by calling the List Banks endpoint (https://api.paystack.co/bank). + type: string + account_number: + description: Customer's bank account number. + type: string + CustomerValidateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + DedicatedNubanFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + nullable: true + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + bank: + type: object + properties: + name: + type: string + id: + type: integer + slug: + type: string + required: + - name + - id + - slug + id: + type: integer + account_name: + type: string + account_number: + type: string + created_at: + type: string + updated_at: + type: string + currency: + type: string + split_config: + nullable: true + active: + type: boolean + assigned: + type: boolean + required: + - customer + - bank + - id + - account_name + - account_number + - created_at + - updated_at + - currency + - split_config + - active + - assigned + required: + - status + - message + - data + DedicatedVirtualAccountCreate: + type: object + required: + - customer + properties: + customer: + description: Customer ID or code + type: string + preferred_bank: + description: The bank slug for preferred bank. To get a list of available banks, use the List Providers endpoint + type: string + subaccount: + description: Subaccount code of the account you want to split the transaction with + type: string + split_code: + description: Split code consisting of the lists of accounts you want to split the transaction with + type: string + DedicatedNubanCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + bank: + type: object + properties: + name: + type: string + id: + type: integer + slug: + type: string + required: + - name + - id + - slug + account_name: + type: string + account_number: + type: string + assigned: + type: boolean + currency: + type: string + metadata: + nullable: true + active: + type: boolean + id: + type: integer + created_at: + type: string + updated_at: + type: string + assignment: + type: object + properties: + integration: + type: integer + assignee_id: + type: integer + assignee_type: + type: string + expired: + type: boolean + account_type: + type: string + assigned_at: + type: string + expired_at: + nullable: true + required: + - integration + - assignee_id + - assignee_type + - expired + - account_type + - assigned_at + - expired_at + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + nullable: true + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + required: + - bank + - account_name + - account_number + - assigned + - currency + - metadata + - active + - id + - created_at + - updated_at + - assignment + - customer + required: + - status + - message + - data + DedicatedVirtualAccountAssign: + type: object + required: + - email + - first_name + - last_name + - phone + - preferred_bank + - country + properties: + email: + description: Customer's email address + type: string + first_name: + description: Customer's first name + type: string + last_name: + description: Customer's last name + type: string + phone: + description: Customer's phone name + type: string + preferred_bank: + description: | + The bank slug for preferred bank. To get a list of available banks, + use the List Banks endpoint, passing `pay_with_bank_transfer=true` query parameter + type: string + country: + description: Currently accepts NG only + type: string + account_number: + description: Customer's account number + type: string + bvn: + description: Customer's Bank Verification Number + type: string + bank_code: + description: Customer's bank code + type: string + subaccount: + description: Subaccount code of the account you want to split the transaction with + type: string + split_code: + description: Split code consisting of the lists of accounts you want to split the transaction with + type: string + DedicatedNubanDeactivateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + bank: + type: object + properties: + name: + type: string + id: + type: integer + slug: + type: string + required: + - name + - id + - slug + account_name: + type: string + account_number: + type: string + assigned: + type: boolean + currency: + type: string + metadata: + nullable: true + active: + type: boolean + id: + type: integer + created_at: + type: string + updated_at: + type: string + assignment: + type: object + properties: + assignee_id: + type: integer + assignee_type: + type: string + assigned_at: + type: string + integration: + type: integer + account_type: + type: string + required: + - assignee_id + - assignee_type + - assigned_at + - integration + - account_type + required: + - bank + - account_name + - account_number + - assigned + - currency + - metadata + - active + - id + - created_at + - updated_at + - assignment + required: + - status + - message + - data + DedicatedVirtualAccountSplit: + type: object + required: + - account_number + properties: + account_number: + description: Valid Dedicated virtual account + type: string + subaccount: + description: Subaccount code of the account you want to split the transaction with + type: string + split_code: + description: Split code consisting of the lists of accounts you want to split the transaction with + type: string + ApplePayParam: + type: object + required: + - domainName + properties: + domainName: + description: The domain or subdomain for your application + type: string + example: + domainName: example.com + ApplePayCreateOkModel: + type: object + properties: + status: + description: An indicator + type: boolean + message: + description: A short description of the response + type: string + example: + status: true + message: Domain successfully registered on Apple Pay + SubaccountListResponseArray: + type: object + properties: + id: + type: integer + subaccount_code: + type: string + business_name: + type: string + description: + type: string + primary_contact_name: + type: string + primary_contact_email: + type: string + primary_contact_phone: + type: string + metadata: + type: string + percentage_charge: + type: number + settlement_bank: + type: string + bank_id: + type: integer + account_number: + type: string + currency: + type: string + active: + type: integer + required: + - id + - subaccount_code + - business_name + - description + - primary_contact_name + - primary_contact_email + - primary_contact_phone + - metadata + - percentage_charge + - settlement_bank + - bank_id + - account_number + - currency + - active + SubaccountListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/SubaccountListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + SubaccountCreate: + type: object + required: + - business_name + - settlement_bank + - account_number + - percentage_charge + properties: + business_name: + description: Name of business for subaccount + type: string + settlement_bank: + description: Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. + type: string + account_number: + description: Bank account number + type: string + percentage_charge: + description: Customer's phone number + type: number + format: float + description: + description: A description for this subaccount + type: string + primary_contact_email: + description: A contact email for the subaccount + type: string + primary_contact_name: + description: The name of the contact person for this subaccount + type: string + primary_contact_phone: + description: A phone number to call for this subaccount + type: string + metadata: + description: Stringified JSON object of custom data + type: string + SubaccountCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + business_name: + type: string + account_name: + type: string + nullable: true + description: + type: string + primary_contact_name: + type: string + primary_contact_email: + type: string + primary_contact_phone: + type: string + metadata: + type: string + account_number: + type: string + percentage_charge: + type: number + settlement_bank: + type: string + currency: + type: string + bank: + type: integer + integration: + type: integer + domain: + type: string + product: + type: string + managed_by_integration: + type: integer + subaccount_code: + type: string + is_verified: + type: boolean + settlement_schedule: + type: string + active: + type: boolean + migrate: + type: boolean + id: + type: integer + updatedAt: + type: string + required: + - business_name + - description + - primary_contact_name + - primary_contact_email + - primary_contact_phone + - metadata + - account_number + - percentage_charge + - settlement_bank + - currency + - bank + - integration + - domain + - managed_by_integration + - product + - subaccount_code + - is_verified + - settlement_schedule + - active + - migrate + - id + - updatedAt + required: + - status + - message + - data + SubaccountFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + integration: + type: integer + account_name: + type: string + nullable: true + bank: + type: integer + managed_by_integration: + type: integer + domain: + type: string + subaccount_code: + type: string + business_name: + type: string + description: + type: string + primary_contact_name: + type: string + primary_contact_email: + type: string + primary_contact_phone: + type: string + metadata: + type: string + percentage_charge: + type: number + is_verified: + type: boolean + settlement_bank: + type: string + account_number: + type: string + settlement_schedule: + type: string + active: + type: boolean + migrate: + type: boolean + currency: + type: string + product: + type: string + id: + type: integer + updatedAt: + type: string + required: + - integration + - bank + - managed_by_integration + - domain + - subaccount_code + - business_name + - description + - primary_contact_name + - primary_contact_email + - primary_contact_phone + - metadata + - percentage_charge + - is_verified + - settlement_bank + - account_number + - settlement_schedule + - active + - migrate + - currency + - product + - id + - updatedAt + required: + - status + - message + - data + SubaccountUpdate: + type: object + properties: + business_name: + description: Name of business for subaccount + type: string + settlement_bank: + description: Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. + type: string + account_number: + description: Bank account number + type: string + active: + description: Activate or deactivate a subaccount + type: boolean + percentage_charge: + description: Customer's phone number + type: number + format: float + description: + description: A description for this subaccount + type: string + primary_contact_email: + description: A contact email for the subaccount + type: string + primary_contact_name: + description: The name of the contact person for this subaccount + type: string + primary_contact_phone: + description: A phone number to call for this subaccount + type: string + metadata: + description: Stringified JSON object of custom data + type: string + SubaccountUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + domain: + type: string + subaccount_code: + type: string + account_name: + type: string + nullable: true + business_name: + type: string + description: + type: string + primary_contact_name: + type: string + primary_contact_email: + type: string + primary_contact_phone: + type: string + metadata: + type: string + percentage_charge: + type: number + is_verified: + type: boolean + settlement_bank: + type: string + account_number: + type: string + settlement_schedule: + type: string + active: + type: boolean + migrate: + type: boolean + currency: + type: string + product: + type: string + id: + type: integer + integration: + type: integer + bank: + type: integer + managed_by_integration: + type: integer + updatedAt: + type: string + required: + - domain + - subaccount_code + - business_name + - description + - primary_contact_name + - primary_contact_email + - primary_contact_phone + - metadata + - percentage_charge + - is_verified + - settlement_bank + - account_number + - settlement_schedule + - active + - migrate + - currency + - product + - id + - integration + - bank + - managed_by_integration + - updatedAt + required: + - status + - message + - data + PlanListResponseArray: + type: object + properties: + subscriptions: + type: array + items: {} + pages: + type: array + items: {} + domain: + type: string + name: + type: string + plan_code: + type: string + description: + nullable: true + amount: + type: integer + interval: + type: string + invoice_limit: + type: integer + send_invoices: + type: boolean + send_sms: + type: boolean + hosted_page: + type: boolean + hosted_page_url: + nullable: true + hosted_page_summary: + nullable: true + currency: + type: string + migrate: + type: boolean + is_deleted: + type: boolean + is_archived: + type: boolean + id: + type: integer + integration: + type: integer + updatedAt: + type: string + total_subscriptions: + type: integer + active_subscriptions: + type: integer + total_subscriptions_revenue: + type: integer + required: + - subscriptions + - pages + - domain + - name + - plan_code + - description + - amount + - interval + - invoice_limit + - send_invoices + - send_sms + - hosted_page + - hosted_page_url + - hosted_page_summary + - currency + - migrate + - is_deleted + - is_archived + - id + - integration + - updatedAt + - total_subscriptions + - active_subscriptions + - total_subscriptions_revenue + PlanListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/PlanListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + PlanCreate: + type: object + required: + - name + - amount + - interval + properties: + name: + description: Name of plan + type: string + amount: + description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: integer + interval: + description: Interval in words. Valid intervals are daily, weekly, monthly,biannually, annually + type: string + description: + description: A description for this plan + type: string + send_invoices: + description: Set to false if you don't want invoices to be sent to your customers + type: boolean + send_sms: + description: Set to false if you don't want text messages to be sent to your customers + type: boolean + currency: + description: Currency in which amount is set. Allowed values are NGN, GHS, ZAR or USD + type: string + invoice_limit: + description: |- + Number of invoices to raise during subscription to this plan. + Can be overridden by specifying an invoice_limit while subscribing. + type: integer + PlanCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + currency: + type: string + name: + type: string + amount: + type: integer + interval: + type: string + integration: + type: integer + domain: + type: string + plan_code: + type: string + invoice_limit: + type: integer + send_invoices: + type: boolean + send_sms: + type: boolean + hosted_page: + type: boolean + migrate: + type: boolean + is_archived: + type: boolean + id: + type: integer + updatedAt: + type: string + required: + - currency + - name + - amount + - interval + - integration + - domain + - plan_code + - invoice_limit + - send_invoices + - send_sms + - hosted_page + - migrate + - is_archived + - id + - updatedAt + required: + - status + - message + - data + PlanFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + subscriptions: + type: array + items: {} + pages: + type: array + items: {} + domain: + type: string + name: + type: string + plan_code: + type: string + description: + nullable: true + amount: + type: integer + interval: + type: string + invoice_limit: + type: integer + send_invoices: + type: boolean + send_sms: + type: boolean + hosted_page: + type: boolean + hosted_page_url: + nullable: true + hosted_page_summary: + nullable: true + currency: + type: string + migrate: + type: boolean + is_deleted: + type: boolean + is_archived: + type: boolean + id: + type: integer + integration: + type: integer + updatedAt: + type: string + pages_count: + type: integer + subscribers_count: + type: integer + subscriptions_count: + type: integer + active_subscriptions_count: + type: integer + nullable: true + total_revenue: + type: integer + subscribers: + type: array + items: {} + required: + - subscriptions + - pages + - domain + - name + - plan_code + - description + - amount + - interval + - invoice_limit + - send_invoices + - send_sms + - hosted_page + - hosted_page_url + - hosted_page_summary + - currency + - migrate + - is_deleted + - is_archived + - id + - integration + - updatedAt + - pages_count + - subscribers_count + - subscriptions_count + - active_subscriptions_count + - total_revenue + - subscribers + required: + - status + - message + - data + PlanUpdate: + type: object + properties: + name: + description: Name of plan + type: string + amount: + description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: integer + interval: + description: Interval in words. Valid intervals are daily, weekly, monthly,biannually, annually + type: string + description: + description: A description for this plan + type: boolean + send_invoices: + description: Set to false if you don't want invoices to be sent to your customers + type: boolean + send_sms: + description: Set to false if you don't want text messages to be sent to your customers + type: boolean + currency: + description: Currency in which amount is set. Allowed values are NGN, GHS, ZAR or USD + type: string + invoice_limit: + description: |- + Number of invoices to raise during subscription to this plan. + Can be overridden by specifying an invoice_limit while subscribing. + type: integer + PlanUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + SubscriptionListResponseArray: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + start: + type: integer + quantity: + type: integer + subscription_code: + type: string + email_token: + type: string + amount: + type: integer + cron_expression: + type: string + nullable: true + next_payment_date: + type: string + nullable: true + open_invoice: + nullable: true + integration: + type: integer + plan: + type: object + properties: + id: + type: integer + domain: + type: string + name: + type: string + plan_code: + type: string + description: + nullable: true + amount: + type: integer + interval: + type: string + send_invoices: + type: boolean + send_sms: + type: boolean + currency: + type: string + integration: + type: integer + updatedAt: + type: string + required: + - id + - domain + - name + - plan_code + - description + - amount + - interval + - send_invoices + - send_sms + - currency + - integration + - updatedAt + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + nullable: true + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + nullable: true + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: integer + signature: + type: string + nullable: true + account_name: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + metadata: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + invoice_limit: + type: integer + split_code: + nullable: true + payments_count: + type: integer + most_recent_invoice: + nullable: true + required: + - id + - domain + - status + - start + - quantity + - subscription_code + - email_token + - amount + - cron_expression + - next_payment_date + - open_invoice + - integration + - plan + - authorization + - customer + - invoice_limit + - split_code + - payments_count + - most_recent_invoice + SubscriptionListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + SubscriptionCreate: + type: object + required: + - customer + - plan + properties: + customer: + description: Customer's email address or customer code + type: string + plan: + description: Plan code + type: string + authorization: + description: |- + If customer has multiple authorizations, you can set the desired authorization you wish to use for this subscription here. + If this is not supplied, the customer's most recent authorization would be used + type: string + start_date: + description: Set the date for the first debit. (ISO 8601 format) e.g. 2017-05-16T00:30:13+01:00 + type: string + format: date-time + SubscriptionCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + customer: + type: integer + plan: + type: integer + integration: + type: integer + domain: + type: string + start: + type: integer + status: + type: string + quantity: + type: integer + amount: + type: integer + authorization: + type: integer + invoice_limit: + type: integer + split_code: + nullable: true + subscription_code: + type: string + email_token: + type: string + id: + type: integer + cancelledAt: + nullable: true + updatedAt: + type: string + cron_expression: + type: string + next_payment_date: + type: string + required: + - customer + - plan + - integration + - domain + - start + - status + - quantity + - amount + - authorization + - invoice_limit + - split_code + - subscription_code + - email_token + - id + - cancelledAt + - updatedAt + - cron_expression + - next_payment_date + required: + - status + - message + - data + SubscriptionFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + subscription_code: + type: string + email_token: + type: string + amount: + type: integer + cron_expression: + type: string + next_payment_date: + type: string + open_invoice: + nullable: true + cancelledAt: + nullable: true + integration: + type: integer + plan: + type: object + properties: + id: + type: integer + name: + type: string + plan_code: + type: string + description: + nullable: true + amount: + type: integer + interval: + type: string + send_invoices: + type: boolean + send_sms: + type: boolean + currency: + type: string + required: + - id + - name + - plan_code + - description + - amount + - interval + - send_invoices + - send_sms + - currency + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + invoices: + type: array + items: {} + invoices_history: + type: array + items: {} + invoice_limit: + type: integer + split_code: + nullable: true + most_recent_invoice: + nullable: true + payments_count: + type: integer + required: + - id + - domain + - status + - subscription_code + - email_token + - amount + - cron_expression + - next_payment_date + - open_invoice + - cancelledAt + - integration + - plan + - authorization + - customer + - invoices + - invoices_history + - invoice_limit + - split_code + - most_recent_invoice + - payments_count + required: + - status + - message + - data + SubscriptionToggle: + type: object + required: + - code + - token + properties: + code: + description: Subscription code + type: string + token: + description: Email token + type: string + SubscriptionDisableResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + ProductListsResponseArray: + type: object + properties: + id: + type: integer + name: + type: string + description: + type: string + product_code: + type: string + slug: + type: string + currency: + type: string + price: + type: integer + quantity: + type: integer + quantity_sold: + type: integer + active: + type: boolean + domain: + type: string + type: + type: string + in_stock: + type: boolean + unlimited: + type: boolean + metadata: + type: object + properties: + background_color: + type: string + required: + - background_color + files: + type: array + items: {} + success_message: + nullable: true + redirect_url: + nullable: true + split_code: + nullable: true + notification_emails: + nullable: true + minimum_orderable: + type: integer + maximum_orderable: + nullable: true + updatedAt: + type: string + digital_assets: + type: array + items: {} + variant_options: + type: array + items: {} + is_shippable: + type: boolean + shipping_fields: + type: object + properties: + delivery_note: + type: string + shipping_address: + type: string + shipping_fees: + type: array + items: {} + required: + - delivery_note + - shipping_address + - shipping_fees + integration: + type: integer + low_stock_alert: + type: integer + required: + - id + - name + - description + - product_code + - slug + - currency + - price + - quantity + - quantity_sold + - active + - domain + - type + - in_stock + - unlimited + - metadata + - files + - success_message + - redirect_url + - split_code + - notification_emails + - minimum_orderable + - maximum_orderable + - updatedAt + - digital_assets + - variant_options + - is_shippable + - shipping_fields + - integration + - low_stock_alert + ProductListsResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/ProductListsResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: string + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + ProductCreate: + type: object + required: + - name + - description + - price + - currency + properties: + name: + description: Name of product + type: string + description: + description: The description of the product + type: string + price: + description: | + Price should be in kobo if currency is NGN, pesewas, if currency is GHS, + and cents, if currency is ZAR + type: integer + currency: + description: | + Currency in which price is set. Allowed values are: NGN, GHS, ZAR or USD + type: string + unlimited: + description: | + Set to true if the product has unlimited stock. Leave as false if the + product has limited stock + type: boolean + quantity: + description: Number of products in stock. Use if limited is true + type: integer + split_code: + description: The split code if sharing the transaction with partners + type: string + metadata: + description: Stringified JSON object of custom data + type: string + ProductCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + variants_options: + type: array + items: {} + variants: + type: array + items: {} + name: + type: string + description: + type: string + currency: + type: string + price: + type: integer + quantity: + type: integer + type: + type: string + is_shippable: + type: boolean + unlimited: + type: boolean + files: + type: array + items: {} + shipping_fields: + type: object + properties: + delivery_note: + type: string + shipping_address: + type: string + shipping_fees: + type: array + items: {} + required: + - delivery_note + - shipping_address + - shipping_fees + integration: + type: integer + domain: + type: string + metadata: + type: object + properties: + background_color: + type: string + required: + - background_color + slug: + type: string + product_code: + type: string + quantity_sold: + type: integer + active: + type: boolean + deleted_at: + nullable: true + in_stock: + type: boolean + minimum_orderable: + type: integer + maximum_orderable: + type: integer + nullable: true + redirect_url: + type: string + nullable: true + low_stock_alert: + type: boolean + id: + type: integer + updatedAt: + type: string + required: + - variants_options + - variants + - name + - description + - currency + - price + - quantity + - type + - is_shippable + - unlimited + - files + - shipping_fields + - integration + - domain + - metadata + - slug + - product_code + - quantity_sold + - active + - deleted_at + - in_stock + - minimum_orderable + - maximum_orderable + - low_stock_alert + - id + - updatedAt + required: + - status + - message + - data + ProductFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + digital_assets: + type: array + items: {} + integration: + type: integer + name: + type: string + description: + type: string + product_code: + type: string + price: + type: integer + currency: + type: string + quantity: + type: integer + quantity_sold: + nullable: true + type: + type: string + files: + type: array + items: {} + file_path: + nullable: true + is_shippable: + type: boolean + shipping_fields: + type: object + properties: + delivery_note: + type: string + shipping_address: + type: string + shipping_fees: + type: array + items: {} + required: + - delivery_note + - shipping_address + - shipping_fees + unlimited: + type: boolean + domain: + type: string + active: + type: boolean + features: + nullable: true + in_stock: + type: boolean + metadata: + type: object + properties: + background_color: + type: string + required: + - background_color + slug: + type: string + success_message: + nullable: true + redirect_url: + nullable: true + split_code: + nullable: true + notification_emails: + nullable: true + minimum_orderable: + type: integer + maximum_orderable: + nullable: true + low_stock_alert: + type: boolean + stock_threshold: + nullable: true + expires_in: + nullable: true + id: + type: integer + updatedAt: + type: string + required: + - digital_assets + - integration + - name + - description + - product_code + - price + - currency + - quantity + - quantity_sold + - type + - files + - file_path + - is_shippable + - shipping_fields + - unlimited + - domain + - active + - features + - in_stock + - metadata + - slug + - success_message + - redirect_url + - split_code + - notification_emails + - minimum_orderable + - maximum_orderable + - low_stock_alert + - stock_threshold + - expires_in + - id + - updatedAt + required: + - status + - message + - data + ProductUpdate: + type: object + properties: + name: + description: Name of product + type: string + description: + description: The description of the product + type: string + price: + description: | + Price should be in kobo if currency is NGN, pesewas, if currency is GHS, + and cents, if currency is ZAR + type: integer + currency: + description: | + Currency in which price is set. Allowed values are: NGN, GHS, ZAR or USD + type: string + unlimited: + description: | + Set to true if the product has unlimited stock. Leave as false if the + product has limited stock + type: boolean + quantity: + description: Number of products in stock. Use if limited is true + type: integer + split_code: + description: The split code if sharing the transaction with partners + type: string + metadata: + description: Stringified JSON object of custom data + type: string + ProductUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + name: + type: string + description: + type: string + product_code: + type: string + price: + type: integer + currency: + type: string + quantity: + type: integer + quantity_sold: + type: integer + type: + type: string + files: + type: array + items: {} + file_path: + nullable: true + is_shippable: + type: boolean + shipping_fields: + type: object + properties: + delivery_note: + type: string + shipping_address: + type: string + shipping_fees: + type: array + items: {} + required: + - delivery_note + - shipping_address + - shipping_fees + unlimited: + type: boolean + domain: + type: string + active: + type: boolean + features: + nullable: true + in_stock: + type: boolean + metadata: + type: object + properties: + background_color: + type: string + required: + - background_color + slug: + type: string + success_message: + nullable: true + redirect_url: + nullable: true + split_code: + nullable: true + notification_emails: + nullable: true + minimum_orderable: + type: integer + maximum_orderable: + nullable: true + low_stock_alert: + type: boolean + stock_threshold: + nullable: true + expires_in: + nullable: true + id: + type: integer + integration: + type: integer + updatedAt: + type: string + required: + - name + - description + - product_code + - price + - currency + - quantity + - quantity_sold + - type + - files + - file_path + - is_shippable + - shipping_fields + - unlimited + - domain + - active + - features + - in_stock + - metadata + - slug + - success_message + - redirect_url + - split_code + - notification_emails + - minimum_orderable + - maximum_orderable + - low_stock_alert + - stock_threshold + - expires_in + - id + - integration + - updatedAt + required: + - status + - message + - data + ProductDeleteResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + StorefrontListResponseArray: + type: object + properties: + id: + type: integer + name: + type: string + slug: + type: string + orders_count: + type: integer + status: + type: string + revenue: + nullable: true + currency: + type: string + products: + type: array + items: {} + contacts: + type: array + items: {} + social_media: + type: array + items: {} + shipping_fees: + type: array + items: {} + required: + - id + - name + - slug + - orders_count + - status + - revenue + - currency + - products + - contacts + - social_media + - shipping_fees + StorefrontListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/StorefrontListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + StorefrontCreate: + type: object + required: + - name + - slug + - currency + properties: + name: + description: Name of the storefront + type: string + slug: + description: | + A unique identifier to access your store. Once the storefront is created, it can be accessed from + https://paystack.shop/your-slug + type: string + currency: + description: | + Currency for prices of products in your storefront. Allowed values are: `NGN`, `GHS`, `KES`, `ZAR` or `USD` + type: string + description: + description: The description of the storefront + type: string + StorefrontContactsArray: + type: object + properties: + value: + type: string + id: + type: integer + type_name: + nullable: true + type: + type: integer + required: + - value + - id + - type_name + - type + StorefrontCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + social_media: + type: array + items: {} + contacts: + type: array + items: + $ref: '#/components/schemas/StorefrontContactsArray' + name: + type: string + slug: + type: string + currency: + type: string + welcome_message: + nullable: true + success_message: + nullable: true + redirect_url: + nullable: true + description: + nullable: true + delivery_note: + type: string + background_color: + type: string + status: + type: string + shippable: + type: boolean + integration: + type: integer + domain: + type: string + digital_product_expiry: + nullable: true + metadata: + type: object + nullable: true + id: + type: integer + updatedAt: + type: string + products: + type: array + items: {} + shipping_fees: + type: array + items: {} + required: + - social_media + - contacts + - name + - slug + - currency + - welcome_message + - success_message + - redirect_url + - description + - delivery_note + - background_color + - status + - shippable + - integration + - domain + - digital_product_expiry + - id + - updatedAt + - products + - shipping_fees + required: + - status + - message + - data + StorefrontFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + social_media: + type: array + items: {} + contacts: + type: array + items: + $ref: '#/components/schemas/StorefrontContactsArray' + name: + type: string + slug: + type: string + currency: + type: string + welcome_message: + nullable: true + success_message: + nullable: true + redirect_url: + nullable: true + description: + nullable: true + delivery_note: + type: string + background_color: + type: string + status: + type: string + shippable: + type: boolean + integration: + type: integer + domain: + type: string + digital_product_expiry: + nullable: true + metadata: + type: object + nullable: true + id: + type: integer + updatedAt: + type: string + products: + type: array + items: {} + shipping_fees: + type: array + items: {} + required: + - social_media + - contacts + - name + - slug + - currency + - welcome_message + - success_message + - redirect_url + - description + - delivery_note + - background_color + - status + - shippable + - integration + - domain + - digital_product_expiry + - id + - updatedAt + - products + - shipping_fees + meta: + type: object + properties: + product_count: + type: integer + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - product_count + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + StorefrontUpdate: + type: object + properties: + name: + description: Name of the storefront + type: string + slug: + description: | + A unique identifier to access your store. Once the storefront is created, it can be accessed from + https://paystack.shop/your-slug + type: string + description: + description: The description of the storefront + type: string + StorefrontUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + StorefrontDeleteResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + StorefrontAddProducts: + type: object + required: + - products + properties: + products: + description: An array of product IDs + type: array + items: + type: integer + OrderItemsArray: + type: object + properties: + order_item_id: + type: integer + orderId: + type: integer + type: + type: string + item: + type: integer + current_total_items_price: + type: integer + files: + type: string + order: + type: integer + amount: + type: integer + quantity: + type: integer + name: + type: string + product_level_type: + type: string + product_id: + type: integer + product_success_message: + nullable: true + product_redirect_url: + nullable: true + IFNULL(p1.expires_in, p2.expires_in): + nullable: true + product_quantity_sold: + type: integer + product_notification_emails: + nullable: true + IFNULL(p1.metadata, p2.metadata): + type: string + storefront_redirect_url: + nullable: true + storefront_success_message: + nullable: true + required: + - order_item_id + - orderId + - type + - item + - current_total_items_price + - files + - order + - amount + - quantity + - name + - product_level_type + - product_id + - product_success_message + - product_redirect_url + - IFNULL(p1.expires_in, p2.expires_in) + - product_quantity_sold + - product_notification_emails + - IFNULL(p1.metadata, p2.metadata) + - storefront_redirect_url + - storefront_success_message + OrderListResponseArray: + type: object + properties: + id: + type: integer + order_code: + type: string + integration: + type: integer + domain: + type: string + currency: + type: string + amount: + type: integer + transaction: + type: integer + page: + nullable: true + customer: + type: integer + customer_name: + type: string + status: + type: string + shipping_address: + nullable: true + metadata: + type: string + created_at: + type: string + updated_at: + type: string + email: + type: string + paid_at: + type: string + shipping: + nullable: true + shipping_fees: + type: integer + refunded: + type: boolean + is_viewed: + type: boolean + refunded_amount: + nullable: true + discount_amount: + nullable: true + discounts: + nullable: true + items: + type: array + items: + $ref: '#/components/schemas/OrderItemsArray' + fully_refunded: + type: boolean + required: + - id + - order_code + - integration + - domain + - currency + - amount + - transaction + - page + - customer + - customer_name + - status + - shipping_address + - metadata + - created_at + - updated_at + - email + - paid_at + - shipping + - shipping_fees + - refunded + - is_viewed + - refunded_amount + - discount_amount + - discounts + - items + - fully_refunded + OrderListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/OrderListResponseArray' + meta: + type: object + properties: + total: + type: integer + revenue: + type: object + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - revenue + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + OrderItems: + type: object + description: The collection of items that make up the order + required: + - item + - type + - quantity + - amount + properties: + item: + description: The product ID of the item + type: string + type: + description: The type of the item. `product` is currently the acceptable value + type: string + quantity: + description: The number of items to get + type: integer + amount: + description: The cost of the item + type: integer + OrderShipping: + type: object + description: The shipping details of the order + required: + - street_line + - city + - state + - country + - shipping_fee + properties: + street_line: + description: The address of for the delivery + type: string + city: + description: The city of the delivery address + type: string + state: + description: The state of the delivery address + type: string + country: + description: The country of the delivery address + type: string + shipping_fee: + description: The cost of delivery + type: integer + delivery_note: + description: Extra details to be aware of for the delivery + type: string + OrderCreate: + type: object + required: + - email + - first_name + - last_name + - phone + - currency + - items + - shipping + properties: + email: + description: The email of the customer placing the order + type: string + first_name: + description: The customer's first name + type: string + last_name: + description: The customer's last name + type: string + phone: + description: The customer's mobile number + type: string + currency: + description: Currency in which amount is set. Allowed values are NGN, GHS, ZAR or USD + type: string + items: + type: array + items: + $ref: '#/components/schemas/OrderItems' + shipping: + $ref: '#/components/schemas/OrderShipping' + is_gift: + description: | + A flag to indicate if the order is for someone else + type: boolean + pay_for_me: + description: | + A flag to indicate if the someone else should pay for the order + type: boolean + OrderCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + discounts: + type: array + items: {} + currency: + type: string + shipping_address: + nullable: true + integration: + type: integer + domain: + type: string + email: + type: string + customer: + type: integer + amount: + type: integer + pay_for_me: + type: boolean + shipping: + type: object + properties: + customer: + type: integer + integration: + type: integer + domain: + type: string + fees: + type: integer + delivery_note: + nullable: true + street_line: + type: string + city: + type: string + state: + type: string + country: + type: string + is_shipped: + type: boolean + delivery_tracking_link: + nullable: true + id: + type: integer + updatedAt: + type: string + required: + - customer + - integration + - domain + - fees + - delivery_note + - street_line + - city + - state + - country + - is_shipped + - delivery_tracking_link + - id + - updatedAt + nullable: true + shipping_fees: + type: integer + shipping_method: + type: object + properties: + region: + type: string + fee: + type: integer + currency: + type: string + required: + - region + - fee + - currency + metadata: + type: object + order_code: + type: string + status: + type: string + refunded: + type: boolean + is_viewed: + type: boolean + expiration_date: + nullable: true + id: + type: integer + updatedAt: + type: string + items: + type: array + items: {} + pay_for_me_code: + type: string + discount_amount: + type: integer + required: + - discounts + - currency + - shipping_address + - integration + - domain + - email + - customer + - amount + - pay_for_me + - shipping + - shipping_fees + - metadata + - order_code + - status + - refunded + - is_viewed + - expiration_date + - id + - updatedAt + - items + - pay_for_me_code + - discount_amount + required: + - status + - message + - data + OrderFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + discounts: + type: array + items: {} + order_code: + type: string + domain: + type: string + currency: + type: string + amount: + type: integer + email: + type: string + status: + type: string + refunded: + type: boolean + paid_at: + type: string + shipping_address: + nullable: true + metadata: + type: object + shipping_fees: + type: integer + shipping_method: + nullable: true + is_viewed: + type: boolean + expiration_date: + type: string + pay_for_me: + type: boolean + id: + type: integer + integration: + type: integer + page: + nullable: true + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + shipping: + nullable: true + updatedAt: + type: string + transaction: + type: integer + is_gift: + type: boolean + payer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + fully_refunded: + type: boolean + refunded_amount: + type: integer + items: + type: array + items: + $ref: '#/components/schemas/OrderItemsArray' + discount_amount: + nullable: true + required: + - discounts + - order_code + - domain + - currency + - amount + - email + - status + - refunded + - paid_at + - shipping_address + - metadata + - shipping_fees + - shipping_method + - is_viewed + - expiration_date + - pay_for_me + - id + - integration + - page + - customer + - shipping + - updatedAt + - transaction + - is_gift + - payer + - fully_refunded + - refunded_amount + - items + - discount_amount + required: + - status + - message + - data + OrderFetchProductResponseArray: + type: object + properties: + order_id: + type: integer + transaction: + type: integer + order_code: + type: string + customer: + type: integer + first_name: + type: string + last_name: + type: string + customer_name: + type: string + phone: + type: string + email: + type: string + product_code: + type: string + product_id: + type: integer + product_name: + type: string + price: + type: integer + quantity_sold: + type: integer + currency: + type: string + quantity: + type: integer + variant_id: + nullable: true + variant_price: + nullable: true + variant_code: + nullable: true + amount: + type: integer + shipping_method: + nullable: true + status: + type: string + shipping_address: + nullable: true + refunded: + type: boolean + shipping: + nullable: true + paid_at: + type: string + created_at: + type: string + is_shipped: + type: boolean + is_viewed: + type: integer + delivery_note: + nullable: true + shipping_fee: + nullable: true + amount_paid: + type: integer + storefront_slug: + type: string + required: + - order_id + - transaction + - order_code + - customer + - first_name + - last_name + - customer_name + - phone + - email + - product_code + - product_id + - product_name + - price + - quantity_sold + - currency + - quantity + - variant_id + - variant_price + - variant_code + - amount + - shipping_method + - status + - shipping_address + - refunded + - shipping + - paid_at + - created_at + - is_shipped + - is_viewed + - delivery_note + - shipping_fee + - amount_paid + - storefront_slug + OrderFetchProductResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/OrderFetchProductResponseArray' + meta: + type: object + properties: + quantity_sold: + type: integer + revenue: + type: integer + total: + type: integer + skipped: + type: integer + perPage: + type: integer + pageCount: + type: integer + required: + - quantity_sold + - revenue + - total + - skipped + - perPage + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + OrderValidateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + order_code: + type: string + domain: + type: string + currency: + type: string + amount: + type: integer + email: + type: string + status: + type: string + refunded: + type: boolean + paid_at: + nullable: true + shipping_address: + nullable: true + metadata: + nullable: true + shipping_fees: + type: integer + shipping_method: + nullable: true + is_viewed: + type: boolean + expiration_date: + type: string + pay_for_me: + type: boolean + id: + type: integer + integration: + type: object + properties: + key: + type: string + name: + type: string + logo: + type: string + allowed_currencies: + type: array + items: {} + required: + - key + - name + - logo + - allowed_currencies + transaction: + nullable: true + page: + nullable: true + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + shipping: + nullable: true + updatedAt: + type: string + payer: + nullable: true + required: + - order_code + - domain + - currency + - amount + - email + - status + - refunded + - paid_at + - shipping_address + - metadata + - shipping_fees + - shipping_method + - is_viewed + - expiration_date + - pay_for_me + - id + - integration + - transaction + - page + - customer + - shipping + - updatedAt + - payer + required: + - status + - message + - data + PageListResponseArray: + type: object + properties: + integration: + type: integer + plan: + nullable: true + domain: + type: string + name: + type: string + description: + type: string + nullable: true + amount: + type: integer + nullable: true + currency: + type: string + slug: + type: string + custom_fields: + type: array + nullable: true + items: {} + type: + type: string + redirect_url: + type: string + nullable: true + success_message: + type: string + nullable: true + collect_phone: + type: boolean + active: + type: boolean + published: + type: boolean + migrate: + type: boolean + notification_email: + nullable: true + metadata: + type: object + nullable: true + split_code: + nullable: true + id: + type: integer + updatedAt: + type: string + required: + - integration + - plan + - domain + - name + - description + - amount + - currency + - slug + - custom_fields + - type + - redirect_url + - success_message + - collect_phone + - active + - published + - migrate + - notification_email + - metadata + - split_code + - id + - updatedAt + PageListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/PageListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + PageCreate: + type: object + required: + - name + properties: + name: + description: Name of page + type: string + description: + description: The description of the page + type: string + amount: + description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: integer + currency: + description: The transaction currency. Defaults to your integration currency. + type: string + enum: + - NGN + - GHS + - ZAR + - KES + - USD + slug: + description: URL slug you would like to be associated with this page. Page will be accessible at `https://paystack.com/pay/[slug]` + type: string + type: + description: | + The type of payment page to create. Defaults to `payment` if no type is specified. + type: string + enum: + - payment + - subscription + - product + - plan + plan: + description: The ID of the plan to subscribe customers on this payment page to when `type` is set to `subscription`. + type: string + fixed_amount: + description: Specifies whether to collect a fixed amount on the payment page. If true, `amount` must be passed. + type: boolean + split_code: + description: The split code of the transaction split. e.g. `SPL_98WF13Eb3w` + type: string + metadata: + description: Stringified JSON object of custom data + type: string + redirect_url: + description: | + If you would like Paystack to redirect to a URL upon successful payment, specify the URL here. + type: string + success_message: + description: | + A success message to display to the customer after a successful transaction + type: string + notification_email: + description: | + An email address that will receive transaction notifications for this payment page + type: string + collect_phone: + description: | + Specify whether to collect phone numbers on the payment page + type: boolean + custom_fields: + description: If you would like to accept custom fields, specify them here. + type: array + items: + type: object + PageCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + name: + type: string + integration: + type: integer + domain: + type: string + slug: + type: string + currency: + type: string + type: + type: string + collect_phone: + type: boolean + active: + type: boolean + published: + type: boolean + migrate: + type: boolean + id: + type: integer + updatedAt: + type: string + required: + - name + - integration + - domain + - slug + - currency + - type + - collect_phone + - active + - published + - migrate + - id + - updatedAt + required: + - status + - message + - data + PageFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + integration: + type: integer + domain: + type: string + name: + type: string + description: + nullable: true + amount: + type: integer + nullable: true + currency: + type: string + slug: + type: string + custom_fields: + nullable: true + type: + type: string + redirect_url: + nullable: true + success_message: + nullable: true + collect_phone: + type: boolean + active: + type: boolean + published: + type: boolean + migrate: + type: boolean + notification_email: + nullable: true + metadata: + nullable: true + split_code: + nullable: true + id: + type: integer + updatedAt: + type: string + required: + - integration + - domain + - name + - description + - amount + - currency + - slug + - custom_fields + - type + - redirect_url + - success_message + - collect_phone + - active + - published + - migrate + - notification_email + - metadata + - split_code + - id + - updatedAt + required: + - status + - message + - data + PageUpdate: + type: object + properties: + name: + description: Name of page + type: string + description: + description: The description of the page + type: string + amount: + description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: integer + active: + description: Set to false to deactivate page url + type: boolean + PageUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + domain: + type: string + name: + type: string + description: + nullable: true + amount: + nullable: true + currency: + type: string + slug: + type: string + custom_fields: + nullable: true + type: + type: string + redirect_url: + nullable: true + success_message: + nullable: true + collect_phone: + type: boolean + active: + type: boolean + published: + type: boolean + migrate: + type: boolean + notification_email: + nullable: true + metadata: + nullable: true + split_code: + nullable: true + id: + type: integer + integration: + type: integer + plan: + nullable: true + updatedAt: + type: string + required: + - domain + - name + - description + - amount + - currency + - slug + - custom_fields + - type + - redirect_url + - success_message + - collect_phone + - active + - published + - migrate + - notification_email + - metadata + - split_code + - id + - integration + - plan + - updatedAt + required: + - status + - message + - data + PageCheckSlugAvailabilityResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + PageProduct: + type: object + required: + - product + properties: + product: + description: IDs of all products to add to a page + type: array + items: + type: string + PageProductsArray: + type: object + properties: + product_id: + type: integer + name: + type: string + description: + type: string + product_code: + type: string + page: + type: integer + price: + type: integer + currency: + type: string + quantity: + type: integer + type: + type: string + features: + nullable: true + is_shippable: + type: integer + domain: + type: string + integration: + type: integer + active: + type: integer + in_stock: + type: integer + required: + - product_id + - name + - description + - product_code + - page + - price + - currency + - quantity + - type + - features + - is_shippable + - domain + - integration + - active + - in_stock + PageAddProductsResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + integration: + type: integer + plan: + nullable: true + domain: + type: string + name: + type: string + description: + nullable: true + amount: + nullable: true + currency: + type: string + slug: + type: string + custom_fields: + nullable: true + type: + type: string + redirect_url: + nullable: true + success_message: + nullable: true + collect_phone: + type: boolean + active: + type: boolean + published: + type: boolean + migrate: + type: boolean + notification_email: + nullable: true + metadata: + nullable: true + split_code: + nullable: true + id: + type: integer + updatedAt: + type: string + products: + type: array + items: + $ref: '#/components/schemas/PageProductsArray' + required: + - integration + - plan + - domain + - name + - description + - amount + - currency + - slug + - custom_fields + - type + - redirect_url + - success_message + - collect_phone + - active + - published + - migrate + - notification_email + - metadata + - split_code + - id + - updatedAt + - products + required: + - status + - message + - data + PaymentRequestLineItemsArray: + type: object + properties: + name: + type: string + amount: + type: integer + quantity: + type: integer + required: + - name + - amount + - quantity + PaymentRequestTaxArray: + type: object + properties: + name: + type: string + amount: + type: integer + required: + - name + - amount + PaymentRequestListResponseArray: + type: object + properties: + id: + type: integer + integration: + type: integer + domain: + type: string + amount: + type: integer + currency: + type: string + due_date: + type: string + nullable: true + has_invoice: + type: boolean + invoice_number: + type: integer + nullable: true + description: + type: string + nullable: true + pdf_url: + type: string + nullable: true + line_items: + type: array + items: + $ref: '#/components/schemas/PaymentRequestLineItemsArray' + tax: + type: array + items: + $ref: '#/components/schemas/PaymentRequestTaxArray' + request_code: + type: string + status: + type: string + paid: + type: boolean + paid_at: + nullable: true + metadata: + nullable: true + notifications: + type: array + items: {} + offline_reference: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + created_at: + type: string + discount: + nullable: true + split_code: + type: string + nullable: true + required: + - id + - integration + - domain + - amount + - currency + - due_date + - has_invoice + - invoice_number + - description + - pdf_url + - line_items + - tax + - request_code + - status + - paid + - paid_at + - metadata + - notifications + - offline_reference + - customer + - created_at + - discount + - split_code + PaymentRequestListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/PaymentRequestListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + anyOf: + - type: integer + - type: string + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + PaymentRequestCreate: + type: object + required: + - customer + properties: + customer: + description: Customer id or code + type: string + amount: + description: |- + Payment request amount. Only useful if line items and tax values are ignored. + The endpoint will throw a friendly warning if neither is available. + type: integer + currency: + description: Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN + type: string + due_date: + description: ISO 8601 representation of request due date + type: string + format: date-time + description: + description: A short description of the payment request + type: string + line_items: + description: Array of line items + type: array + items: + type: object + tax: + description: Array of taxes + type: array + items: + type: object + send_notification: + description: Indicates whether Paystack sends an email notification to customer. Defaults to true + type: boolean + items: + type: object + draft: + description: Indicate if request should be saved as draft. Defaults to false and overrides send_notification + type: boolean + items: + type: object + has_invoice: + description: |- + Set to true to create a draft invoice (adds an auto incrementing invoice number if none is provided) + even if there are no line_items or tax passed + type: boolean + items: + type: object + invoice_number: + description: |- + Numeric value of invoice. Invoice will start from 1 and auto increment from there. This field is to help + override whatever value Paystack decides. Auto increment for subsequent invoices continue from this point. + type: integer + split_code: + description: The split code of the transaction split. + type: string + PaymentRequestCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + integration: + type: integer + domain: + type: string + amount: + type: integer + currency: + type: string + due_date: + type: string + nullable: true + has_invoice: + type: boolean + invoice_number: + nullable: true + description: + nullable: true + line_items: + type: array + items: {} + tax: + type: array + items: {} + request_code: + type: string + status: + type: string + paid: + type: boolean + metadata: + nullable: true + notifications: + type: array + items: {} + offline_reference: + type: string + customer: + type: integer + created_at: + type: string + discount: + nullable: true + split_code: + nullable: true + required: + - id + - integration + - domain + - amount + - currency + - due_date + - has_invoice + - invoice_number + - description + - line_items + - tax + - request_code + - status + - paid + - metadata + - notifications + - offline_reference + - customer + - created_at + - discount + - split_code + required: + - status + - message + - data + PaymentRequestUpdate: + type: object + properties: + customer: + description: Customer id or code + type: string + amount: + description: |- + Payment request amount. Only useful if line items and tax values are ignored. + The endpoint will throw a friendly warning if neither is available. + type: integer + currency: + description: Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN + type: string + due_date: + description: ISO 8601 representation of request due date + type: string + format: date-time + description: + description: A short description of the payment request + type: string + line_items: + description: Array of line items + type: array + items: + type: object + tax: + description: Array of taxes + type: array + items: + type: object + send_notification: + description: Indicates whether Paystack sends an email notification to customer. Defaults to true + type: boolean + items: + type: object + draft: + description: Indicate if request should be saved as draft. Defaults to false and overrides send_notification + type: boolean + items: + type: object + has_invoice: + description: |- + Set to true to create a draft invoice (adds an auto incrementing invoice number if none is provided) + even if there are no line_items or tax passed + type: boolean + items: + type: object + invoice_number: + description: |- + Numeric value of invoice. Invoice will start from 1 and auto increment from there. This field is to help + override whatever value Paystack decides. Auto increment for subsequent invoices continue from this point. + type: integer + split_code: + description: The split code of the transaction split. + type: string + PaymentRequestNotificationsArray: + type: object + properties: + sent_at: + type: string + channel: + type: string + required: + - sent_at + - channel + PaymentRequestUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + integration: + type: integer + domain: + type: string + amount: + type: integer + currency: + type: string + due_date: + type: string + nullable: true + has_invoice: + type: boolean + invoice_number: + type: integer + nullable: true + description: + nullable: true + pdf_url: + type: string + nullable: true + line_items: + type: array + items: {} + tax: + type: array + items: {} + request_code: + type: string + status: + type: string + paid: + type: boolean + paid_at: + nullable: true + metadata: + nullable: true + notifications: + type: array + items: + $ref: '#/components/schemas/PaymentRequestNotificationsArray' + offline_reference: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + properties: + calling_code: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + created_at: + type: string + discount: + nullable: true + split_code: + nullable: true + required: + - id + - integration + - domain + - amount + - currency + - due_date + - has_invoice + - invoice_number + - description + - pdf_url + - line_items + - tax + - request_code + - status + - paid + - paid_at + - metadata + - notifications + - offline_reference + - customer + - created_at + - discount + - split_code + required: + - status + - message + - data + PaymentRequestVerifyResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + integration: + type: object + properties: + key: + type: string + name: + type: string + logo: + type: string + allowed_currencies: + type: array + items: + type: string + required: + - key + - name + - logo + - allowed_currencies + domain: + type: string + amount: + type: integer + currency: + type: string + due_date: + type: string + nullable: true + has_invoice: + type: boolean + invoice_number: + type: integer + nullable: true + description: + nullable: true + pdf_url: + type: string + nullable: true + line_items: + type: array + items: {} + tax: + type: array + items: {} + request_code: + type: string + status: + type: string + paid: + type: boolean + paid_at: + nullable: true + metadata: + nullable: true + notifications: + type: array + items: + $ref: '#/components/schemas/PaymentRequestNotificationsArray' + offline_reference: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + properties: + calling_code: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + created_at: + type: string + discount: + nullable: true + split_code: + nullable: true + pending_amount: + type: integer + required: + - id + - integration + - domain + - amount + - currency + - due_date + - has_invoice + - invoice_number + - description + - pdf_url + - line_items + - tax + - request_code + - status + - paid + - paid_at + - metadata + - notifications + - offline_reference + - customer + - created_at + - discount + - split_code + - pending_amount + required: + - status + - message + - data + PaymentRequestSendNotificationResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + PaymentRequestPendingArray: + type: object + properties: + currency: + type: string + amount: + type: integer + required: + - currency + - amount + PaymentRequestSuccessfulArray: + type: object + properties: + currency: + type: string + amount: + type: integer + required: + - currency + - amount + PaymentRequestTotalArray: + type: object + properties: + currency: + type: string + amount: + type: integer + required: + - currency + - amount + PaymentRequestTotalResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + pending: + type: array + items: + $ref: '#/components/schemas/PaymentRequestPendingArray' + successful: + type: array + items: + $ref: '#/components/schemas/PaymentRequestSuccessfulArray' + total: + type: array + items: + $ref: '#/components/schemas/PaymentRequestTotalArray' + required: + - pending + - successful + - total + required: + - status + - message + - data + PaymentRequestFinalizeResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + integration: + type: integer + domain: + type: string + amount: + type: integer + currency: + type: string + due_date: + type: string + nullable: true + has_invoice: + type: boolean + invoice_number: + type: integer + nullable: true + description: + type: string + nullable: true + pdf_url: + nullable: true + line_items: + type: array + items: + $ref: '#/components/schemas/PaymentRequestLineItemsArray' + tax: + type: array + items: + $ref: '#/components/schemas/PaymentRequestTaxArray' + request_code: + type: string + status: + type: string + paid: + type: boolean + paid_at: + nullable: true + metadata: + nullable: true + notifications: + type: array + items: {} + offline_reference: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + properties: + calling_code: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + created_at: + type: string + discount: + type: object + properties: + type: + type: string + amount: + type: integer + required: + - type + - amount + nullable: true + split_code: + nullable: true + pending_amount: + type: integer + required: + - id + - integration + - domain + - amount + - currency + - due_date + - has_invoice + - invoice_number + - description + - pdf_url + - line_items + - tax + - request_code + - status + - paid + - paid_at + - metadata + - notifications + - offline_reference + - customer + - created_at + - discount + - split_code + - pending_amount + required: + - status + - message + - data + PaymentRequestArchiveResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TransferRecipientListResponseArray: + type: object + properties: + active: + type: boolean + currency: + type: string + description: + type: string + domain: + type: string + email: + type: string + nullable: true + id: + type: integer + integration: + type: integer + metadata: + nullable: true + name: + type: string + recipient_code: + type: string + type: + type: string + updatedAt: + type: string + is_deleted: + type: boolean + details: + type: object + properties: + authorization_code: + nullable: true + account_number: + type: string + account_name: + type: string + nullable: true + bank_code: + type: string + bank_name: + type: string + required: + - authorization_code + - account_number + - account_name + - bank_code + - bank_name + required: + - active + - currency + - description + - domain + - email + - id + - integration + - metadata + - name + - recipient_code + - type + - updatedAt + - is_deleted + - details + TransferRecipientListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/TransferRecipientListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + TransferRecipientCreate: + type: object + required: + - type + - name + - account_number + - bank_code + properties: + type: + description: Recipient Type (Only nuban at this time) + type: string + name: + description: Recipient's name + type: string + account_number: + description: Recipient's bank account number + type: string + bank_code: + description: Recipient's bank code. You can get the list of Bank Codes by calling the List Banks endpoint + type: string + description: + description: A description for this recipient + type: string + currency: + description: Currency for the account receiving the transfer + type: string + authorization_code: + description: An authorization code from a previous transaction + type: string + metadata: + description: Stringified JSON object of custom data + type: string + TransferRecipientCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + active: + type: boolean + currency: + type: string + description: + type: string + domain: + type: string + email: + type: string + id: + type: integer + integration: + type: integer + metadata: + nullable: true + name: + type: string + recipient_code: + type: string + type: + type: string + updatedAt: + type: string + is_deleted: + type: boolean + details: + type: object + properties: + authorization_code: + nullable: true + account_number: + type: string + account_name: + type: string + nullable: true + bank_code: + type: string + bank_name: + type: string + required: + - authorization_code + - account_number + - account_name + - bank_code + - bank_name + required: + - active + - currency + - description + - domain + - email + - id + - integration + - metadata + - name + - recipient_code + - type + - updatedAt + - is_deleted + - details + required: + - status + - message + - data + TransferRecipientBulk: + type: object + required: + - batch + properties: + batch: + description: |- + A list of transfer recipient object. Each object should contain type, name, and bank_code. + Any Create Transfer Recipient param can also be passed. + type: array + items: + $ref: '#/components/schemas/TransferRecipientCreate' + ErrorRecordsArray: + type: object + properties: + type: + type: string + name: + type: string + description: + type: string + account_number: + type: string + bank_code: + type: string + currency: + type: string + email: + type: string + required: + - type + - name + - description + - account_number + - bank_code + - currency + - email + TransferRecipientErrorsArray: + type: object + properties: + message: + type: string + records: + type: array + items: + $ref: '#/components/schemas/ErrorRecordsArray' + required: + - message + - records + TransferRecipientBulkCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + success: + type: array + items: {} + errors: + type: array + items: + $ref: '#/components/schemas/TransferRecipientErrorsArray' + required: + - success + - errors + required: + - status + - message + - data + TransferRecipientFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + integration: + type: integer + domain: + type: string + type: + type: string + currency: + type: string + name: + type: string + details: + type: object + properties: + account_number: + type: string + account_name: + type: string + bank_code: + type: string + bank_name: + type: string + required: + - account_number + - account_name + - bank_code + - bank_name + description: + type: string + metadata: + nullable: true + recipient_code: + type: string + active: + type: boolean + recipient_account: + type: string + institution_code: + type: string + email: + type: string + id: + type: integer + updatedAt: + type: string + required: + - integration + - domain + - type + - currency + - name + - details + - description + - metadata + - recipient_code + - active + - recipient_account + - institution_code + - email + - id + - updatedAt + required: + - status + - message + - data + TransferRecipientUpdate: + type: object + properties: + name: + description: Recipient's name + type: string + email: + description: Recipient's email address + type: string + TransferRecipientUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TransferRecipientDeleteResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TransferListResponseArray: + type: object + properties: + amount: + type: integer + currency: + type: string + domain: + type: string + failures: + nullable: true + id: + type: integer + integration: + type: integer + reason: + type: string + reference: + type: string + source: + type: string + source_details: + nullable: true + status: + type: string + titan_code: + nullable: true + transfer_code: + type: string + transferred_at: + nullable: true + updatedAt: + type: string + recipient: + type: object + properties: + active: + type: boolean + currency: + type: string + description: + type: string + domain: + type: string + email: + type: string + id: + type: integer + integration: + type: integer + metadata: + nullable: true + name: + type: string + recipient_code: + type: string + type: + type: string + updatedAt: + type: string + is_deleted: + type: boolean + details: + type: object + properties: + authorization_code: + nullable: true + account_number: + type: string + account_name: + type: string + bank_code: + type: string + bank_name: + type: string + required: + - authorization_code + - account_number + - account_name + - bank_code + - bank_name + required: + - active + - currency + - description + - domain + - email + - id + - integration + - metadata + - name + - recipient_code + - type + - updatedAt + - is_deleted + - details + session: + type: object + properties: + provider: + nullable: true + id: + nullable: true + required: + - provider + - id + fee_charged: + type: integer + required: + - amount + - currency + - domain + - failures + - id + - integration + - reason + - reference + - source + - source_details + - status + - titan_code + - transfer_code + - transferred_at + - updatedAt + - recipient + - session + - fee_charged + TransferListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/TransferListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + TransferInitiate: + type: object + required: + - source + - amount + - recipient + properties: + source: + description: Where should we transfer from? Only balance is allowed for now + type: string + amount: + description: Amount to transfer in kobo if currency is NGN and pesewas if currency is GHS. + type: string + recipient: + description: The transfer recipient's code + type: string + reason: + description: The reason or narration for the transfer. + type: string + currency: + description: Specify the currency of the transfer. Defaults to NGN. + type: string + reference: + description: |- + If specified, the field should be a unique identifier (in lowercase) for the object. + Only -,_ and alphanumeric characters are allowed. + type: string + TransferCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + transfersessionid: + type: array + items: {} + domain: + type: string + amount: + type: integer + currency: + type: string + reference: + type: string + source: + type: string + source_details: + nullable: true + reason: + type: string + status: + type: string + failures: + nullable: true + transfer_code: + type: string + titan_code: + nullable: true + transferred_at: + nullable: true + id: + type: integer + integration: + type: integer + request: + type: integer + recipient: + type: integer + updatedAt: + type: string + required: + - transfersessionid + - domain + - amount + - currency + - reference + - source + - source_details + - reason + - status + - failures + - transfer_code + - titan_code + - transferred_at + - id + - integration + - request + - recipient + - updatedAt + required: + - status + - message + - data + TransferFinalize: + type: object + required: + - transfer_code + - otp + properties: + transfer_code: + description: The transfer code you want to finalize + type: string + otp: + description: OTP sent to business phone to verify transfer + type: string + TransferBulk: + type: object + required: + - source + - transfers + properties: + source: + description: Where should we transfer from? Only balance is allowed for now + type: string + transfers: + description: A list of transfer object. Each object should contain amount, recipient, and reference + type: array + items: + $ref: '#/components/schemas/TransferInitiate' + TransferBulkResponseArray: + type: object + properties: + reference: + type: string + recipient: + type: string + amount: + type: integer + transfer_code: + type: string + currency: + type: string + status: + type: string + required: + - reference + - recipient + - amount + - transfer_code + - currency + - status + TransferBulkResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/TransferBulkResponseArray' + required: + - status + - message + - data + TransferFeesBreakdownArray: + type: object + properties: + amount: + type: string + formula: + nullable: true + type: + type: string + required: + - amount + - formula + - type + TransferFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + amount: + type: integer + currency: + type: string + domain: + type: string + failures: + nullable: true + id: + type: integer + integration: + type: integer + reason: + type: string + reference: + type: string + source: + type: string + source_details: + nullable: true + status: + type: string + titan_code: + nullable: true + transfer_code: + type: string + request: + type: integer + transferred_at: + nullable: true + updatedAt: + type: string + recipient: + type: object + properties: + active: + type: boolean + currency: + type: string + description: + type: string + domain: + type: string + email: + type: string + id: + type: integer + integration: + type: integer + metadata: + nullable: true + name: + type: string + recipient_code: + type: string + type: + type: string + updatedAt: + type: string + is_deleted: + type: boolean + details: + type: object + properties: + authorization_code: + nullable: true + account_number: + type: string + account_name: + type: string + nullable: true + bank_code: + type: string + bank_name: + type: string + required: + - authorization_code + - account_number + - account_name + - bank_code + - bank_name + required: + - active + - currency + - description + - domain + - email + - id + - integration + - metadata + - name + - recipient_code + - type + - updatedAt + - is_deleted + - details + session: + type: object + properties: + provider: + nullable: true + id: + nullable: true + required: + - provider + - id + fee_charged: + type: integer + fees_breakdown: + type: array + items: + $ref: '#/components/schemas/TransferFeesBreakdownArray' + nullable: true + gateway_response: + type: string + nullable: true + required: + - amount + - currency + - domain + - failures + - id + - integration + - reason + - reference + - source + - source_details + - status + - titan_code + - transfer_code + - request + - transferred_at + - updatedAt + - recipient + - session + - fee_charged + - fees_breakdown + - gateway_response + required: + - status + - message + - data + TransferVerifyResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + amount: + type: integer + currency: + type: string + domain: + type: string + failures: + nullable: true + id: + type: integer + integration: + type: integer + reason: + type: string + reference: + type: string + source: + type: string + source_details: + nullable: true + status: + type: string + titan_code: + nullable: true + transfer_code: + type: string + transferred_at: + nullable: true + updatedAt: + type: string + recipient: + type: object + properties: + active: + type: boolean + currency: + type: string + description: + type: string + domain: + type: string + email: + type: string + id: + type: integer + integration: + type: integer + metadata: + nullable: true + name: + type: string + recipient_code: + type: string + type: + type: string + updatedAt: + type: string + is_deleted: + type: boolean + details: + type: object + properties: + authorization_code: + nullable: true + account_number: + type: string + account_name: + type: string + bank_code: + type: string + bank_name: + type: string + required: + - authorization_code + - account_number + - account_name + - bank_code + - bank_name + required: + - active + - currency + - description + - domain + - email + - id + - integration + - metadata + - name + - recipient_code + - type + - updatedAt + - is_deleted + - details + session: + type: object + properties: + provider: + nullable: true + id: + nullable: true + required: + - provider + - id + gateway_response: + type: string + nullable: true + required: + - amount + - currency + - domain + - failures + - id + - integration + - reason + - reference + - source + - source_details + - status + - titan_code + - transfer_code + - transferred_at + - updatedAt + - recipient + - session + - gateway_response + required: + - status + - message + - data + TransferResendOTP: + type: object + required: + - transfer_code + - reason + properties: + transfer_code: + description: The transfer code that requires an OTP validation + type: string + reason: + description: Either resend_otp or transfer + type: string + TransferResendsOtpResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TransferDisablesOtpResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TransferFinalizeDisableOTP: + type: object + required: + - otp + properties: + otp: + description: OTP sent to business phone to verify disabling OTP requirement + type: string + TransferFinalizeDisablesOtpResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + TransferEnablesOtpResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + BalanceCheckResponseArray: + type: object + properties: + currency: + type: string + balance: + type: integer + required: + - currency + - balance + BalanceCheckResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/BalanceCheckResponseArray' + required: + - status + - message + - data + BalanceFetchLedgerResponseArray: + type: object + properties: + integration: + type: integer + domain: + type: string + balance: + type: integer + currency: + type: string + difference: + type: integer + reason: + type: string + model_responsible: + type: string + model_row: + type: integer + id: + type: integer + updatedAt: + type: string + required: + - integration + - domain + - balance + - currency + - difference + - reason + - model_responsible + - model_row + - id + - updatedAt + BalanceFetchLedgerResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/BalanceFetchLedgerResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + ChargeCreate: + type: object + required: + - email + - amount + properties: + email: + description: Customer's email address + type: string + amount: + description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: string + authorization_code: + description: An authorization code to charge. + type: string + pin: + description: 4-digit PIN (send with a non-reusable authorization code) + type: string + reference: + description: Unique transaction reference. Only -, .`, = and alphanumeric characters allowed. + type: string + birthday: + description: The customer's birthday in the format YYYY-MM-DD e.g 2017-05-16 + type: string + format: date-time + device_id: + description: |- + This is the unique identifier of the device a user uses in making payment. + Only -, .`, = and alphanumeric characters are allowed. + type: string + metadata: + description: Stringified JSON object of custom data + type: string + Bank: + type: object + properties: + code: + description: Customer's bank code + type: string + account_number: + description: Customer's account number + type: string + MobileMoney: + type: object + properties: + phone: + description: Customer's phone number + type: string + provider: + description: The telco provider of customer's phone number. This can be fetched from the List Bank endpoint + type: string + USSD: + type: object + properties: + type: + description: The three-digit USSD code. + type: string + enum: + - 737 + - 919 + - 822 + - 966 + EFT: + type: object + properties: + provider: + description: The EFT provider + type: string + ChargeCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + nullable: true + amount: + type: integer + message: + type: string + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + nullable: true + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + transaction_date: + type: string + plan_object: + type: object + subaccount: + type: object + required: + - id + - domain + - status + - reference + - receipt_number + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + - transaction_date + - plan_object + - subaccount + required: + - status + - message + - data + ChargeSubmitPin: + type: object + required: + - pin + - reference + properties: + pin: + description: Customer's PIN + type: string + reference: + description: Transaction reference that requires the PIN + type: string + ChargeSubmitPinResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + nullable: true + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + nullable: true + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + transaction_date: + type: string + plan_object: + type: object + subaccount: + type: object + required: + - id + - domain + - status + - reference + - receipt_number + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + - transaction_date + - plan_object + - subaccount + required: + - status + - message + - data + ChargeSubmitOTP: + type: object + required: + - otp + - reference + properties: + otp: + description: Customer's OTP + type: string + reference: + description: The reference of the ongoing transaction + type: string + ChargeSubmitOtpResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + nullable: true + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + nullable: true + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + transaction_date: + type: string + plan_object: + type: object + subaccount: + type: object + required: + - id + - domain + - status + - reference + - receipt_number + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + - transaction_date + - plan_object + - subaccount + required: + - status + - message + - data + ChargeSubmitPhone: + type: object + required: + - phone + - reference + properties: + phone: + description: Customer's mobile number + type: string + reference: + description: The reference of the ongoing transaction + type: string + ChargeSubmitPhoneResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + reference: + type: string + status: + type: string + display_text: + type: string + required: + - reference + - status + - display_text + required: + - status + - message + - data + ChargeSubmitBirthday: + type: object + required: + - birthday + - reference + properties: + birthday: + description: Customer's birthday in the format YYYY-MM-DD e.g 2016-09-21 + type: string + reference: + description: The reference of the ongoing transaction + type: string + ChargeSubmitBirthdayResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + status: + type: string + display_text: + type: string + required: + - status + - display_text + required: + - status + - message + - data + ChargeSubmitAddress: + type: object + required: + - address + - reference + - city + - state + - zipcode + properties: + address: + description: Customer's address + type: string + city: + description: Customer's city + type: string + state: + description: Customer's state + type: string + zipcode: + description: Customer's zipcode + type: string + reference: + description: The reference of the ongoing transaction + type: string + ChargeCheckPendingResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + type: string + nullable: true + amount: + type: integer + message: + type: string + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + nullable: true + fees_split: + nullable: true + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + nullable: true + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + nullable: true + last_name: + type: string + nullable: true + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + metadata: + type: object + nullable: true + risk_action: + type: string + international_format_phone: + type: string + nullable: true + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + plan: + nullable: true + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + transaction_date: + type: string + plan_object: + type: object + subaccount: + type: object + required: + - id + - domain + - status + - reference + - receipt_number + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + - transaction_date + - plan_object + - subaccount + required: + - status + - message + - data + BulkChargeListResponseArray: + type: object + properties: + integration: + type: integer + domain: + type: string + batch_code: + type: string + status: + type: string + easy_cron_id: + nullable: true + reference: + type: string + id: + type: integer + updatedAt: + type: string + required: + - integration + - domain + - batch_code + - status + - easy_cron_id + - reference + - id + - updatedAt + BulkChargeListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/BulkChargeListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + anyOf: + - type: integer + - type: string + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + BulkChargeInitiate: + type: object + required: + - authorization + - amount + properties: + authorization: + description: Customer's card authorization code + type: string + amount: + description: Amount to charge on the authorization + type: string + BulkChargeInitiateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + batch_code: + type: string + reference: + type: string + id: + type: integer + integration: + type: integer + domain: + type: string + status: + type: string + total_charges: + type: integer + pending_charges: + type: integer + updatedAt: + type: string + required: + - batch_code + - reference + - id + - integration + - domain + - status + - total_charges + - pending_charges + - updatedAt + required: + - status + - message + - data + BulkChargeFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + batch_code: + type: string + reference: + type: string + id: + type: integer + integration: + type: integer + domain: + type: string + status: + type: string + total_charges: + type: integer + pending_charges: + type: integer + updatedAt: + type: string + required: + - batch_code + - reference + - id + - integration + - domain + - status + - total_charges + - pending_charges + - updatedAt + required: + - status + - message + - data + BulkChargeFetchBulkBatchChargesResponseArray: + type: object + properties: + integration: + type: integer + bulkcharge: + type: integer + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + properties: + calling_code: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + authorization: + type: object + properties: + authorization_code: + type: string + bin: + type: string + last4: + type: string + exp_month: + type: string + exp_year: + type: string + channel: + type: string + card_type: + type: string + bank: + type: string + country_code: + type: string + brand: + type: string + reusable: + type: boolean + signature: + type: string + account_name: + nullable: true + required: + - authorization_code + - bin + - last4 + - exp_month + - exp_year + - channel + - card_type + - bank + - country_code + - brand + - reusable + - signature + - account_name + domain: + type: string + amount: + type: integer + at_least: + type: integer + currency: + type: string + reference: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + status: + type: string + message: + type: string + attempt_partial_debit: + type: boolean + id: + type: integer + updatedAt: + type: string + required: + - integration + - bulkcharge + - customer + - authorization + - domain + - amount + - at_least + - currency + - reference + - metadata + - status + - message + - attempt_partial_debit + - id + - updatedAt + BulkChargeFetchBulkBatchChargesResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/BulkChargeFetchBulkBatchChargesResponseArray' + meta: + type: object + properties: + perPage: + type: string + total: + type: integer + skipped: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - perPage + - total + - skipped + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + BulkChargePauseResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + BulkChargeResumeResponse: + type: object + properties: + status: + type: boolean + message: + type: string + required: + - status + - message + PaymentSession: + type: object + required: + - timeout + properties: + timeout: + description: Time in seconds before a transaction becomes invalid + type: string + example: '30' + RefundListResponseArray: + type: object + properties: + integration: + type: integer + transaction: + type: integer + dispute: + nullable: true + settlement: + nullable: true + id: + type: integer + domain: + type: string + currency: + type: string + amount: + type: integer + status: + type: string + refunded_at: + nullable: true + refunded_by: + type: string + customer_note: + type: string + merchant_note: + type: string + deducted_amount: + type: integer + fully_deducted: + type: integer + bank_reference: + nullable: true + transaction_reference: + type: string + reason: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + metadata: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + refund_type: + type: string + transaction_amount: + type: integer + initiated_by: + type: string + refund_channel: + type: string + session_id: + nullable: true + collect_account_number: + type: boolean + required: + - integration + - transaction + - dispute + - settlement + - id + - domain + - currency + - amount + - status + - refunded_at + - refunded_by + - customer_note + - merchant_note + - deducted_amount + - fully_deducted + - bank_reference + - transaction_reference + - reason + - customer + - refund_type + - transaction_amount + - initiated_by + - refund_channel + - session_id + - collect_account_number + RefundListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/RefundListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: string + page: + type: integer + pageCount: + type: integer + failedRefundCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + - failedRefundCount + additionalProperties: false + required: + - status + - message + - data + - meta + RefundCreate: + type: object + required: + - transaction + properties: + transaction: + description: Transaction reference or id + type: string + amount: + description: |- + Amount ( in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR ) to be refunded to the customer. + Amount cannot be more than the original transaction amount + type: integer + currency: + description: Three-letter ISO currency. Allowed values are NGN, GHS, ZAR or USD + type: string + customer_note: + description: Customer reason + type: string + merchant_note: + description: Merchant reason + type: string + RefundCreateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + transaction: + type: object + properties: + id: + type: integer + domain: + type: string + reference: + type: string + amount: + type: integer + paid_at: + type: string + channel: + type: string + currency: + type: string + authorization: + type: object + properties: + exp_month: + nullable: true + exp_year: + nullable: true + account_name: + nullable: true + required: + - exp_month + - exp_year + - account_name + customer: + type: object + properties: + international_format_phone: + type: string + nullable: true + required: + - international_format_phone + plan: + type: object + subaccount: + type: object + properties: + currency: + nullable: true + required: + - currency + split: + type: object + order_id: + nullable: true + + type: string + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + required: + - id + - domain + - reference + - amount + - paid_at + - channel + - currency + - authorization + - customer + - plan + - subaccount + - split + - order_id + - pos_transaction_data + - source + - fees_breakdown + integration: + type: integer + deducted_amount: + type: integer + channel: + nullable: true + merchant_note: + type: string + customer_note: + type: string + status: + type: string + refunded_by: + type: string + expected_at: + type: string + currency: + type: string + domain: + type: string + amount: + type: integer + fully_deducted: + type: boolean + id: + type: integer + updatedAt: + type: string + required: + - transaction + - integration + - deducted_amount + - channel + - merchant_note + - customer_note + - status + - refunded_by + - expected_at + - currency + - domain + - amount + - fully_deducted + - id + - updatedAt + required: + - status + - message + - data + RefundFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + integration: + type: integer + transaction: + type: integer + dispute: + nullable: true + settlement: + nullable: true + id: + type: integer + domain: + type: string + currency: + type: string + amount: + type: integer + status: + type: string + refunded_at: + nullable: true + refunded_by: + type: string + customer_note: + type: string + merchant_note: + type: string + deducted_amount: + type: integer + fully_deducted: + type: integer + bank_reference: + nullable: true + transaction_reference: + type: string + reason: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + refund_type: + type: string + transaction_amount: + type: integer + initiated_by: + type: string + refund_channel: + type: string + session_id: + nullable: true + collect_account_number: + type: boolean + required: + - integration + - transaction + - dispute + - settlement + - id + - domain + - currency + - amount + - status + - refunded_at + - refunded_by + - customer_note + - merchant_note + - deducted_amount + - fully_deducted + - bank_reference + - transaction_reference + - reason + - customer + - refund_type + - transaction_amount + - initiated_by + - refund_channel + - session_id + - collect_account_number + required: + - status + - message + - data + DisputeHistoryArray: + type: object + properties: + status: + type: string + by: + type: string + required: + - status + - by + DisputeMessagesArray: + type: object + properties: + sender: + type: string + body: + type: string + required: + - sender + - body + DisputeListResponseArray: + type: object + properties: + id: + type: integer + refund_amount: + type: integer + currency: + type: string + status: + type: string + resolution: + nullable: true + domain: + type: string + transaction: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + customer: + nullable: true + plan: + type: object + subaccount: + type: object + split: + type: object + order_id: + nullable: true + + type: string + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + required: + - id + - domain + - status + - reference + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - subaccount + - split + - order_id + - pos_transaction_data + - source + - fees_breakdown + - connect + transaction_reference: + nullable: true + category: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + nullable: true + metadata: + type: string + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + bin: + type: string + last4: + type: string + dueAt: + nullable: true + resolvedAt: + nullable: true + evidence: + nullable: true + attachments: + nullable: true + note: + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/DisputeHistoryArray' + messages: + type: array + items: + $ref: '#/components/schemas/DisputeMessagesArray' + updatedAt: + type: string + required: + - id + - refund_amount + - currency + - status + - resolution + - domain + - transaction + - transaction_reference + - category + - customer + - bin + - last4 + - dueAt + - resolvedAt + - evidence + - attachments + - note + - history + - messages + - updatedAt + DisputeListResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/DisputeListResponseArray' + meta: + type: object + properties: + total: + type: integer + skipped: + type: integer + perPage: + type: integer + page: + type: integer + pageCount: + type: integer + required: + - total + - skipped + - perPage + - page + - pageCount + additionalProperties: false + required: + - status + - message + - data + - meta + DisputeFetchResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + refund_amount: + type: integer + currency: + type: string + status: + type: string + resolution: + nullable: true + domain: + type: string + transaction: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + type: integer + nullable: true + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + international_format_phone: + nullable: true + required: + - international_format_phone + plan: + type: object + subaccount: + type: object + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + required: + - id + - domain + - status + - reference + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - subaccount + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + transaction_reference: + nullable: true + category: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + bin: + type: string + last4: + type: string + dueAt: + nullable: true + resolvedAt: + nullable: true + evidence: + nullable: true + attachments: + nullable: true + note: + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/DisputeHistoryArray' + messages: + type: array + items: + $ref: '#/components/schemas/DisputeMessagesArray' + updatedAt: + type: string + required: + - id + - refund_amount + - currency + - status + - resolution + - domain + - transaction + - transaction_reference + - category + - customer + - bin + - last4 + - dueAt + - resolvedAt + - evidence + - attachments + - note + - history + - messages + - updatedAt + required: + - status + - message + - data + DisputeUpdate: + type: object + required: + - refund_amount + properties: + refund_amount: + description: The amount to refund, in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: string + uploaded_filename: + description: Filename of attachment returned via response from the Dispute upload URL + type: string + DisputeUpdateResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + id: + type: integer + refund_amount: + type: integer + currency: + type: string + status: + type: string + resolution: + nullable: true + domain: + type: string + transaction: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + type: integer + nullable: true + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + international_format_phone: + nullable: true + required: + - international_format_phone + plan: + type: object + subaccount: + type: object + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + nullable: true + required: + - id + - domain + - status + - reference + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - subaccount + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + transaction_reference: + nullable: true + category: + type: string + customer: + type: object + properties: + id: + type: integer + first_name: + type: string + last_name: + type: string + email: + type: string + customer_code: + type: string + phone: + type: string + metadata: + type: object + risk_action: + type: string + international_format_phone: + type: string + required: + - id + - first_name + - last_name + - email + - customer_code + - phone + - metadata + - risk_action + - international_format_phone + bin: + type: string + last4: + type: string + dueAt: + nullable: true + resolvedAt: + nullable: true + evidence: + nullable: true + attachments: + nullable: true + note: + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/DisputeHistoryArray' + messages: + type: array + items: + $ref: '#/components/schemas/DisputeMessagesArray' + updatedAt: + type: string + required: + - id + - refund_amount + - currency + - status + - resolution + - domain + - transaction + - transaction_reference + - category + - customer + - bin + - last4 + - dueAt + - resolvedAt + - evidence + - attachments + - note + - history + - messages + - updatedAt + required: + - status + - message + - data + DisputeUploadURLResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + signedUrl: + type: string + fileName: + type: string + required: + - signedUrl + - fileName + required: + - status + - message + - data + DisputeExportResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + path: + type: string + expiresAt: + type: string + required: + - path + - expiresAt + required: + - status + - message + - data + DisputeListTransactionResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + history: + type: array + items: + $ref: '#/components/schemas/DisputeHistoryArray' + messages: + type: array + items: + $ref: '#/components/schemas/DisputeMessagesArray' + currency: + type: string + last4: + type: string + bin: + type: string + transaction_reference: + nullable: true + merchant_transaction_reference: + type: string + refund_amount: + type: integer + status: + type: string + domain: + type: string + resolution: + nullable: true + category: + type: string + note: + nullable: true + attachments: + nullable: true + id: + type: integer + integration: + type: integer + transaction: + type: object + properties: + id: + type: integer + domain: + type: string + status: + type: string + reference: + type: string + receipt_number: + type: integer + nullable: true + amount: + type: integer + message: + nullable: true + gateway_response: + type: string + paid_at: + type: string + created_at: + type: string + channel: + type: string + currency: + type: string + ip_address: + type: string + metadata: + type: object + properties: + custom_fields: + type: array + items: + $ref: '#/components/schemas/MetadataCustomFieldsArray' + required: + - custom_fields + log: + nullable: true + fees: + type: integer + fees_split: + nullable: true + authorization: + type: object + properties: + receiver_bank_account_number: + nullable: true + receiver_bank: + nullable: true + required: + - receiver_bank_account_number + - receiver_bank + customer: + type: object + properties: + international_format_phone: + nullable: true + required: + - international_format_phone + plan: + type: object + subaccount: + type: object + split: + type: object + order_id: + nullable: true + + type: string + requested_amount: + type: integer + pos_transaction_data: + nullable: true + source: + nullable: true + fees_breakdown: + nullable: true + connect: + type: object + nullable: true + required: + - id + - domain + - status + - reference + - amount + - message + - gateway_response + - paid_at + - created_at + - channel + - currency + - ip_address + - metadata + - log + - fees + - fees_split + - authorization + - customer + - plan + - subaccount + - split + - order_id + - requested_amount + - pos_transaction_data + - source + - fees_breakdown + - connect + created_by: + type: integer + evidence: + nullable: true + resolvedAt: + nullable: true + updatedAt: + type: string + dueAt: + nullable: true + required: + - history + - messages + - currency + - last4 + - bin + - transaction_reference + - merchant_transaction_reference + - refund_amount + - status + - domain + - resolution + - category + - note + - attachments + - id + - integration + - transaction + - created_by + - evidence + - resolvedAt + - updatedAt + - dueAt + required: + - status + - message + - data + DisputeResolve: + type: object + required: + - resolution + - message + - refund_amount + - uploaded_filename + properties: + resolution: + description: Dispute resolution. Accepted values, merchant-accepted, declined + type: string + message: + description: Reason for resolving + type: string + refund_amount: + description: The amount to refund, in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR + type: string + uploaded_filename: + description: Filename of attachment returned via response from the Dispute upload URL + type: string + evidence: + description: Evidence Id for fraud claims + type: integer + DisputeResolveResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + currency: + type: string + last4: + type: string + bin: + type: string + transaction_reference: + nullable: true + merchant_transaction_reference: + type: string + refund_amount: + type: integer + status: + type: string + domain: + type: string + resolution: + type: string + category: + type: string + note: + nullable: true + attachments: + type: string + id: + type: integer + integration: + type: integer + transaction: + type: integer + created_by: + type: integer + evidence: + type: integer + resolvedAt: + type: string + updatedAt: + type: string + dueAt: + nullable: true + message: + type: object + properties: + dispute: + type: integer + sender: + type: string + body: + type: string + id: + type: integer + updatedAt: + type: string + required: + - dispute + - sender + - body + - id + - updatedAt + required: + - currency + - last4 + - bin + - transaction_reference + - merchant_transaction_reference + - refund_amount + - status + - domain + - resolution + - category + - note + - attachments + - id + - integration + - transaction + - created_by + - evidence + - resolvedAt + - updatedAt + - dueAt + - message + required: + - status + - message + - data + DisputeEvidence: + type: object + required: + - customer_email + - customer_name + - customer_phone + - service_details + properties: + customer_email: + description: Customer email + type: string + customer_name: + description: Customer name + type: string + customer_phone: + description: Customer mobile number + type: string + service_details: + description: Details of service offered + type: string + delivery_address: + description: Delivery address + type: string + delivery_date: + description: ISO 8601 representation of delivery date (YYYY-MM-DD) + type: string + format: date-time + DisputeAddEvidenceResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + customer_email: + type: string + customer_name: + type: string + customer_phone: + type: string + service_details: + type: string + delivery_address: + type: string + delivery_date: + type: string + dispute: + type: integer + id: + type: integer + updatedAt: + type: string + required: + - customer_email + - customer_name + - customer_phone + - service_details + - delivery_address + - delivery_date + - dispute + - id + - updatedAt + required: + - status + - message + - data + MiscellaneousListBanksResponseArray: + type: object + properties: + name: + type: string + slug: + type: string + code: + type: string + longcode: + type: string + gateway: + type: string + nullable: true + pay_with_bank: + type: boolean + supports_transfer: + type: boolean + active: + type: boolean + is_deleted: + type: boolean + nullable: true + country: + type: string + currency: + type: string + type: + type: string + id: + type: integer + updatedAt: + type: string + required: + - name + - slug + - code + - longcode + - gateway + - pay_with_bank + - supports_transfer + - active + - is_deleted + - country + - currency + - type + - id + - updatedAt + MiscellaneousListBanksResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/MiscellaneousListBanksResponseArray' + required: + - status + - message + - data + VerificationResolveAccountNumberResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + account_number: + type: string + account_name: + type: string + bank_id: + type: integer + required: + - account_number + - account_name + - bank_id + required: + - status + - message + - data + BankValidateRequest: + type: object + required: + - account_name + - account_number + - account_type + - bank_code + - country_code + - document_type + properties: + account_name: + description: Customer's first and last name registered with their bank + type: string + account_number: + description: Customer's account number + type: string + account_type: + description: The type of the customer's account number + type: string + enum: + - personal + - business + bank_code: + description: The bank code of the customer’s bank. You can fetch the bank codes by using our List Banks endpoint + type: string + country_code: + description: The two digit ISO code of the customer’s bank + type: string + document_type: + description: Customer’s mode of identity + type: string + enum: + - identityNumber + - passportNumber + - businessRegistrationNumber + document_number: + description: Customer’s mode of identity number + type: string + VerificationValidateAccountResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + verified: + type: boolean + verificationMessage: + type: string + required: + - verified + - verificationMessage + required: + - status + - message + - data + VerificationResolveCardBINResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: object + properties: + bin: + type: string + brand: + type: string + sub_brand: + type: string + country_code: + type: string + country_name: + type: string + card_type: + type: string + bank: + type: string + currency: + type: string + linked_bank_id: + type: integer + required: + - bin + - brand + - sub_brand + - country_code + - country_name + - card_type + - bank + - currency + - linked_bank_id + required: + - status + - message + - data + MiscellaneousListCountriesResponseArray: + type: object + properties: + id: + type: integer + active_for_dashboard_onboarding: + type: boolean + name: + type: string + iso_code: + type: string + default_currency_code: + type: string + integration_defaults: + type: object + calling_code: + type: string + pilot_mode: + type: boolean + relationships: + type: object + properties: + currency: + type: object + properties: + type: + type: string + data: + type: array + items: + type: string + supported_currencies: + type: object + properties: + NGN: + type: object + properties: + bank: + type: object + properties: + bank_type: + type: string + branch_code: + type: boolean + branch_code_type: + type: string + account_name: + type: boolean + account_verification_required: + type: boolean + account_number_label: + type: string + account_number_pattern: + type: object + properties: + exact_match: + type: boolean + pattern: + type: string + required: + - exact_match + - pattern + documents: + type: array + items: {} + show_account_number_tooltip: + type: boolean + required: + - bank_type + - branch_code + - branch_code_type + - account_name + - account_verification_required + - account_number_label + - account_number_pattern + - documents + - show_account_number_tooltip + required: + - bank + USD: + type: object + properties: + bank: + type: object + properties: + bank_type: + type: string + required_fields: + type: array + items: + type: string + branch_code: + type: boolean + branch_code_type: + type: string + account_name: + type: boolean + account_verification_required: + type: boolean + account_number_label: + type: string + account_number_pattern: + type: object + properties: + exact_match: + type: boolean + pattern: + type: string + required: + - exact_match + - pattern + documents: + type: array + items: {} + notices: + type: array + items: + type: string + required: + - bank_type + - required_fields + - branch_code + - branch_code_type + - account_name + - account_verification_required + - account_number_label + - account_number_pattern + - documents + - notices + required: + - bank + required: + - NGN + - USD + required: + - type + - data + - supported_currencies + integration_feature: + type: object + properties: + type: + type: string + data: + type: array + items: {} + required: + - type + - data + integration_type: + type: object + properties: + type: + type: string + data: + type: array + items: + type: string + required: + - type + - data + payment_method: + type: object + properties: + type: + type: string + data: + type: array + items: + type: string + required: + - type + - data + required: + - currency + - integration_feature + - integration_type + - payment_method + required: + - id + - active_for_dashboard_onboarding + - name + - iso_code + - default_currency_code + - integration_defaults + - calling_code + - pilot_mode + - relationships + MiscellaneousListCountriesResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/MiscellaneousListCountriesResponseArray' + required: + - status + - message + - data + MiscellaneousListStatesResponseArray: + type: object + properties: + name: + type: string + slug: + type: string + abbreviation: + type: string + required: + - name + - slug + - abbreviation + MiscellaneousListStatesResponse: + type: object + properties: + status: + type: boolean + message: + type: string + data: + type: array + items: + $ref: '#/components/schemas/MiscellaneousListStatesResponseArray' + required: + - status + - message + - data + responses: + TransactionInitializeSuccess: + description: Transaction Initialize response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionInitializeResponse' + TransactionInitializeBadRequestResponse: + description: Responses from the Transaction Initialize endpoint + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionInitializeBadRequestModel' + Unauthorized: + description: Unauthorized operation + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + example: + status: false + message: Invalid key + TransactionVerifySuccess: + description: Transaction Verify response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionVerifyResponse' + NotFound: + description: Entity not found + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + example: + status: false + message: Entity not found + TransactionListSuccess: + description: Transaction List response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionListResponse' + TransactionFetchSuccess: + description: Transaction Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionFetchResponse' + TransactionTimelineSuccess: + description: Transaction Timeline response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionTimelineResponse' + TransactionTotalsSuccess: + description: Transaction Totals response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionTotalsResponse' + TransactionExportSuccess: + description: Transaction Export response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionExportResponse' + TransactionChargeSuccess: + description: Transaction Charge response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionChargeResponse' + TransactionPartialDebitSuccess: + description: Transaction Partial Debit response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionPartialDebitResponse' + Ok: + description: Request successful + content: + application/json: + schema: + $ref: '#/components/schemas/Response' + SplitListSuccess: + description: Split List response + content: + application/json: + schema: + $ref: '#/components/schemas/SplitListResponse' + SplitCreateSuccess: + description: Split Create response + content: + application/json: + schema: + $ref: '#/components/schemas/SplitCreateResponse' + SplitFetchSuccess: + description: Split Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/SplitFetchResponse' + SplitUpdateSuccess: + description: Split Update response + content: + application/json: + schema: + $ref: '#/components/schemas/SplitUpdateResponse' + SplitAddUpdateSubaccountSuccess: + description: Split Add Update Subaccount response + content: + application/json: + schema: + $ref: '#/components/schemas/SplitAddUpdateSubaccountResponse' + SplitRemoveSubaccountSuccess: + description: Split Remove Subaccount response + content: + application/json: + schema: + $ref: '#/components/schemas/SplitRemoveSubaccountResponse' + TerminalGetStatusSuccess: + description: Terminal Get Status response + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalGetStatusResponse' + TerminalListsSuccess: + description: Terminal Lists response + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalListsResponse' + TerminalGetSuccess: + description: Terminal Get response + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalGetResponse' + TerminalUpdateSuccess: + description: Terminal Update response + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalUpdateResponse' + TerminalCommissionDeviceSuccess: + description: Terminal Commission Device response + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalCommissionDeviceResponse' + TerminalDecommissionDeviceSuccess: + description: Terminal Decommission Device response + content: + application/json: + schema: + $ref: '#/components/schemas/TerminalDecommissionDeviceResponse' + CustomerListSuccess: + description: Customer List response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerListResponse' + CustomerCreateSuccess: + description: Customer Create response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerCreateResponse' + CustomerFetchSuccess: + description: Customer Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerFetchResponse' + CustomerUpdateSuccess: + description: Customer Update response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerUpdateResponse' + CustomerWhitelistBlacklistSuccess: + description: Customer Whitelist Blacklist response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerWhitelistBlacklistResponse' + CustomerDeactivateAuthorizationSuccess: + description: Customer Deactivate Authorization response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerDeactivateAuthorizationResponse' + CustomerValidateSuccess: + description: Customer Validate response + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerValidateResponse' + DedicatedNubanFetchSuccess: + description: Dedicated Nuban Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedNubanFetchResponse' + DedicatedNubanCreateSuccess: + description: Dedicated Nuban Create response + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedNubanCreateResponse' + DedicatedNubanDeactivateSuccess: + description: Dedicated Nuban Deactivate response + content: + application/json: + schema: + $ref: '#/components/schemas/DedicatedNubanDeactivateResponse' + ApplePayOkResponse: + description: Responses from the Transaction Initialize endpoint + content: + application/json: + schema: + $ref: '#/components/schemas/ApplePayCreateOkModel' + SubaccountListSuccess: + description: Subaccount List response + content: + application/json: + schema: + $ref: '#/components/schemas/SubaccountListResponse' + SubaccountCreateSuccess: + description: Subaccount Create response + content: + application/json: + schema: + $ref: '#/components/schemas/SubaccountCreateResponse' + SubaccountFetchSuccess: + description: Subaccount Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/SubaccountFetchResponse' + SubaccountUpdateSuccess: + description: Subaccount Update response + content: + application/json: + schema: + $ref: '#/components/schemas/SubaccountUpdateResponse' + PlanListSuccess: + description: Plan List response + content: + application/json: + schema: + $ref: '#/components/schemas/PlanListResponse' + PlanCreateSuccess: + description: Plan Create response + content: + application/json: + schema: + $ref: '#/components/schemas/PlanCreateResponse' + PlanFetchSuccess: + description: Plan Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/PlanFetchResponse' + PlanUpdateSuccess: + description: Plan Update response + content: + application/json: + schema: + $ref: '#/components/schemas/PlanUpdateResponse' + SubscriptionListSuccess: + description: Subscription List response + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionListResponse' + SubscriptionCreateSuccess: + description: Subscription Create response + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionCreateResponse' + SubscriptionFetchSuccess: + description: Subscription Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionFetchResponse' + SubscriptionDisableSuccess: + description: Subscription Disable response + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDisableResponse' + ProductListsSuccess: + description: Product Lists response + content: + application/json: + schema: + $ref: '#/components/schemas/ProductListsResponse' + ProductCreateSuccess: + description: Product Create response + content: + application/json: + schema: + $ref: '#/components/schemas/ProductCreateResponse' + ProductFetchSuccess: + description: Product Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/ProductFetchResponse' + ProductUpdateSuccess: + description: Product Update response + content: + application/json: + schema: + $ref: '#/components/schemas/ProductUpdateResponse' + ProductDeleteSuccess: + description: Product Delete response + content: + application/json: + schema: + $ref: '#/components/schemas/ProductDeleteResponse' + StorefrontListSuccess: + description: Storefront List response + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontListResponse' + StorefrontCreateSuccess: + description: Storefront Create response + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontCreateResponse' + StorefrontFetchSuccess: + description: Storefront Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontFetchResponse' + StorefrontUpdateSuccess: + description: Storefront Update response + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontUpdateResponse' + StorefrontDeleteSuccess: + description: Storefront Delete response + content: + application/json: + schema: + $ref: '#/components/schemas/StorefrontDeleteResponse' + OrderListSuccess: + description: Order List response + content: + application/json: + schema: + $ref: '#/components/schemas/OrderListResponse' + OrderCreateSuccess: + description: Order Create response + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreateResponse' + OrderFetchSuccess: + description: Order Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/OrderFetchResponse' + OrderFetchProductSuccess: + description: Order Fetch Product response + content: + application/json: + schema: + $ref: '#/components/schemas/OrderFetchProductResponse' + OrderValidateSuccess: + description: Order Validate response + content: + application/json: + schema: + $ref: '#/components/schemas/OrderValidateResponse' + PageListSuccess: + description: Page List response + content: + application/json: + schema: + $ref: '#/components/schemas/PageListResponse' + PageCreateSuccess: + description: Page Create response + content: + application/json: + schema: + $ref: '#/components/schemas/PageCreateResponse' + PageFetchSuccess: + description: Page Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/PageFetchResponse' + PageUpdateSuccess: + description: Page Update response + content: + application/json: + schema: + $ref: '#/components/schemas/PageUpdateResponse' + PageCheckSlugAvailabilitySuccess: + description: Page Check Slug Availability response + content: + application/json: + schema: + $ref: '#/components/schemas/PageCheckSlugAvailabilityResponse' + PageAddProductsSuccess: + description: Page Add Products response + content: + application/json: + schema: + $ref: '#/components/schemas/PageAddProductsResponse' + PaymentRequestListSuccess: + description: Payment Request List response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestListResponse' + PaymentRequestCreateSuccess: + description: Payment Request Create response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestCreateResponse' + PaymentRequestUpdateSuccess: + description: Payment Request Update response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestUpdateResponse' + PaymentRequestVerifySuccess: + description: Payment Request Verify response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestVerifyResponse' + PaymentRequestSendNotificationSuccess: + description: Payment Request Send Notification response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestSendNotificationResponse' + PaymentRequestTotalSuccess: + description: Payment Request Total response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestTotalResponse' + PaymentRequestFinalizeSuccess: + description: Payment Request Finalize response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestFinalizeResponse' + PaymentRequestArchiveSuccess: + description: Payment Request Archive response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentRequestArchiveResponse' + TransferRecipientListSuccess: + description: Transfer Recipient List response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientListResponse' + TransferRecipientCreateSuccess: + description: Transfer Recipient Create response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientCreateResponse' + TransferRecipientBulkCreateSuccess: + description: Transfer Recipient Bulk Create response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientBulkCreateResponse' + TransferRecipientFetchSuccess: + description: Transfer Recipient Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientFetchResponse' + TransferRecipientUpdateSuccess: + description: Transfer Recipient Update response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientUpdateResponse' + TransferRecipientDeleteSuccess: + description: Transfer Recipient Delete response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferRecipientDeleteResponse' + TransferListSuccess: + description: Transfer List response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferListResponse' + TransferCreateSuccess: + description: Transfer Create response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferCreateResponse' + TransferBulkSuccess: + description: Transfer Bulk response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferBulkResponse' + TransferFetchSuccess: + description: Transfer Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferFetchResponse' + TransferVerifySuccess: + description: Transfer Verify response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferVerifyResponse' + TransferResendsOtpSuccess: + description: Transfer Resends Otp response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferResendsOtpResponse' + TransferDisablesOtpSuccess: + description: Transfer Disables Otp response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferDisablesOtpResponse' + TransferFinalizeDisablesOtpSuccess: + description: Transfer Finalize Disables Otp response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferFinalizeDisablesOtpResponse' + TransferEnablesOtpSuccess: + description: Transfer Enables Otp response + content: + application/json: + schema: + $ref: '#/components/schemas/TransferEnablesOtpResponse' + BalanceCheckSuccess: + description: Balance Check response + content: + application/json: + schema: + $ref: '#/components/schemas/BalanceCheckResponse' + BalanceFetchLedgerSuccess: + description: Balance Fetch Ledger response + content: + application/json: + schema: + $ref: '#/components/schemas/BalanceFetchLedgerResponse' + ChargeCreateSuccess: + description: Charge Create response + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeCreateResponse' + ChargeSubmitPinSuccess: + description: Charge Submit Pin response + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitPinResponse' + ChargeSubmitOtpSuccess: + description: Charge Submit Otp response + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitOtpResponse' + ChargeSubmitPhoneSuccess: + description: Charge Submit Phone response + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitPhoneResponse' + ChargeSubmitBirthdaySuccess: + description: Charge Submit Birthday response + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeSubmitBirthdayResponse' + ChargeCheckPendingSuccess: + description: Charge Check Pending response + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeCheckPendingResponse' + BulkChargeListSuccess: + description: Bulk Charge List response + content: + application/json: + schema: + $ref: '#/components/schemas/BulkChargeListResponse' + BulkChargeInitiateSuccess: + description: Bulk Charge Initiate response + content: + application/json: + schema: + $ref: '#/components/schemas/BulkChargeInitiateResponse' + BulkChargeFetchSuccess: + description: Bulk Charge Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/BulkChargeFetchResponse' + BulkChargeFetchBulkBatchChargesSuccess: + description: Bulk Charge Fetch Bulk Batch Charges response + content: + application/json: + schema: + $ref: '#/components/schemas/BulkChargeFetchBulkBatchChargesResponse' + BulkChargePauseSuccess: + description: Bulk Charge Pause response + content: + application/json: + schema: + $ref: '#/components/schemas/BulkChargePauseResponse' + BulkChargeResumeSuccess: + description: Bulk Charge Resume response + content: + application/json: + schema: + $ref: '#/components/schemas/BulkChargeResumeResponse' + RefundListSuccess: + description: Refund List response + content: + application/json: + schema: + $ref: '#/components/schemas/RefundListResponse' + RefundCreateSuccess: + description: Refund Create response + content: + application/json: + schema: + $ref: '#/components/schemas/RefundCreateResponse' + RefundFetchSuccess: + description: Refund Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/RefundFetchResponse' + DisputeListSuccess: + description: Dispute List response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeListResponse' + DisputeFetchSuccess: + description: Dispute Fetch response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeFetchResponse' + DisputeUpdateSuccess: + description: Dispute Update response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeUpdateResponse' + DisputeUploadURLSuccess: + description: Dispute Upload U R L response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeUploadURLResponse' + DisputeExportSuccess: + description: Dispute Export response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeExportResponse' + DisputeListTransactionSuccess: + description: Dispute List Transaction response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeListTransactionResponse' + DisputeResolveSuccess: + description: Dispute Resolve response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeResolveResponse' + DisputeAddEvidenceSuccess: + description: Dispute Add Evidence response + content: + application/json: + schema: + $ref: '#/components/schemas/DisputeAddEvidenceResponse' + MiscellaneousListBanksSuccess: + description: Miscellaneous List Banks response + content: + application/json: + schema: + $ref: '#/components/schemas/MiscellaneousListBanksResponse' + VerificationResolveAccountNumberSuccess: + description: Verification Resolve Account Number response + content: + application/json: + schema: + $ref: '#/components/schemas/VerificationResolveAccountNumberResponse' + VerificationValidateAccountSuccess: + description: Verification Validate Account response + content: + application/json: + schema: + $ref: '#/components/schemas/VerificationValidateAccountResponse' + VerificationResolveCardBINSuccess: + description: Verification Resolve Card B I N response + content: + application/json: + schema: + $ref: '#/components/schemas/VerificationResolveCardBINResponse' + MiscellaneousListCountriesSuccess: + description: Miscellaneous List Countries response + content: + application/json: + schema: + $ref: '#/components/schemas/MiscellaneousListCountriesResponse' + MiscellaneousListStatesSuccess: + description: Miscellaneous List States response + content: + application/json: + schema: + $ref: '#/components/schemas/MiscellaneousListStatesResponse' From 277e5b921a3792e2491b45e638957c24f6ec4159 Mon Sep 17 00:00:00 2001 From: Tolu Kalejaiye Date: Sat, 3 May 2025 11:11:09 +0100 Subject: [PATCH 4/6] add missing await --- .../actions/export-transactions/export-transactions.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/paystack/actions/export-transactions/export-transactions.mjs b/components/paystack/actions/export-transactions/export-transactions.mjs index c592966923075..f4946a9296c7d 100644 --- a/components/paystack/actions/export-transactions/export-transactions.mjs +++ b/components/paystack/actions/export-transactions/export-transactions.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-export-transactions", name: "Export Transactions", description: "Export transactions from Paystack. See the documentation (https://paystack.com/docs/api/transaction/#export)", - version: "0.0.1", + version: "0.0.2", type: "action", props: { paystack, @@ -37,7 +37,7 @@ export default { status: this.status, }; - const response = this.paystack.exportTransactions({ + const response = await this.paystack.exportTransactions({ $, params, }); From a891d2bb73c2630b0402f1bd352ede0755d42d23 Mon Sep 17 00:00:00 2001 From: Michelle Bergeron Date: Wed, 30 Jul 2025 10:38:51 -0400 Subject: [PATCH 5/6] updates --- .../export-transactions.mjs | 2 +- components/paystack/package.json | 2 +- components/paystack/paystack-oas.yaml | 16276 ---------------- 3 files changed, 2 insertions(+), 16278 deletions(-) delete mode 100644 components/paystack/paystack-oas.yaml diff --git a/components/paystack/actions/export-transactions/export-transactions.mjs b/components/paystack/actions/export-transactions/export-transactions.mjs index f4946a9296c7d..52084435992db 100644 --- a/components/paystack/actions/export-transactions/export-transactions.mjs +++ b/components/paystack/actions/export-transactions/export-transactions.mjs @@ -4,7 +4,7 @@ export default { key: "paystack-export-transactions", name: "Export Transactions", description: "Export transactions from Paystack. See the documentation (https://paystack.com/docs/api/transaction/#export)", - version: "0.0.2", + version: "0.0.1", type: "action", props: { paystack, diff --git a/components/paystack/package.json b/components/paystack/package.json index 854835b33c3e5..9cda2081181fc 100644 --- a/components/paystack/package.json +++ b/components/paystack/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/paystack", - "version": "0.2.2", + "version": "0.3.0", "description": "Pipedream Paystack Components", "main": "paystack.app.mjs", "keywords": [ diff --git a/components/paystack/paystack-oas.yaml b/components/paystack/paystack-oas.yaml deleted file mode 100644 index 34cf4fa157c11..0000000000000 --- a/components/paystack/paystack-oas.yaml +++ /dev/null @@ -1,16276 +0,0 @@ -openapi: 3.0.1 -info: - title: Paystack - description: The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa. - version: 1.0.0 - contact: - email: techsupport@paystack.com -servers: - - url: https://api.paystack.co - description: Base API endpoint -security: - - bearerAuth: [] -tags: - - name: Transaction - description: | - A collection of endpoints for managing payments - x-product-name: Transactions - - name: Split - description: | - A collection of endpoints for spliting a transaction and managing the splits - x-product-name: Transaction Splits - - name: Terminal - description: | - A collection of endpoints for building delightful in-person payment experiences - x-product-name: Terminal - - name: Customer - description: | - A collection of endpoints for creating and managing customers on an integration - x-product-name: Transaction Splits - - name: Dedicated Virtual Account - description: | - A collection of endpoints for creating and managing payment accounts for customers - x-product-name: Dedicated Virtual Accounts - - name: Apple Pay - description: | - A collection of endpoints for managing application's top-level domain or subdomain accepting payment via Apple Pay - x-product-name: Apple Pay - - name: Subaccount - description: | - A collection of endpoints for creating and managing accounts for sharing a - transaction with - x-product-name: Subaccounts - - name: Plan - description: | - A collection of endpoints for creating and managing recurring payment - configuration - x-product-name: Plans - - name: Subscription - description: | - A collection of endpoints for creating and managing recurring payments - x-product-name: Subscriptions - - name: Product - description: | - A collection of endpoints for creating and managing inventories - x-product-name: Products - - name: Storefront - description: | - A collection of endpoints for creating and managing storefronts - x-product-name: Storefronts - - name: Order - description: | - A collection of endpoints for creating and managing orders - x-product-name: Orders - - name: Page - description: | - A collection of endpoints for creating and managing links for the - collection of payment for products - x-product-name: Payment Pages - - name: Payment Request - description: | - A collection of endpoints for managing invoices for the payment of goods - and services - x-product-name: Payment Requests - - name: Settlement - description: | - A collection of endpoints for gaining insights into payouts - x-product-name: Settlements - - name: Transfer Recipient - description: | - A collection of endpoints for creating and managing beneficiaries that you send money to - x-product-name: Transfer Recipients - - name: Transfer - description: | - A collection of endpoints for automating sending money to beneficiaries - x-product-name: Transfers - - name: Balance - description: | - A collection of endpoints gaining insights into the amount on an integration - x-product-name: Balance - - name: Charge - description: | - A collection of endpoints for configuring and managing the payment channels when initiating a payment - x-product-name: Charges - - name: Bulk Charge - description: | - A collection of endpoints for creating and managing multiple recurring payments - x-product-name: Bulk Charges - - name: Integration - description: | - A collection of endpoints for managing some settings on an integration - x-product-name: Integration - - name: Refund - description: | - A collection of endpoints for creating and managing transaction reimbursement - x-product-name: Refunds - - name: Dispute - description: | - A collection of endpoints for managing transactions complaint made by customers - x-product-name: Disputes - - name: Bank - description: | - A collection of endpoints for managing bank details - x-product-name: Banks - - name: Miscellaneous - description: | - A collection of endpoints that provides utility functions - x-product-name: Miscellaneous -paths: - /transaction/initialize: - post: - tags: - - Transaction - summary: Initialize Transaction - operationId: transaction_initialize - description: Create a new transaction - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionInitialize' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransactionInitialize' - responses: - '200': - $ref: '#/components/responses/TransactionInitializeSuccess' - '400': - $ref: '#/components/responses/TransactionInitializeBadRequestResponse' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transaction/verify/{reference}: - get: - tags: - - Transaction - summary: Verify Transaction - operationId: transaction_verify - description: Verify a previously initiated transaction using it's reference - parameters: - - name: reference - in: path - description: The transaction reference to verify - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/TransactionVerifySuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction: - get: - tags: - - Transaction - summary: List Transactions - operationId: transaction_list - description: List transactions that has occurred on your integration - parameters: - - in: query - name: use_cursor - description: A flag to indicate if cursor based pagination should be used - schema: - type: boolean - - in: query - name: next - description: | - An alphanumeric value returned for every cursor based retrieval, used to retrieve the next set of data - schema: - type: string - - in: query - name: previous - description: | - An alphanumeric value returned for every cursor based retrieval, used to retrieve the previous set of data - schema: - type: string - - in: query - name: per_page - schema: - type: integer - description: The number of records to fetch per request - - in: query - name: page - schema: - type: integer - description: Used to indicate the offeset to retrieve data from - - in: query - name: from - description: The start date - schema: - type: string - format: date-time - - in: query - name: to - description: The end date - schema: - type: string - format: date-time - - in: query - name: channel - description: The payment method the customer used to complete the transaction - schema: - type: string - enum: - - card - - pos - - bank - - dedicated_nuban - - ussd - - bank_transfer - - in: query - name: terminal_id - description: The terminal ID to filter all transactions from a terminal - schema: - type: string - - in: query - name: customer_code - description: The customer code to filter all transactions from a customer - schema: - type: string - - in: query - name: amount - description: Filter transactions by a certain amount - schema: - type: integer - format: int64 - - in: query - name: status - description: Filter transaction by status - schema: - type: string - enum: - - success - - failed - - abandoned - - reversed - - in: query - name: source - description: The origin of the payment - schema: - type: string - enum: - - merchantApi - - checkout - - pos - - virtualTerminal - - in: query - name: subaccount_code - description: Filter transaction by subaccount code - schema: - type: string - - in: query - name: split_code - description: Filter transaction by split code - schema: - type: string - - in: query - name: settlement - description: The settlement ID to filter for settled transactions - schema: - type: integer - format: int64 - responses: - '200': - $ref: '#/components/responses/TransactionListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction/{id}: - get: - tags: - - Transaction - summary: Fetch Transaction - operationId: transaction_fetch - description: Fetch a transaction to get its details - parameters: - - name: id - in: path - description: The ID of the transaction to fetch - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/TransactionFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction/timeline/{id}: - get: - tags: - - Transaction - summary: Fetch Transaction Timeline - operationId: transaction_timeline - description: Get the details about the lifecycle of a transaction from initiation to completion - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - example: 3936799950 - responses: - '200': - $ref: '#/components/responses/TransactionTimelineSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction/totals: - get: - tags: - - Transaction - summary: Transaction Totals - operationId: transaction_totals - description: Get the total amount of all transactions - parameters: - - in: query - description: The start date - name: from - schema: - type: string - format: date-time - example: '2024-06-01T00:00:01Z' - - in: query - name: to - description: The end date - schema: - type: string - format: date-time - example: '2024-06-30T13:36:54Z' - responses: - '200': - $ref: '#/components/responses/TransactionTotalsSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction/export: - get: - tags: - - Transaction - summary: Export Transactions - operationId: transaction_download - parameters: - - in: query - name: from - description: The start date - schema: - type: string - format: date-time - example: '2024-06-01T00:00:01Z' - - in: query - name: to - description: The end date - schema: - type: string - format: date-time - example: '2024-06-30T13:36:54Z' - - in: query - name: status - description: Filter by the status of the transaction - schema: - type: string - enum: - - success - - failed - - abandoned - - reversed - - all - example: success - - in: query - name: customer - description: Filter by customer code - schema: - type: string - example: CUS_eqt26928wowif7z - - in: query - name: subaccount_code - description: Filter by subaccount code - schema: - type: string - example: ACCT_dskvlw3y3dMukmt - - in: query - name: settlement - description: Filter by the settlement ID - schema: - type: integer - format: int64 - example: 5687910 - responses: - '200': - $ref: '#/components/responses/TransactionExportSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction/charge_authorization: - post: - tags: - - Transaction - summary: Charge Authorization - operationId: transaction_chargeAuthorization - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionChargeAuthorization' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransactionChargeAuthorization' - responses: - '200': - $ref: '#/components/responses/TransactionChargeSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transaction/partial_debit: - post: - tags: - - Transaction - summary: Partial Debit - operationId: transaction_partialDebit - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionPartialDebit' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransactionPartialDebit' - responses: - '200': - $ref: '#/components/responses/TransactionPartialDebitSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transaction/{id}/event: - get: - tags: - - Transaction - summary: Get Transaction Event - operationId: transaction_event - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - example: 3936799950 - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transaction/{id}/session: - get: - tags: - - Transaction - summary: Get Transaction Session - operationId: transaction_session - parameters: - - name: id - in: path - required: true - schema: - type: integer - format: int64 - example: 3936799950 - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /split: - post: - tags: - - Split - summary: Create Split - operationId: split_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SplitCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SplitCreate' - responses: - '200': - $ref: '#/components/responses/SplitCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Split - summary: List/Search Splits - operationId: split_list - parameters: - - name: name - in: query - schema: - type: string - - name: active - in: query - schema: - type: string - - name: sort_by - in: query - schema: - type: string - - name: from - in: query - schema: - type: string - - name: to - in: query - schema: - type: string - - name: perPage - in: query - schema: - type: string - - name: page - in: query - schema: - type: string - responses: - '200': - $ref: '#/components/responses/SplitListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /split/{id}: - get: - tags: - - Split - summary: Fetch Split - operationId: split_fetch - parameters: - - name: id - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/SplitFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Split - summary: Update Split - operationId: split_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SplitUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SplitUpdate' - parameters: - - name: id - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/SplitUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /split/{id}/subaccount/add: - post: - tags: - - Split - summary: Add Subaccount to Split - operationId: split_addSubaccount - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SplitSubaccounts' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SplitSubaccounts' - parameters: - - name: id - in: path - required: true - schema: - type: string - example: application/json - responses: - '200': - $ref: '#/components/responses/SplitAddUpdateSubaccountSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /split/{id}/subaccount/remove: - post: - tags: - - Split - summary: Remove Subaccount from split - operationId: split_removeSubaccount - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SplitSubaccounts' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SplitSubaccounts' - parameters: - - name: id - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/SplitRemoveSubaccountSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /terminal/{id}/event: - post: - tags: - - Terminal - summary: Send Event - description: Send an event from your application to the Paystack Terminal - operationId: terminal_sendEvent - parameters: - - name: id - in: path - required: true - schema: - type: string - example: Z0R4orOU - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalSendEvent' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TerminalSendEvent' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /terminal/{terminal_id}/event/{event_id}: - get: - tags: - - Terminal - summary: Fetch Event Status - description: Check the status of an event sent to the Terminal - operationId: terminal_fetchEventStatus - parameters: - - name: terminal_id - in: path - required: true - schema: - type: string - example: Z0R4orOU - - name: event_id - in: path - required: true - schema: - type: string - example: 616d721e8c5cd40a0cdd54a6 - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /terminal/{terminal_id}/presence: - get: - tags: - - Terminal - summary: Fetch Terminal Status - description: Check the availiability of a Terminal before sending an event to it - operationId: terminal_fetchTerminalStatus - parameters: - - name: terminal_id - in: path - required: true - schema: - type: string - example: Z0R4orOU - responses: - '200': - $ref: '#/components/responses/TerminalGetStatusSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /terminal: - get: - tags: - - Terminal - summary: List Terminals - operationId: terminal_list - description: List the Terminals available on your integration - parameters: - - name: next - in: query - schema: - type: string - - name: previous - in: query - schema: - type: string - - name: per_page - in: query - schema: - type: string - responses: - '200': - $ref: '#/components/responses/TerminalListsSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /terminal/{terminal_id}: - parameters: - - name: terminal_id - in: path - required: true - schema: - type: string - get: - tags: - - Terminal - summary: Fetch Terminal - description: Get the details of a Terminal - operationId: terminal_fetch - responses: - '200': - $ref: '#/components/responses/TerminalGetSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Terminal - summary: Update Terminal - operationId: terminal_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalUpate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TerminalUpate' - responses: - '200': - $ref: '#/components/responses/TerminalUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /terminal/commission_device: - post: - tags: - - Terminal - summary: Commission Terminal - description: Activate your debug device by linking it to your integration - operationId: terminal_commission - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalActivationToggle' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TerminalActivationToggle' - responses: - '200': - $ref: '#/components/responses/TerminalCommissionDeviceSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /terminal/decommission_device: - post: - tags: - - Terminal - summary: Decommission Terminal - description: Unlink your debug device from your integration - operationId: terminal_decommission - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalActivationToggle' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TerminalActivationToggle' - responses: - '200': - $ref: '#/components/responses/TerminalDecommissionDeviceSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /customer: - post: - tags: - - Customer - summary: Create Customer - operationId: customer_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomerCreate' - responses: - '200': - $ref: '#/components/responses/CustomerCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Customer - summary: List Customers - operationId: customer_list - description: List customers on your integration - parameters: - - name: use_cursor - in: query - schema: - type: boolean - - name: next - in: query - schema: - type: string - - name: previous - in: query - schema: - type: string - - name: from - in: query - schema: - type: string - - name: to - in: query - schema: - type: string - - name: perPage - in: query - schema: - type: string - - name: page - in: query - schema: - type: string - responses: - '200': - $ref: '#/components/responses/CustomerListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /customer/{code}: - parameters: - - name: code - in: path - required: true - schema: - type: string - get: - tags: - - Customer - summary: Fetch Customer - operationId: customer_fetch - responses: - '200': - $ref: '#/components/responses/CustomerFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Customer - summary: Update Customer - operationId: customer_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomerUpdate' - responses: - '200': - $ref: '#/components/responses/CustomerUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /customer/set_risk_action: - post: - tags: - - Customer - summary: White/blacklist Customer - description: Set customer's risk action by whitelisting or blacklisting the customer - operationId: customer_riskAction - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerRiskAction' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomerRiskAction' - responses: - '200': - $ref: '#/components/responses/CustomerWhitelistBlacklistSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /customer/deactivate_authorization: - post: - tags: - - Customer - summary: Deactivate Authorization - operationId: customer_deactivateAuthorization - description: Deactivate a customer's card - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerDeactivateAuthorization' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomerDeactivateAuthorization' - responses: - '200': - $ref: '#/components/responses/CustomerDeactivateAuthorizationSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /customer/{code}/identification: - parameters: - - name: code - in: path - required: true - schema: - type: string - post: - tags: - - Customer - summary: Validate Customer - operationId: customer_validate - description: Validate a customer's identity - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerValidate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomerValidate' - responses: - '202': - $ref: '#/components/responses/CustomerValidateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /dedicated_account: - post: - tags: - - Dedicated Virtual Account - summary: Create Dedicated Account - operationId: dedicatedAccount_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountCreate' - responses: - '200': - $ref: '#/components/responses/DedicatedNubanCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Dedicated Virtual Account - summary: List Dedicated Accounts - operationId: dedicatedAccount_list - parameters: - - name: account_number - in: query - schema: - type: string - - name: customer - in: query - schema: - type: string - - name: active - in: query - schema: - type: boolean - - name: currency - in: query - schema: - type: string - - name: provider_slug - in: query - schema: - type: string - - name: bank_id - in: query - schema: - type: string - - name: perPage - in: query - schema: - type: string - - name: page - in: query - schema: - type: string - responses: - '200': - $ref: '#/components/responses/DedicatedNubanFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dedicated_account/assign: - post: - tags: - - Dedicated Virtual Account - summary: Assign Dedicated Account - operationId: dedicatedAccount_assign - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountAssign' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountAssign' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /dedicated_account/{account_id}: - parameters: - - name: account_id - in: path - required: true - schema: - type: string - get: - tags: - - Dedicated Virtual Account - summary: Fetch Dedicated Account - operationId: dedicatedAccount_fetch - responses: - '200': - $ref: '#/components/responses/DedicatedNubanFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - delete: - tags: - - Dedicated Virtual Account - summary: Deactivate Dedicated Account - operationId: dedicatedAccount_deactivate - responses: - '200': - $ref: '#/components/responses/DedicatedNubanDeactivateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dedicated_account/requery: - parameters: - - name: account_number - description: Virtual account number to requery - in: query - schema: - type: string - - name: provider_slug - description: The bank's slug in lowercase, without spaces e.g. `wema-bank` - in: query - schema: - type: string - - name: date - description: The day the transfer was made in `YYYY-MM-DD` format - in: query - schema: - type: string - get: - tags: - - Dedicated Virtual Account - summary: Requery Dedicated Account - operationId: dedicatedAccount_requery - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dedicated_account/split: - post: - tags: - - Dedicated Virtual Account - summary: Split Dedicated Account Transaction - operationId: dedicatedAccount_addSplit - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountSplit' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountSplit' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - delete: - tags: - - Dedicated Virtual Account - summary: Remove Split from Dedicated Account - operationId: dedicatedAccount_removeSplit - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountSplit' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DedicatedVirtualAccountSplit' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dedicated_account/available_providers: - get: - tags: - - Dedicated Virtual Account - summary: Fetch Bank Providers - operationId: dedicatedAccount_availableProviders - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /apple-pay/domain: - post: - tags: - - Apple Pay - summary: Register Domain - description: Register a top-level domain or subdomain for your Apple Pay integration. - operationId: applePay_registerDomain - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ApplePayParam' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ApplePayParam' - responses: - '200': - $ref: '#/components/responses/ApplePayOkResponse' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Apple Pay - summary: List Domains - description: Lists all registered domains on your integration - operationId: applePay_listDomain - parameters: - - name: use_cursor - in: query - schema: - type: boolean - - name: next - in: query - schema: - type: string - - name: previous - in: query - schema: - type: string - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - delete: - tags: - - Apple Pay - summary: Unregister Domain - description: Unregister a top-level domain or subdomain previously used for your Apple Pay integration. - operationId: applePay_unregisterDomain - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ApplePayParam' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ApplePayParam' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /subaccount: - post: - tags: - - Subaccount - summary: Create Subaccount - operationId: subaccount_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubaccountCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SubaccountCreate' - responses: - '200': - $ref: '#/components/responses/SubaccountCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Subaccount - summary: List Subaccounts - operationId: subaccount_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/SubaccountListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /subaccount/{code}: - parameters: - - name: code - in: path - required: true - schema: - type: string - get: - tags: - - Subaccount - summary: Fetch Subaccount - operationId: subaccount_fetch - responses: - '200': - $ref: '#/components/responses/SubaccountFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Subaccount - summary: Update Subaccount - operationId: subaccount_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubaccountUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SubaccountUpdate' - responses: - '200': - $ref: '#/components/responses/SubaccountUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /plan: - post: - tags: - - Plan - summary: Create Plan - operationId: plan_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PlanCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PlanCreate' - responses: - '200': - $ref: '#/components/responses/PlanCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Plan - summary: List Plans - operationId: plan_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: interval - schema: - type: string - description: Specify interval of the plan - - in: query - name: amount - schema: - type: integer - description: The amount on the plans to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/PlanListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /plan/{code}: - parameters: - - name: code - in: path - required: true - schema: - type: string - get: - tags: - - Plan - summary: Fetch Plan - operationId: plan_fetch - responses: - '200': - $ref: '#/components/responses/PlanFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Plan - summary: Update Plan - operationId: plan_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PlanUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PlanUpdate' - responses: - '200': - $ref: '#/components/responses/PlanUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /subscription: - post: - tags: - - Subscription - summary: Create Subscription - operationId: subscription_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SubscriptionCreate' - responses: - '200': - $ref: '#/components/responses/SubscriptionCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Subscription - summary: List Subscriptions - operationId: subscription_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: plan - schema: - type: string - description: Plan ID - - in: query - name: customer - schema: - type: string - description: Customer ID - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/SubscriptionListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /subscription/{code}: - parameters: - - name: code - in: path - required: true - schema: - type: string - get: - tags: - - Subscription - summary: Fetch Subscription - operationId: subscription_fetch - responses: - '200': - $ref: '#/components/responses/SubscriptionFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /subscription/disable: - post: - tags: - - Subscription - summary: Disable Subscription - operationId: subscription_disable - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionToggle' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SubscriptionToggle' - responses: - '200': - $ref: '#/components/responses/SubscriptionDisableSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /subscription/enable: - post: - tags: - - Subscription - summary: Enable Subscription - operationId: subscription_enable - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionToggle' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SubscriptionToggle' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /subscription/{code}/manage/link: - get: - tags: - - Subscription - summary: Generate Update Subscription Link - operationId: subscription_manageLink - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /subscription/{code}/manage/email: - post: - tags: - - Subscription - summary: Send Update Subscription Link - operationId: subscription_manageEmail - parameters: - - name: code - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /product: - post: - tags: - - Product - summary: Create Product - operationId: product_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ProductCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ProductCreate' - responses: - '201': - $ref: '#/components/responses/ProductCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Product - summary: List Products - operationId: product_list - parameters: - - name: perPage - in: query - schema: - type: integer - - name: page - in: query - schema: - type: integer - - name: active - in: query - schema: - type: boolean - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/ProductListsSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /product/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Product - summary: Fetch Product - operationId: product_fetch - responses: - '200': - $ref: '#/components/responses/ProductFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Product - summary: Update product - operationId: product_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ProductUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ProductUpdate' - responses: - '200': - $ref: '#/components/responses/ProductUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - delete: - tags: - - Product - summary: Delete Product - operationId: product_delete - responses: - '200': - $ref: '#/components/responses/ProductDeleteSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /storefront: - post: - tags: - - Storefront - summary: Create Storefront - operationId: storefront_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/StorefrontCreate' - responses: - '200': - $ref: '#/components/responses/StorefrontCreateSuccess' - '400': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Storefront - summary: List Storefronts - operationId: storefront_list - parameters: - - name: perPage - in: query - schema: - type: integer - - name: page - in: query - schema: - type: integer - - name: status - in: query - schema: - type: string - enum: - - active - - inactive - responses: - '200': - $ref: '#/components/responses/StorefrontListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /storefront/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Storefront - summary: Fetch Storefront - operationId: storefront_fetch - responses: - '200': - $ref: '#/components/responses/StorefrontFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Storefront - summary: Update Storefront - operationId: storefront_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/StorefrontUpdate' - responses: - '200': - $ref: '#/components/responses/StorefrontUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - delete: - tags: - - Storefront - summary: Delete Storefront - operationId: storefront_delete - responses: - '200': - $ref: '#/components/responses/StorefrontDeleteSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /storefront/verify/{slug}: - parameters: - - name: slug - in: path - required: true - schema: - type: string - get: - tags: - - Storefront - summary: Verify Storefront Slug - operationId: storefront_verifySlug - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /storefront/{id}/order: - get: - tags: - - Storefront - summary: Fetch Storefront Orders - description: Fetch all orders in your Storefront - operationId: storefront_fetchOrders - parameters: - - name: id - in: path - required: true - schema: - type: string - example: Z0R4orOU - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /storefront/{id}/product: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Storefront - summary: Add Products to Storefront - operationId: storefront_addProducts - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontAddProducts' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/StorefrontAddProducts' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - get: - tags: - - Storefront - summary: List Products in Storefront - operationId: storefront_listProducts - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /storefront/{id}/publish: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Storefront - summary: Publish Storefront - operationId: storefront_publish - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /storefront/{id}/duplicate: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Storefront - summary: Duplicate Storefront - operationId: storefront_duplicate - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /order: - post: - tags: - - Order - summary: Create Order - operationId: order_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OrderCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/OrderCreate' - responses: - '200': - $ref: '#/components/responses/OrderCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Order - summary: List Orders - operationId: order_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/OrderListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /order/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Order - summary: Fetch Order - operationId: order_fetch - responses: - '200': - $ref: '#/components/responses/OrderFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /order/product/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Order - summary: Fetch Products Order - operationId: order_fetchProducts - responses: - '200': - $ref: '#/components/responses/OrderFetchProductSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /order/{code}/validate: - parameters: - - name: code - in: path - required: true - schema: - type: string - get: - tags: - - Order - summary: Validate pay for me order - operationId: order_validatePayForMe - responses: - '200': - $ref: '#/components/responses/OrderValidateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /page: - post: - tags: - - Page - summary: Create Page - operationId: page_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PageCreate' - responses: - '200': - $ref: '#/components/responses/PageCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Page - summary: List Pages - operationId: page_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/PageListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /page/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Page - summary: Fetch Page - operationId: page_fetch - responses: - '200': - $ref: '#/components/responses/PageFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Page - summary: Update Page - operationId: page_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PageUpdate' - responses: - '200': - $ref: '#/components/responses/PageUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /page/check_slug_availability/{slug}: - parameters: - - name: slug - in: path - required: true - schema: - type: string - get: - tags: - - Page - summary: Check Slug Availability - operationId: page_checkSlugAvailability - responses: - '200': - $ref: '#/components/responses/PageCheckSlugAvailabilitySuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /page/{id}/product: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Page - summary: Add Products - operationId: page_addProducts - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageProduct' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PageProduct' - responses: - '200': - $ref: '#/components/responses/PageAddProductsSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /paymentrequest: - post: - tags: - - Payment Request - summary: Create Payment Request - operationId: paymentRequest_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PaymentRequestCreate' - responses: - '200': - $ref: '#/components/responses/PaymentRequestCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Payment Request - summary: List Payment Request - operationId: paymentRequest_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: customer - schema: - type: string - description: Customer ID - - in: query - name: status - schema: - type: string - description: Invoice status to filter - - in: query - name: currency - schema: - type: string - description: If your integration supports more than one currency, choose the one to filter - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/PaymentRequestListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /paymentrequest/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Payment Request - summary: Fetch Payment Request - operationId: paymentRequest_fetch - responses: - '200': - $ref: '#/components/responses/PaymentRequestListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Payment Request - summary: Update Payment Request - operationId: paymentRequest_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PaymentRequestUpdate' - responses: - '200': - $ref: '#/components/responses/PaymentRequestUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /paymentrequest/verify/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - get: - tags: - - Payment Request - summary: Verify Payment Request - operationId: paymentRequest_verify - responses: - '200': - $ref: '#/components/responses/PaymentRequestVerifySuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /paymentrequest/notify/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Payment Request - summary: Send Notification - operationId: paymentRequest_notify - responses: - '200': - $ref: '#/components/responses/PaymentRequestSendNotificationSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /paymentrequest/totals: - get: - tags: - - Payment Request - summary: Payment Request Total - operationId: paymentRequest_totals - responses: - '200': - $ref: '#/components/responses/PaymentRequestTotalSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /paymentrequest/finalize/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Payment Request - summary: Finalize Payment Request - operationId: paymentRequest_finalize - responses: - '200': - $ref: '#/components/responses/PaymentRequestFinalizeSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /paymentrequest/archive/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - post: - tags: - - Payment Request - summary: Archive Payment Request - operationId: paymentRequest_archive - responses: - '200': - $ref: '#/components/responses/PaymentRequestArchiveSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /settlement: - get: - tags: - - Settlement - summary: Fetch Settlements - operationId: settlements_fetch - parameters: - - name: perPage - in: query - schema: - type: integer - example: 50 - - name: page - in: query - schema: - type: integer - example: 2 - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /settlement/{id}/transaction: - get: - tags: - - Settlement - summary: Settlement Transactions - operationId: settlements_transaction - parameters: - - name: id - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transferrecipient: - post: - tags: - - Transfer Recipient - summary: Create Transfer Recipient - operationId: transferrecipient_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferRecipientCreate' - responses: - '201': - $ref: '#/components/responses/TransferRecipientCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Transfer Recipient - summary: List Transfer Recipients - operationId: transferrecipient_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/TransferRecipientListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transferrecipient/bulk: - post: - tags: - - Transfer Recipient - summary: Bulk Create Transfer Recipient - operationId: transferrecipient_bulk - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientBulk' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferRecipientBulk' - responses: - '200': - $ref: '#/components/responses/TransferRecipientBulkCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transferrecipient/{code}: - parameters: - - name: code - description: Transfer recipient code - in: path - required: true - schema: - type: string - get: - tags: - - Transfer Recipient - summary: Fetch Transfer recipient - operationId: transferrecipient_fetch - responses: - '200': - $ref: '#/components/responses/TransferRecipientFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Transfer Recipient - summary: Update Transfer recipient - operationId: transferrecipient_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferRecipientUpdate' - responses: - '200': - $ref: '#/components/responses/TransferRecipientUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - delete: - tags: - - Transfer Recipient - summary: Delete Transfer Recipient - operationId: transferrecipient_delete - responses: - '200': - $ref: '#/components/responses/TransferRecipientDeleteSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transfer: - post: - tags: - - Transfer - summary: Initiate Transfer - operationId: transfer_initiate - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferInitiate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferInitiate' - responses: - '200': - $ref: '#/components/responses/TransferCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Transfer - summary: List Transfers - operationId: transfer_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: status - schema: - type: string - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/TransferListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transfer/finalize_transfer: - post: - tags: - - Transfer - summary: Finalize Transfer - operationId: transfer_finalize - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferFinalize' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferFinalize' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transfer/bulk: - post: - tags: - - Transfer - summary: Initiate Bulk Transfer - operationId: transfer_bulk - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferBulk' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferBulk' - responses: - '200': - $ref: '#/components/responses/TransferBulkSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transfer/{code}: - parameters: - - name: code - description: Transfer code - in: path - required: true - schema: - type: string - get: - tags: - - Transfer - summary: Fetch Transfer - operationId: transfer_fetch - responses: - '200': - $ref: '#/components/responses/TransferFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transfer/verify/{reference}: - get: - tags: - - Transfer - summary: Verify Transfer - operationId: transfer_verify - parameters: - - name: reference - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/TransferVerifySuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transfer/export: - get: - tags: - - Transfer - summary: Export Transfers - operationId: transfer_download - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: status - schema: - type: string - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /transfer/resend_otp: - post: - tags: - - Transfer - summary: Resend OTP for Transfer - operationId: transfer_resendOtp - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferResendOTP' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferResendOTP' - responses: - '200': - $ref: '#/components/responses/TransferResendsOtpSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transfer/disable_otp: - post: - tags: - - Transfer - summary: Disable OTP requirement for Transfers - operationId: transfer_disableOtp - responses: - '200': - $ref: '#/components/responses/TransferDisablesOtpSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transfer/disable_otp_finalize: - post: - tags: - - Transfer - summary: Finalize Disabling of OTP requirement for Transfers - operationId: transfer_disableOtpFinalize - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferFinalizeDisableOTP' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TransferFinalizeDisableOTP' - responses: - '200': - $ref: '#/components/responses/TransferFinalizeDisablesOtpSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /transfer/enable_otp: - post: - tags: - - Transfer - summary: Enable OTP requirement for Transfers - operationId: transfer_enableOtp - responses: - '200': - $ref: '#/components/responses/TransferEnablesOtpSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /balance: - get: - tags: - - Balance - summary: Fetch Balance - operationId: balance_fetch - description: You can only transfer from what you have - responses: - '200': - $ref: '#/components/responses/BalanceCheckSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /balance/ledger: - get: - tags: - - Balance - summary: Balance Ledger - operationId: balance_ledger - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/BalanceFetchLedgerSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /charge: - post: - tags: - - Charge - summary: Create Charge - operationId: charge_create - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/ChargeCreate' - - type: object - properties: - bank: - $ref: '#/components/schemas/Bank' - - type: object - properties: - mobile_money: - $ref: '#/components/schemas/MobileMoney' - - type: object - properties: - ussd: - $ref: '#/components/schemas/USSD' - - type: object - properties: - eft: - $ref: '#/components/schemas/EFT' - application/x-www-form-urlencoded: - schema: - allOf: - - $ref: '#/components/schemas/ChargeCreate' - - type: object - properties: - bank: - $ref: '#/components/schemas/Bank' - - type: object - properties: - mobile_money: - $ref: '#/components/schemas/MobileMoney' - - type: object - properties: - ussd: - $ref: '#/components/schemas/USSD' - - type: object - properties: - eft: - $ref: '#/components/schemas/EFT' - responses: - '200': - $ref: '#/components/responses/ChargeCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /charge/submit_pin: - post: - tags: - - Charge - summary: Submit PIN - operationId: charge_submitPin - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitPin' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChargeSubmitPin' - responses: - '200': - $ref: '#/components/responses/ChargeSubmitPinSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /charge/submit_otp: - post: - tags: - - Charge - summary: Submit OTP - operationId: charge_submitOtp - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitOTP' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChargeSubmitOTP' - responses: - '200': - $ref: '#/components/responses/ChargeSubmitOtpSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /charge/submit_phone: - post: - tags: - - Charge - summary: Submit Phone - operationId: charge_submitPhone - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitPhone' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChargeSubmitPhone' - responses: - '200': - $ref: '#/components/responses/ChargeSubmitPhoneSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /charge/submit_birthday: - post: - tags: - - Charge - summary: Submit Birthday - operationId: charge_submitBirthday - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitBirthday' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChargeSubmitBirthday' - responses: - '200': - $ref: '#/components/responses/ChargeSubmitBirthdaySuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /charge/submit_address: - post: - tags: - - Charge - summary: Submit Address - operationId: charge_submitAddress - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitAddress' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChargeSubmitAddress' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /charge/{reference}: - get: - tags: - - Charge - summary: Check pending charge - operationId: charge_check - parameters: - - name: reference - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/ChargeCheckPendingSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bulkcharge: - post: - tags: - - Bulk Charge - summary: Initiate Bulk Charge - operationId: bulkCharge_initiate - requestBody: - content: - application/json: - schema: - type: array - items: - properties: - charges: - title: charges - type: object - items: - $ref: '#/components/schemas/BulkChargeInitiate' - application/x-www-form-urlencoded: - schema: - type: array - items: - properties: - charges: - type: object - items: - $ref: '#/components/schemas/BulkChargeInitiate' - responses: - '200': - $ref: '#/components/responses/BulkChargeInitiateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Bulk Charge - summary: List Bulk Charge Batches - operationId: bulkCharge_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/BulkChargeListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bulkcharge/{code}: - parameters: - - name: code - description: Batch code - in: path - required: true - schema: - type: string - get: - tags: - - Bulk Charge - summary: Fetch Bulk Charge Batch - operationId: bulkCharge_fetch - responses: - '200': - $ref: '#/components/responses/BulkChargeFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bulkcharge/{code}/charges: - get: - tags: - - Bulk Charge - summary: Fetch Charges in a Batch - operationId: bulkCharge_charges - parameters: - - name: code - description: Batch code - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/BulkChargeFetchBulkBatchChargesSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bulkcharge/pause/{code}: - get: - tags: - - Bulk Charge - summary: Pause Bulk Charge Batch - operationId: bulkCharge_pause - parameters: - - name: code - description: Batch code - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/BulkChargePauseSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bulkcharge/resume/{code}: - get: - tags: - - Bulk Charge - summary: Resume Bulk Charge Batch - operationId: bulkCharge_resume - parameters: - - name: code - description: Batch code - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/BulkChargeResumeSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /integration/payment_session_timeout: - get: - tags: - - Integration - summary: Fetch Payment Session Timeout - operationId: integration_fetchPaymentSessionTimeout - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Integration - summary: Update Payment Session Timeout - operationId: integration_updatePaymentSessionTimeout - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentSession' - responses: - '200': - $ref: '#/components/responses/Ok' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /refund: - post: - tags: - - Refund - summary: Create Refund - operationId: refund_create - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RefundCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RefundCreate' - responses: - '200': - $ref: '#/components/responses/RefundCreateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - get: - tags: - - Refund - summary: List Refunds - operationId: refund_list - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/RefundListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /refund/{id}: - get: - tags: - - Refund - summary: Fetch Refund - operationId: refund_fetch - parameters: - - name: id - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/RefundFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute: - get: - tags: - - Dispute - summary: List Disputes - operationId: dispute_list - parameters: - - in: query - name: perPage - description: Number of records to fetch per page - schema: - type: integer - - in: query - name: page - description: The section to retrieve - schema: - type: integer - - in: query - name: status - description: Dispute Status. Acceptable values are awaiting-merchant-feedback, awaiting-bank-feedback, pending, resolved - schema: - type: string - - in: query - name: transaction - description: Transaction ID - schema: - type: string - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/DisputeListSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute/{id}: - parameters: - - name: id - description: Dispute ID - in: path - required: true - schema: - type: string - get: - tags: - - Dispute - summary: Fetch Dispute - operationId: dispute_fetch - responses: - '200': - $ref: '#/components/responses/DisputeFetchSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - put: - tags: - - Dispute - summary: Update Dispute - operationId: dispute_update - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DisputeUpdate' - responses: - '200': - $ref: '#/components/responses/DisputeUpdateSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute/{id}/upload_url: - get: - tags: - - Dispute - summary: Get Upload URL - operationId: dispute_uploadUrl - parameters: - - name: id - description: Dispute ID - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/DisputeUploadURLSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute/export: - get: - tags: - - Dispute - summary: Export Disputes - operationId: dispute_download - parameters: - - in: query - name: perPage - schema: - type: integer - description: Number of records to fetch per page - - in: query - name: page - schema: - type: integer - description: The section to retrieve - - in: query - name: status - schema: - type: string - - in: query - name: from - schema: - type: string - format: date-time - description: The start date - - in: query - name: to - schema: - type: string - format: date-time - description: The end date - responses: - '200': - $ref: '#/components/responses/DisputeExportSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute/transaction/{id}: - get: - tags: - - Dispute - summary: List Transaction Disputes - operationId: dispute_transaction - parameters: - - name: id - description: Transaction ID - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/DisputeListTransactionSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute/{id}/resolve: - put: - tags: - - Dispute - summary: Resolve a Dispute - operationId: dispute_resolve - parameters: - - name: id - description: Dispute ID - in: path - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeResolve' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DisputeResolve' - responses: - '200': - $ref: '#/components/responses/DisputeResolveSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /dispute/{id}/evidence: - post: - tags: - - Dispute - summary: Add Evidence - operationId: dispute_evidence - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeEvidence' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/DisputeEvidence' - parameters: - - name: id - description: Dispute ID - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/DisputeAddEvidenceSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /bank: - get: - tags: - - Bank - summary: List Banks - operationId: bank_list - parameters: - - in: query - name: country - schema: - type: string - - in: query - name: pay_with_bank_transfer - schema: - type: boolean - - in: query - name: use_cursor - schema: - type: boolean - - in: query - name: perPage - schema: - type: integer - - in: query - name: next - schema: - type: string - - in: query - name: previous - schema: - type: string - - in: query - name: gateway - schema: - type: string - responses: - '200': - $ref: '#/components/responses/MiscellaneousListBanksSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bank/resolve: - get: - tags: - - Bank - summary: Resolve Account Number - operationId: bank_resolveAccountNumber - parameters: - - name: account_number - in: query - schema: - type: integer - example: 22728151 - - name: bank_code - in: query - schema: - type: integer - example: 63 - responses: - '200': - $ref: '#/components/responses/VerificationResolveAccountNumberSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /bank/validate: - post: - tags: - - Bank - summary: Validate Bank Account - operationId: bank_validateAccountNumber - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BankValidateRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/BankValidateRequest' - responses: - '200': - $ref: '#/components/responses/VerificationValidateAccountSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - default: - description: Server error - /decision/bin/{bin}: - get: - tags: - - Miscellaneous - summary: Resolve Card BIN - operationId: miscellaneous_resolveCardBin - parameters: - - name: bin - in: path - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/VerificationResolveCardBINSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /country: - get: - tags: - - Miscellaneous - summary: List Countries - operationId: miscellaneous_listCountries - responses: - '200': - $ref: '#/components/responses/MiscellaneousListCountriesSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error - /address_verification/states: - get: - tags: - - Miscellaneous - summary: List States (AVS) - operationId: miscellaneous_avs - parameters: - - in: query - name: type - schema: - type: string - - in: query - name: country - schema: - type: string - - in: query - name: currency - schema: - type: string - responses: - '200': - $ref: '#/components/responses/MiscellaneousListStatesSuccess' - '401': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/NotFound' - default: - description: Server error -components: - securitySchemes: - bearerAuth: - type: http - scheme: bearer - description: Secret key in the format sk_domain_xxxxxx - schemas: - Currency: - description: List of all support currencies - type: string - enum: - - GHS - - KES - - NGN - - ZAR - - USD - example: GHS - SplitSubaccounts: - type: object - properties: - subaccount: - description: Subaccount code of the customer or partner - type: string - share: - description: The percentage or flat quota of the customer or partner - type: string - SplitCreate: - type: object - description: | - Split configuration for transactions - properties: - name: - description: Name of the transaction split - type: string - type: - description: The type of transaction split you want to create. - type: string - enum: - - percentage - - flat - subaccounts: - description: A list of object containing subaccount code and number of shares - type: array - items: - $ref: '#/components/schemas/SplitSubaccounts' - currency: - description: The transaction currency - type: string - enum: - - NGN - - GHS - - ZAR - - USD - bearer_type: - description: This allows you specify how the transaction charge should be processed - type: string - enum: - - subaccount - - account - - all-proportional - - all - bearer_subaccount: - description: This is the subaccount code of the customer or partner that would bear the transaction charge if you specified subaccount as the bearer type - type: string - required: - - name - - type - - subaccounts - - currency - TransactionInitialize: - description: Initialize a transaction - type: object - required: - - email - - amount - properties: - email: - description: Customer's email address - type: string - amount: - description: | - Amount should be in smallest denomination of the currency. For example if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: integer - currency: - $ref: '#/components/schemas/Currency' - reference: - description: Unique transaction reference. Only -, ., = and alphanumeric characters allowed. - type: string - channels: - description: An array of payment channels to control what channels you want to make available to the user to make a payment with - type: array - items: - type: string - enum: - - card - - bank - - ussd - - qr - - eft - - mobile_money - - bank_transfer - callback_url: - description: | - Fully qualified url, e.g. https://example.com/ to redirect your customers to after a successful payment. Use this to override the callback url provided on the dashboard for this transaction - type: string - plan: - description: | - If transaction is to create a subscription to a predefined plan, provide plan code here. - This would invalidate the value provided in amount - type: string - invoice_limit: - description: Number of times to charge customer during subscription to plan - type: integer - split_code: - description: The split code of the transaction split - type: string - split: - $ref: '#/components/schemas/SplitCreate' - subaccount: - description: The code for the subaccount that owns the payment - type: string - transaction_charge: - description: | - A flat fee to charge the subaccount for a transaction. - This overrides the split percentage set when the subaccount was created - type: string - bearer: - description: The bearer of the transaction charge - type: string - enum: - - account - - subaccount - label: - description: Used to replace the email address shown on the Checkout - type: string - metadata: - description: Stringified JSON object of custom data - type: string - example: - email: test@demo.com - amount: 10000 - TransactionInitializeResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - authorization_url: - type: string - access_code: - type: string - reference: - type: string - required: - - authorization_url - - access_code - - reference - required: - - status - - message - - data - ErrorMeta: - type: object - description: Extra details to help with a resolution of the error - properties: - nextStep: - type: string - description: A summarised solution for the error - TransactionInitializeBadRequestModel: - type: object - description: | - Error response returned when a transaction is initialized with incorrect parameters - properties: - status: - type: boolean - description: An indicator for the state of the request - message: - type: string - description: A short description of the error - meta: - $ref: '#/components/schemas/ErrorMeta' - type: - type: string - description: A tag to indicate the type of the error - enum: - - validation_error - - processor_error - - api_error - code: - type: string - description: The error code - errorCodeMappingNotFound: - type: boolean - description: An indicator for error mapping for the request - example: - status: false - message: Duplicate Transaction Reference - meta: - nextStep: Try and create the Transaction or Charge with a new reference - type: validation_error - code: duplicate_reference - errorCodeMappingNotFound: false - Error: - type: object - properties: - status: - type: boolean - description: An indicator for the state of the request - message: - type: string - description: A short description of the error - meta: - $ref: '#/components/schemas/ErrorMeta' - type: - type: string - description: A tag to indicate the type of the error - code: - type: string - description: The error code - enum: - - validation_error - - processor_error - - api_error - errorCodeMappingNotFound: - type: boolean - description: An indicator for error mapping for the request - TransactionVerifyResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - type: string - nullable: true - amount: - type: integer - message: - type: string - nullable: true - gateway_response: - type: string - paid_at: - type: string - nullable: true - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - anyOf: - - type: string - - type: object - log: - nullable: true - fees: - type: integer - nullable: true - fees_split: - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - bin: - nullable: true - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - metadata: - nullable: true - risk_action: - type: string - international_format_phone: - type: string - nullable: true - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - nullable: true - split: - type: object - order_id: - nullable: true - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - transaction_date: - type: string - plan_object: - type: object - subaccount: - type: object - required: - - id - - domain - - status - - reference - - receipt_number - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - - transaction_date - - plan_object - - subaccount - required: - - status - - message - - data - TransactionListResponseArray: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - nullable: true - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - nullable: true - metadata: - type: object - nullable: true - log: - nullable: true - fees: - type: integer - nullable: true - fees_split: - type: integer - nullable: true - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - email: - type: string - phone: - type: string - nullable: true - metadata: - type: object - nullable: true - customer_code: - type: string - risk_action: - type: string - required: - - id - - first_name - - last_name - - email - - phone - - metadata - - customer_code - - risk_action - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - plan: - type: object - split: - type: object - subaccount: - type: object - order_id: - nullable: true - requested_amount: - type: integer - source: - type: object - properties: - source: - type: string - type: - type: string - identifier: - nullable: true - entry_point: - type: string - required: - - source - - type - - identifier - - entry_point - nullable: true - connect: - type: object - nullable: true - pos_transaction_data: - nullable: true - required: - - id - - domain - - status - - reference - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - customer - - authorization - - plan - - split - - subaccount - - order_id - - requested_amount - - source - - connect - - pos_transaction_data - TransactionListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/TransactionListResponseArray' - meta: - type: object - properties: - total: - type: integer - total_volume: - type: number - skipped: - type: integer - perPage: - anyOf: - - type: string - - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - total_volume - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - MetadataCustomFieldsArray: - type: object - properties: - value: - type: string - display_name: - type: string - variable_name: - type: string - required: - - value - - display_name - - variable_name - TransactionFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - nullable: true - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - helpdesk_link: - nullable: true - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - type: object - subaccount: - type: object - split: - type: object - order_id: - nullable: true - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - type: object - properties: - type: - type: string - source: - type: string - identifier: - nullable: true - required: - - type - - source - - identifier - fees_breakdown: - nullable: true - connect: - nullable: true - required: - - id - - domain - - status - - reference - - receipt_number - - amount - - message - - gateway_response - - helpdesk_link - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - subaccount - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - required: - - status - - message - - data - TransactionTimelineResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - required: - - status - - message - - data - TransactionTotalVolumeByCurrencyArray: - type: object - properties: - currency: - type: string - amount: - type: integer - required: - - currency - - amount - TransactionPendingTransfersByCurrencyArray: - type: object - properties: - currency: - type: string - amount: - type: integer - required: - - currency - - amount - TransactionTotalsResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - total_transactions: - type: integer - total_volume: - type: integer - total_volume_by_currency: - type: array - items: - $ref: '#/components/schemas/TransactionTotalVolumeByCurrencyArray' - pending_transfers: - type: integer - pending_transfers_by_currency: - type: array - items: - $ref: '#/components/schemas/TransactionPendingTransfersByCurrencyArray' - required: - - total_transactions - - total_volume - - total_volume_by_currency - - pending_transfers - - pending_transfers_by_currency - required: - - status - - message - - data - TransactionExportResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - path: - type: string - expiresAt: - type: string - required: - - path - - expiresAt - required: - - status - - message - - data - TransactionChargeAuthorization: - type: object - required: - - email - - amount - - authorization_code - properties: - email: - description: Customer's email address - type: string - amount: - description: Amount in the lower denomination of your currency - type: integer - authorization_code: - description: Valid authorization code to charge - type: string - reference: - description: Unique transaction reference. Only -, ., = and alphanumeric characters allowed. - type: string - currency: - $ref: '#/components/schemas/Currency' - split_code: - description: The split code of the transaction split - type: string - subaccount: - description: The code for the subaccount that owns the payment - type: string - transaction_charge: - description: |- - A flat fee to charge the subaccount for a transaction. - This overrides the split percentage set when the subaccount was created - type: string - bearer: - description: The bearer of the transaction charge - type: string - enum: - - account - - subaccount - metadata: - description: Stringified JSON object of custom data - type: string - queue: - description: If you are making a scheduled charge call, it is a good idea to queue them so the processing system does not get overloaded causing transaction processing errors. - type: boolean - example: - email: jb@email.com - amount: 30000 - authorization_code: AUTH_df1l5ehnym - TransactionChargeResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - status: - type: string - amount: - type: integer - currency: - type: string - transaction_date: - type: string - reference: - type: string - domain: - type: string - redirect_url: - type: string - nullable: true - metadata: - type: object - gateway_response: - type: string - message: - type: string - nullable: true - channel: - type: string - fees: - type: integer - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - nullable: true - bin: - type: string - nullable: true - last4: - type: string - nullable: true - exp_month: - type: string - exp_year: - type: string - channel: - type: string - nullable: true - card_type: - type: string - nullable: true - bank: - type: string - nullable: true - country_code: - type: string - nullable: true - brand: - type: string - nullable: true - reusable: - type: boolean - signature: - type: string - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - customer: - type: object - properties: - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - risk_action: - type: string - required: - - first_name - - last_name - - email - - customer_code - - phone - - risk_action - url: - type: string - required: - - status - - amount - - currency - - transaction_date - - reference - - domain - - redirect_url - - metadata - - gateway_response - - message - - channel - - fees - - authorization - - customer - required: - - status - - message - - data - TransactionPartialDebit: - type: object - required: - - email - - amount - - authorization_code - - currency - properties: - email: - description: Customer's email address - type: string - amount: - description: Specified in the lowest denomination of your currency - type: integer - format: int64 - authorization_code: - description: Valid authorization code to charge - type: string - currency: - $ref: '#/components/schemas/Currency' - at_least: - description: Minimum amount to charge - type: string - reference: - description: Unique transaction reference. Only -, ., = and alphanumeric characters allowed. - type: string - example: - email: tap@email.com - amount: 40510 - authorization_code: AUTH_df1l5ehnym - currency: ZAR - TransactionPartialDebitResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - amount: - type: integer - currency: - type: string - transaction_date: - type: string - status: - type: string - reference: - type: string - domain: - type: string - metadata: - type: string - gateway_response: - type: string - message: - nullable: true - channel: - type: string - ip_address: - nullable: true - log: - nullable: true - fees: - type: integer - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - metadata: - type: object - nullable: true - risk_action: - type: string - international_format_phone: - type: string - nullable: true - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - type: integer - requested_amount: - type: integer - id: - type: integer - required: - - amount - - currency - - transaction_date - - status - - reference - - domain - - gateway_response - - message - - channel - - ip_address - - log - - fees - - authorization - - customer - - metadata - - plan - - requested_amount - - id - required: - - status - - message - - data - Response: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - SplitSubaccountsArray: - type: object - properties: - subaccount: - type: object - properties: - id: - type: integer - subaccount_code: - type: string - business_name: - type: string - description: - type: string - primary_contact_name: - type: string - primary_contact_email: - type: string - primary_contact_phone: - type: string - metadata: - type: string - settlement_bank: - type: string - currency: - type: string - account_number: - type: string - required: - - id - - subaccount_code - - business_name - - description - - primary_contact_name - - primary_contact_email - - primary_contact_phone - - metadata - - settlement_bank - - currency - - account_number - share: - type: integer - required: - - subaccount - - share - SplitListResponseArray: - type: object - properties: - id: - type: integer - name: - type: string - type: - type: string - currency: - type: string - integration: - type: integer - domain: - type: string - split_code: - type: string - active: - type: boolean - bearer_type: - type: string - bearer_subaccount: - type: integer - updatedAt: - type: string - is_dynamic: - type: boolean - subaccounts: - type: array - items: - $ref: '#/components/schemas/SplitSubaccountsArray' - total_subaccounts: - type: integer - required: - - id - - name - - type - - currency - - integration - - domain - - split_code - - active - - bearer_type - - bearer_subaccount - - updatedAt - - is_dynamic - - subaccounts - - total_subaccounts - SplitListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/SplitListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - SplitCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - name: - type: string - type: - type: string - currency: - type: string - integration: - type: integer - domain: - type: string - split_code: - type: string - active: - type: boolean - bearer_type: - type: string - bearer_subaccount: - type: integer - updatedAt: - type: string - is_dynamic: - type: boolean - subaccounts: - type: array - items: - $ref: '#/components/schemas/SplitSubaccountsArray' - total_subaccounts: - type: integer - required: - - id - - name - - type - - currency - - integration - - domain - - split_code - - active - - bearer_type - - bearer_subaccount - - updatedAt - - is_dynamic - - subaccounts - - total_subaccounts - required: - - status - - message - - data - SplitFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - name: - type: string - type: - type: string - currency: - type: string - integration: - type: integer - domain: - type: string - split_code: - type: string - active: - type: boolean - bearer_type: - type: string - bearer_subaccount: - type: integer - updatedAt: - type: string - is_dynamic: - type: boolean - subaccounts: - type: array - items: - $ref: '#/components/schemas/SplitSubaccountsArray' - total_subaccounts: - type: integer - required: - - id - - name - - type - - currency - - integration - - domain - - split_code - - active - - bearer_type - - bearer_subaccount - - updatedAt - - is_dynamic - - subaccounts - - total_subaccounts - required: - - status - - message - - data - SplitUpdate: - type: object - properties: - name: - description: Name of the transaction split - type: string - active: - description: Toggle status of split. When true, the split is active, else it's inactive - type: boolean - bearer_type: - description: This allows you specify how the transaction charge should be processed - type: string - enum: - - subaccount - - account - - all-proportional - - all - bearer_subaccount: - description: This is the subaccount code of the customer or partner that would bear the transaction charge if you specified subaccount as the bearer type - type: string - SplitUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - name: - type: string - type: - type: string - currency: - type: string - integration: - type: integer - domain: - type: string - split_code: - type: string - active: - type: boolean - bearer_type: - type: string - bearer_subaccount: - type: integer - updatedAt: - type: string - is_dynamic: - type: boolean - subaccounts: - type: array - items: - $ref: '#/components/schemas/SplitSubaccountsArray' - total_subaccounts: - type: integer - required: - - id - - name - - type - - currency - - integration - - domain - - split_code - - active - - bearer_type - - bearer_subaccount - - updatedAt - - is_dynamic - - subaccounts - - total_subaccounts - required: - - status - - message - - data - SplitAddUpdateSubaccountResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - name: - type: string - type: - type: string - currency: - type: string - integration: - type: integer - domain: - type: string - split_code: - type: string - active: - type: boolean - bearer_type: - type: string - bearer_subaccount: - type: integer - updatedAt: - type: string - is_dynamic: - type: boolean - subaccounts: - type: array - items: - $ref: '#/components/schemas/SplitSubaccountsArray' - total_subaccounts: - type: integer - required: - - id - - name - - type - - currency - - integration - - domain - - split_code - - active - - bearer_type - - bearer_subaccount - - updatedAt - - is_dynamic - - subaccounts - - total_subaccounts - required: - - status - - message - - data - SplitRemoveSubaccountResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TerminalSendEventData: - type: object - description: The parameters needed to perform the specified action - properties: - id: - description: The invoice or transaction ID you want to push to the Terminal - type: integer - format: int64 - reference: - description: The offline_reference from the Payment Request response - type: string - example: - id: 7895939 - reference: '4634337895939' - TerminalSendEvent: - type: object - properties: - type: - description: The type of event to push - type: string - enum: - - invoice - - transaction - action: - description: | - The action the Terminal needs to perform. For the invoice type, the action can either be process or view. - For the transaction type, the action can either be process or print. - type: string - enum: - - process - - view - - print - data: - $ref: '#/components/schemas/TerminalSendEventData' - TerminalGetStatusResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - online: - type: boolean - available: - type: boolean - required: - - online - - available - required: - - status - - message - - data - TerminalListsResponseArray: - type: object - properties: - id: - type: integer - serial_number: - type: string - nullable: true - device_make: - type: string - nullable: true - terminal_id: - type: string - integration: - type: integer - domain: - type: string - name: - type: string - nullable: true - address: - type: string - nullable: true - status: - type: string - required: - - id - - serial_number - - device_make - - terminal_id - - integration - - domain - - name - - address - - status - TerminalListsResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/TerminalListsResponseArray' - meta: - type: object - properties: - next: - type: array - nullable: true - items: {} - previous: - type: array - nullable: true - items: {} - perPage: - type: integer - required: - - next - - previous - - perPage - additionalProperties: false - required: - - status - - message - - data - - meta - TerminalGetResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - serial_number: - type: string - device_make: - type: string - nullable: true - terminal_id: - type: string - integration: - type: integer - domain: - type: string - name: - type: string - nullable: true - address: - type: string - nullable: true - status: - type: string - split_code: - type: string - nullable: true - required: - - id - - serial_number - - device_make - - terminal_id - - integration - - domain - - name - - address - - status - - split_code - required: - - status - - message - - data - TerminalUpate: - type: object - description: Model for updating a Terminal details - properties: - name: - description: The new name for the Terminal - type: string - address: - description: The new address for the Terminal - type: string - example: - name: Oreos - address: Somewhere on earth - TerminalUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TerminalActivationToggle: - type: object - description: Model for activating and deactivating a debug Terminal - required: - - serial_number - properties: - serial_number: - description: Device Serial Number - type: string - example: - serial_number: '1111150412230003899' - TerminalCommissionDeviceResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TerminalDecommissionDeviceResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - CustomerListResponseArray: - type: object - properties: - integration: - type: integer - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - email: - type: string - phone: - type: string - nullable: true - metadata: - type: object - nullable: true - domain: - type: string - customer_code: - type: string - risk_action: - type: string - id: - type: integer - updatedAt: - type: string - required: - - integration - - first_name - - last_name - - email - - phone - - metadata - - domain - - customer_code - - risk_action - - id - - updatedAt - CustomerListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/CustomerListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - anyOf: - - type: string - - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - CustomerCreate: - type: object - required: - - email - properties: - email: - description: Customer's email address - type: string - first_name: - description: Customer's first name - type: string - last_name: - description: Customer's last name - type: string - phone: - description: Customer's phone number - type: string - metadata: - description: Stringified JSON object of custom data - type: string - CustomerCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - transactions: - type: array - items: {} - subscriptions: - type: array - items: {} - authorizations: - type: array - items: {} - email: - type: string - first_name: - type: string - last_name: - type: string - phone: - type: string - integration: - type: integer - domain: - type: string - metadata: - type: object - properties: - calling_code: - type: string - customer_code: - type: string - risk_action: - type: string - id: - type: integer - updatedAt: - type: string - identified: - type: boolean - identifications: - nullable: true - required: - - transactions - - subscriptions - - authorizations - - email - - first_name - - last_name - - phone - - integration - - domain - - metadata - - customer_code - - risk_action - - id - - updatedAt - - identified - - identifications - required: - - status - - message - - data - CustomerFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - transactions: - type: array - items: {} - subscriptions: - type: array - items: {} - authorizations: - type: array - items: {} - first_name: - type: string - last_name: - type: string - email: - type: string - phone: - type: string - metadata: - type: object - properties: - calling_code: - type: string - domain: - type: string - customer_code: - type: string - risk_action: - type: string - id: - type: integer - integration: - type: integer - updatedAt: - type: string - created_at: - type: string - updated_at: - type: string - total_transactions: - type: integer - total_transaction_value: - type: array - items: {} - dedicated_account: - nullable: true - dedicated_accounts: - type: array - items: {} - nullable: true - identified: - type: boolean - identifications: - nullable: true - required: - - transactions - - subscriptions - - authorizations - - first_name - - last_name - - email - - phone - - metadata - - domain - - customer_code - - risk_action - - id - - integration - - updatedAt - - created_at - - updated_at - - total_transactions - - total_transaction_value - - dedicated_account - - dedicated_accounts - - identified - - identifications - required: - - status - - message - - data - CustomerUpdate: - type: object - properties: - first_name: - description: Customer's first name - type: string - last_name: - description: Customer's last name - type: string - phone: - description: Customer's phone number - type: string - metadata: - description: Stringified JSON object of custom data - type: string - CustomerUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - first_name: - type: string - last_name: - type: string - email: - type: string - phone: - type: string - metadata: - type: object - domain: - type: string - customer_code: - type: string - risk_action: - type: string - id: - type: integer - integration: - type: integer - updatedAt: - type: string - identified: - type: boolean - identifications: - nullable: true - required: - - first_name - - last_name - - email - - phone - - metadata - - domain - - customer_code - - risk_action - - id - - integration - - updatedAt - - identified - - identifications - required: - - status - - message - - data - CustomerRiskAction: - type: object - required: - - customer - properties: - customer: - description: Customer's code, or email address - type: string - risk_action: - description: | - One of the possible risk actions [ default, allow, deny ]. allow to whitelist. - deny to blacklist. Customers start with a default risk action. - type: string - CustomerWhitelistBlacklistResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - transactions: - type: array - items: {} - subscriptions: - type: array - items: {} - authorizations: - type: array - items: {} - first_name: - type: string - last_name: - type: string - email: - type: string - phone: - type: string - metadata: - type: object - domain: - type: string - customer_code: - type: string - risk_action: - type: string - id: - type: integer - integration: - type: integer - updatedAt: - type: string - identified: - type: boolean - identifications: - nullable: true - required: - - transactions - - subscriptions - - authorizations - - first_name - - last_name - - email - - phone - - metadata - - domain - - customer_code - - risk_action - - id - - integration - - updatedAt - - identified - - identifications - required: - - status - - message - - data - CustomerDeactivateAuthorization: - type: object - required: - - authorization_code - properties: - authorization_code: - description: Authorization code to be deactivated - type: string - CustomerDeactivateAuthorizationResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - CustomerValidate: - type: object - required: - - first_name - - last_name - - type - - country - - bvn - - bank_code - - account_number - properties: - first_name: - description: Customer's first name - type: string - middle_name: - description: Customer's middle name - type: string - last_name: - description: Customer's last name - type: string - type: - description: Predefined types of identification. - type: string - value: - description: Customer's identification number. Required if type is bvn - type: string - country: - description: Two-letter country code of identification issuer - type: string - bvn: - description: Customer's Bank Verification Number - type: string - bank_code: - description: You can get the list of bank codes by calling the List Banks endpoint (https://api.paystack.co/bank). - type: string - account_number: - description: Customer's bank account number. - type: string - CustomerValidateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - DedicatedNubanFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - nullable: true - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - bank: - type: object - properties: - name: - type: string - id: - type: integer - slug: - type: string - required: - - name - - id - - slug - id: - type: integer - account_name: - type: string - account_number: - type: string - created_at: - type: string - updated_at: - type: string - currency: - type: string - split_config: - nullable: true - active: - type: boolean - assigned: - type: boolean - required: - - customer - - bank - - id - - account_name - - account_number - - created_at - - updated_at - - currency - - split_config - - active - - assigned - required: - - status - - message - - data - DedicatedVirtualAccountCreate: - type: object - required: - - customer - properties: - customer: - description: Customer ID or code - type: string - preferred_bank: - description: The bank slug for preferred bank. To get a list of available banks, use the List Providers endpoint - type: string - subaccount: - description: Subaccount code of the account you want to split the transaction with - type: string - split_code: - description: Split code consisting of the lists of accounts you want to split the transaction with - type: string - DedicatedNubanCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - bank: - type: object - properties: - name: - type: string - id: - type: integer - slug: - type: string - required: - - name - - id - - slug - account_name: - type: string - account_number: - type: string - assigned: - type: boolean - currency: - type: string - metadata: - nullable: true - active: - type: boolean - id: - type: integer - created_at: - type: string - updated_at: - type: string - assignment: - type: object - properties: - integration: - type: integer - assignee_id: - type: integer - assignee_type: - type: string - expired: - type: boolean - account_type: - type: string - assigned_at: - type: string - expired_at: - nullable: true - required: - - integration - - assignee_id - - assignee_type - - expired - - account_type - - assigned_at - - expired_at - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - nullable: true - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - required: - - bank - - account_name - - account_number - - assigned - - currency - - metadata - - active - - id - - created_at - - updated_at - - assignment - - customer - required: - - status - - message - - data - DedicatedVirtualAccountAssign: - type: object - required: - - email - - first_name - - last_name - - phone - - preferred_bank - - country - properties: - email: - description: Customer's email address - type: string - first_name: - description: Customer's first name - type: string - last_name: - description: Customer's last name - type: string - phone: - description: Customer's phone name - type: string - preferred_bank: - description: | - The bank slug for preferred bank. To get a list of available banks, - use the List Banks endpoint, passing `pay_with_bank_transfer=true` query parameter - type: string - country: - description: Currently accepts NG only - type: string - account_number: - description: Customer's account number - type: string - bvn: - description: Customer's Bank Verification Number - type: string - bank_code: - description: Customer's bank code - type: string - subaccount: - description: Subaccount code of the account you want to split the transaction with - type: string - split_code: - description: Split code consisting of the lists of accounts you want to split the transaction with - type: string - DedicatedNubanDeactivateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - bank: - type: object - properties: - name: - type: string - id: - type: integer - slug: - type: string - required: - - name - - id - - slug - account_name: - type: string - account_number: - type: string - assigned: - type: boolean - currency: - type: string - metadata: - nullable: true - active: - type: boolean - id: - type: integer - created_at: - type: string - updated_at: - type: string - assignment: - type: object - properties: - assignee_id: - type: integer - assignee_type: - type: string - assigned_at: - type: string - integration: - type: integer - account_type: - type: string - required: - - assignee_id - - assignee_type - - assigned_at - - integration - - account_type - required: - - bank - - account_name - - account_number - - assigned - - currency - - metadata - - active - - id - - created_at - - updated_at - - assignment - required: - - status - - message - - data - DedicatedVirtualAccountSplit: - type: object - required: - - account_number - properties: - account_number: - description: Valid Dedicated virtual account - type: string - subaccount: - description: Subaccount code of the account you want to split the transaction with - type: string - split_code: - description: Split code consisting of the lists of accounts you want to split the transaction with - type: string - ApplePayParam: - type: object - required: - - domainName - properties: - domainName: - description: The domain or subdomain for your application - type: string - example: - domainName: example.com - ApplePayCreateOkModel: - type: object - properties: - status: - description: An indicator - type: boolean - message: - description: A short description of the response - type: string - example: - status: true - message: Domain successfully registered on Apple Pay - SubaccountListResponseArray: - type: object - properties: - id: - type: integer - subaccount_code: - type: string - business_name: - type: string - description: - type: string - primary_contact_name: - type: string - primary_contact_email: - type: string - primary_contact_phone: - type: string - metadata: - type: string - percentage_charge: - type: number - settlement_bank: - type: string - bank_id: - type: integer - account_number: - type: string - currency: - type: string - active: - type: integer - required: - - id - - subaccount_code - - business_name - - description - - primary_contact_name - - primary_contact_email - - primary_contact_phone - - metadata - - percentage_charge - - settlement_bank - - bank_id - - account_number - - currency - - active - SubaccountListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/SubaccountListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - SubaccountCreate: - type: object - required: - - business_name - - settlement_bank - - account_number - - percentage_charge - properties: - business_name: - description: Name of business for subaccount - type: string - settlement_bank: - description: Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. - type: string - account_number: - description: Bank account number - type: string - percentage_charge: - description: Customer's phone number - type: number - format: float - description: - description: A description for this subaccount - type: string - primary_contact_email: - description: A contact email for the subaccount - type: string - primary_contact_name: - description: The name of the contact person for this subaccount - type: string - primary_contact_phone: - description: A phone number to call for this subaccount - type: string - metadata: - description: Stringified JSON object of custom data - type: string - SubaccountCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - business_name: - type: string - account_name: - type: string - nullable: true - description: - type: string - primary_contact_name: - type: string - primary_contact_email: - type: string - primary_contact_phone: - type: string - metadata: - type: string - account_number: - type: string - percentage_charge: - type: number - settlement_bank: - type: string - currency: - type: string - bank: - type: integer - integration: - type: integer - domain: - type: string - product: - type: string - managed_by_integration: - type: integer - subaccount_code: - type: string - is_verified: - type: boolean - settlement_schedule: - type: string - active: - type: boolean - migrate: - type: boolean - id: - type: integer - updatedAt: - type: string - required: - - business_name - - description - - primary_contact_name - - primary_contact_email - - primary_contact_phone - - metadata - - account_number - - percentage_charge - - settlement_bank - - currency - - bank - - integration - - domain - - managed_by_integration - - product - - subaccount_code - - is_verified - - settlement_schedule - - active - - migrate - - id - - updatedAt - required: - - status - - message - - data - SubaccountFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - integration: - type: integer - account_name: - type: string - nullable: true - bank: - type: integer - managed_by_integration: - type: integer - domain: - type: string - subaccount_code: - type: string - business_name: - type: string - description: - type: string - primary_contact_name: - type: string - primary_contact_email: - type: string - primary_contact_phone: - type: string - metadata: - type: string - percentage_charge: - type: number - is_verified: - type: boolean - settlement_bank: - type: string - account_number: - type: string - settlement_schedule: - type: string - active: - type: boolean - migrate: - type: boolean - currency: - type: string - product: - type: string - id: - type: integer - updatedAt: - type: string - required: - - integration - - bank - - managed_by_integration - - domain - - subaccount_code - - business_name - - description - - primary_contact_name - - primary_contact_email - - primary_contact_phone - - metadata - - percentage_charge - - is_verified - - settlement_bank - - account_number - - settlement_schedule - - active - - migrate - - currency - - product - - id - - updatedAt - required: - - status - - message - - data - SubaccountUpdate: - type: object - properties: - business_name: - description: Name of business for subaccount - type: string - settlement_bank: - description: Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. - type: string - account_number: - description: Bank account number - type: string - active: - description: Activate or deactivate a subaccount - type: boolean - percentage_charge: - description: Customer's phone number - type: number - format: float - description: - description: A description for this subaccount - type: string - primary_contact_email: - description: A contact email for the subaccount - type: string - primary_contact_name: - description: The name of the contact person for this subaccount - type: string - primary_contact_phone: - description: A phone number to call for this subaccount - type: string - metadata: - description: Stringified JSON object of custom data - type: string - SubaccountUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - domain: - type: string - subaccount_code: - type: string - account_name: - type: string - nullable: true - business_name: - type: string - description: - type: string - primary_contact_name: - type: string - primary_contact_email: - type: string - primary_contact_phone: - type: string - metadata: - type: string - percentage_charge: - type: number - is_verified: - type: boolean - settlement_bank: - type: string - account_number: - type: string - settlement_schedule: - type: string - active: - type: boolean - migrate: - type: boolean - currency: - type: string - product: - type: string - id: - type: integer - integration: - type: integer - bank: - type: integer - managed_by_integration: - type: integer - updatedAt: - type: string - required: - - domain - - subaccount_code - - business_name - - description - - primary_contact_name - - primary_contact_email - - primary_contact_phone - - metadata - - percentage_charge - - is_verified - - settlement_bank - - account_number - - settlement_schedule - - active - - migrate - - currency - - product - - id - - integration - - bank - - managed_by_integration - - updatedAt - required: - - status - - message - - data - PlanListResponseArray: - type: object - properties: - subscriptions: - type: array - items: {} - pages: - type: array - items: {} - domain: - type: string - name: - type: string - plan_code: - type: string - description: - nullable: true - amount: - type: integer - interval: - type: string - invoice_limit: - type: integer - send_invoices: - type: boolean - send_sms: - type: boolean - hosted_page: - type: boolean - hosted_page_url: - nullable: true - hosted_page_summary: - nullable: true - currency: - type: string - migrate: - type: boolean - is_deleted: - type: boolean - is_archived: - type: boolean - id: - type: integer - integration: - type: integer - updatedAt: - type: string - total_subscriptions: - type: integer - active_subscriptions: - type: integer - total_subscriptions_revenue: - type: integer - required: - - subscriptions - - pages - - domain - - name - - plan_code - - description - - amount - - interval - - invoice_limit - - send_invoices - - send_sms - - hosted_page - - hosted_page_url - - hosted_page_summary - - currency - - migrate - - is_deleted - - is_archived - - id - - integration - - updatedAt - - total_subscriptions - - active_subscriptions - - total_subscriptions_revenue - PlanListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/PlanListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - PlanCreate: - type: object - required: - - name - - amount - - interval - properties: - name: - description: Name of plan - type: string - amount: - description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: integer - interval: - description: Interval in words. Valid intervals are daily, weekly, monthly,biannually, annually - type: string - description: - description: A description for this plan - type: string - send_invoices: - description: Set to false if you don't want invoices to be sent to your customers - type: boolean - send_sms: - description: Set to false if you don't want text messages to be sent to your customers - type: boolean - currency: - description: Currency in which amount is set. Allowed values are NGN, GHS, ZAR or USD - type: string - invoice_limit: - description: |- - Number of invoices to raise during subscription to this plan. - Can be overridden by specifying an invoice_limit while subscribing. - type: integer - PlanCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - currency: - type: string - name: - type: string - amount: - type: integer - interval: - type: string - integration: - type: integer - domain: - type: string - plan_code: - type: string - invoice_limit: - type: integer - send_invoices: - type: boolean - send_sms: - type: boolean - hosted_page: - type: boolean - migrate: - type: boolean - is_archived: - type: boolean - id: - type: integer - updatedAt: - type: string - required: - - currency - - name - - amount - - interval - - integration - - domain - - plan_code - - invoice_limit - - send_invoices - - send_sms - - hosted_page - - migrate - - is_archived - - id - - updatedAt - required: - - status - - message - - data - PlanFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - subscriptions: - type: array - items: {} - pages: - type: array - items: {} - domain: - type: string - name: - type: string - plan_code: - type: string - description: - nullable: true - amount: - type: integer - interval: - type: string - invoice_limit: - type: integer - send_invoices: - type: boolean - send_sms: - type: boolean - hosted_page: - type: boolean - hosted_page_url: - nullable: true - hosted_page_summary: - nullable: true - currency: - type: string - migrate: - type: boolean - is_deleted: - type: boolean - is_archived: - type: boolean - id: - type: integer - integration: - type: integer - updatedAt: - type: string - pages_count: - type: integer - subscribers_count: - type: integer - subscriptions_count: - type: integer - active_subscriptions_count: - type: integer - nullable: true - total_revenue: - type: integer - subscribers: - type: array - items: {} - required: - - subscriptions - - pages - - domain - - name - - plan_code - - description - - amount - - interval - - invoice_limit - - send_invoices - - send_sms - - hosted_page - - hosted_page_url - - hosted_page_summary - - currency - - migrate - - is_deleted - - is_archived - - id - - integration - - updatedAt - - pages_count - - subscribers_count - - subscriptions_count - - active_subscriptions_count - - total_revenue - - subscribers - required: - - status - - message - - data - PlanUpdate: - type: object - properties: - name: - description: Name of plan - type: string - amount: - description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: integer - interval: - description: Interval in words. Valid intervals are daily, weekly, monthly,biannually, annually - type: string - description: - description: A description for this plan - type: boolean - send_invoices: - description: Set to false if you don't want invoices to be sent to your customers - type: boolean - send_sms: - description: Set to false if you don't want text messages to be sent to your customers - type: boolean - currency: - description: Currency in which amount is set. Allowed values are NGN, GHS, ZAR or USD - type: string - invoice_limit: - description: |- - Number of invoices to raise during subscription to this plan. - Can be overridden by specifying an invoice_limit while subscribing. - type: integer - PlanUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - SubscriptionListResponseArray: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - start: - type: integer - quantity: - type: integer - subscription_code: - type: string - email_token: - type: string - amount: - type: integer - cron_expression: - type: string - nullable: true - next_payment_date: - type: string - nullable: true - open_invoice: - nullable: true - integration: - type: integer - plan: - type: object - properties: - id: - type: integer - domain: - type: string - name: - type: string - plan_code: - type: string - description: - nullable: true - amount: - type: integer - interval: - type: string - send_invoices: - type: boolean - send_sms: - type: boolean - currency: - type: string - integration: - type: integer - updatedAt: - type: string - required: - - id - - domain - - name - - plan_code - - description - - amount - - interval - - send_invoices - - send_sms - - currency - - integration - - updatedAt - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - nullable: true - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - nullable: true - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: integer - signature: - type: string - nullable: true - account_name: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - metadata: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - invoice_limit: - type: integer - split_code: - nullable: true - payments_count: - type: integer - most_recent_invoice: - nullable: true - required: - - id - - domain - - status - - start - - quantity - - subscription_code - - email_token - - amount - - cron_expression - - next_payment_date - - open_invoice - - integration - - plan - - authorization - - customer - - invoice_limit - - split_code - - payments_count - - most_recent_invoice - SubscriptionListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/SubscriptionListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - SubscriptionCreate: - type: object - required: - - customer - - plan - properties: - customer: - description: Customer's email address or customer code - type: string - plan: - description: Plan code - type: string - authorization: - description: |- - If customer has multiple authorizations, you can set the desired authorization you wish to use for this subscription here. - If this is not supplied, the customer's most recent authorization would be used - type: string - start_date: - description: Set the date for the first debit. (ISO 8601 format) e.g. 2017-05-16T00:30:13+01:00 - type: string - format: date-time - SubscriptionCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - customer: - type: integer - plan: - type: integer - integration: - type: integer - domain: - type: string - start: - type: integer - status: - type: string - quantity: - type: integer - amount: - type: integer - authorization: - type: integer - invoice_limit: - type: integer - split_code: - nullable: true - subscription_code: - type: string - email_token: - type: string - id: - type: integer - cancelledAt: - nullable: true - updatedAt: - type: string - cron_expression: - type: string - next_payment_date: - type: string - required: - - customer - - plan - - integration - - domain - - start - - status - - quantity - - amount - - authorization - - invoice_limit - - split_code - - subscription_code - - email_token - - id - - cancelledAt - - updatedAt - - cron_expression - - next_payment_date - required: - - status - - message - - data - SubscriptionFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - subscription_code: - type: string - email_token: - type: string - amount: - type: integer - cron_expression: - type: string - next_payment_date: - type: string - open_invoice: - nullable: true - cancelledAt: - nullable: true - integration: - type: integer - plan: - type: object - properties: - id: - type: integer - name: - type: string - plan_code: - type: string - description: - nullable: true - amount: - type: integer - interval: - type: string - send_invoices: - type: boolean - send_sms: - type: boolean - currency: - type: string - required: - - id - - name - - plan_code - - description - - amount - - interval - - send_invoices - - send_sms - - currency - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - invoices: - type: array - items: {} - invoices_history: - type: array - items: {} - invoice_limit: - type: integer - split_code: - nullable: true - most_recent_invoice: - nullable: true - payments_count: - type: integer - required: - - id - - domain - - status - - subscription_code - - email_token - - amount - - cron_expression - - next_payment_date - - open_invoice - - cancelledAt - - integration - - plan - - authorization - - customer - - invoices - - invoices_history - - invoice_limit - - split_code - - most_recent_invoice - - payments_count - required: - - status - - message - - data - SubscriptionToggle: - type: object - required: - - code - - token - properties: - code: - description: Subscription code - type: string - token: - description: Email token - type: string - SubscriptionDisableResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - ProductListsResponseArray: - type: object - properties: - id: - type: integer - name: - type: string - description: - type: string - product_code: - type: string - slug: - type: string - currency: - type: string - price: - type: integer - quantity: - type: integer - quantity_sold: - type: integer - active: - type: boolean - domain: - type: string - type: - type: string - in_stock: - type: boolean - unlimited: - type: boolean - metadata: - type: object - properties: - background_color: - type: string - required: - - background_color - files: - type: array - items: {} - success_message: - nullable: true - redirect_url: - nullable: true - split_code: - nullable: true - notification_emails: - nullable: true - minimum_orderable: - type: integer - maximum_orderable: - nullable: true - updatedAt: - type: string - digital_assets: - type: array - items: {} - variant_options: - type: array - items: {} - is_shippable: - type: boolean - shipping_fields: - type: object - properties: - delivery_note: - type: string - shipping_address: - type: string - shipping_fees: - type: array - items: {} - required: - - delivery_note - - shipping_address - - shipping_fees - integration: - type: integer - low_stock_alert: - type: integer - required: - - id - - name - - description - - product_code - - slug - - currency - - price - - quantity - - quantity_sold - - active - - domain - - type - - in_stock - - unlimited - - metadata - - files - - success_message - - redirect_url - - split_code - - notification_emails - - minimum_orderable - - maximum_orderable - - updatedAt - - digital_assets - - variant_options - - is_shippable - - shipping_fields - - integration - - low_stock_alert - ProductListsResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/ProductListsResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: string - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - ProductCreate: - type: object - required: - - name - - description - - price - - currency - properties: - name: - description: Name of product - type: string - description: - description: The description of the product - type: string - price: - description: | - Price should be in kobo if currency is NGN, pesewas, if currency is GHS, - and cents, if currency is ZAR - type: integer - currency: - description: | - Currency in which price is set. Allowed values are: NGN, GHS, ZAR or USD - type: string - unlimited: - description: | - Set to true if the product has unlimited stock. Leave as false if the - product has limited stock - type: boolean - quantity: - description: Number of products in stock. Use if limited is true - type: integer - split_code: - description: The split code if sharing the transaction with partners - type: string - metadata: - description: Stringified JSON object of custom data - type: string - ProductCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - variants_options: - type: array - items: {} - variants: - type: array - items: {} - name: - type: string - description: - type: string - currency: - type: string - price: - type: integer - quantity: - type: integer - type: - type: string - is_shippable: - type: boolean - unlimited: - type: boolean - files: - type: array - items: {} - shipping_fields: - type: object - properties: - delivery_note: - type: string - shipping_address: - type: string - shipping_fees: - type: array - items: {} - required: - - delivery_note - - shipping_address - - shipping_fees - integration: - type: integer - domain: - type: string - metadata: - type: object - properties: - background_color: - type: string - required: - - background_color - slug: - type: string - product_code: - type: string - quantity_sold: - type: integer - active: - type: boolean - deleted_at: - nullable: true - in_stock: - type: boolean - minimum_orderable: - type: integer - maximum_orderable: - type: integer - nullable: true - redirect_url: - type: string - nullable: true - low_stock_alert: - type: boolean - id: - type: integer - updatedAt: - type: string - required: - - variants_options - - variants - - name - - description - - currency - - price - - quantity - - type - - is_shippable - - unlimited - - files - - shipping_fields - - integration - - domain - - metadata - - slug - - product_code - - quantity_sold - - active - - deleted_at - - in_stock - - minimum_orderable - - maximum_orderable - - low_stock_alert - - id - - updatedAt - required: - - status - - message - - data - ProductFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - digital_assets: - type: array - items: {} - integration: - type: integer - name: - type: string - description: - type: string - product_code: - type: string - price: - type: integer - currency: - type: string - quantity: - type: integer - quantity_sold: - nullable: true - type: - type: string - files: - type: array - items: {} - file_path: - nullable: true - is_shippable: - type: boolean - shipping_fields: - type: object - properties: - delivery_note: - type: string - shipping_address: - type: string - shipping_fees: - type: array - items: {} - required: - - delivery_note - - shipping_address - - shipping_fees - unlimited: - type: boolean - domain: - type: string - active: - type: boolean - features: - nullable: true - in_stock: - type: boolean - metadata: - type: object - properties: - background_color: - type: string - required: - - background_color - slug: - type: string - success_message: - nullable: true - redirect_url: - nullable: true - split_code: - nullable: true - notification_emails: - nullable: true - minimum_orderable: - type: integer - maximum_orderable: - nullable: true - low_stock_alert: - type: boolean - stock_threshold: - nullable: true - expires_in: - nullable: true - id: - type: integer - updatedAt: - type: string - required: - - digital_assets - - integration - - name - - description - - product_code - - price - - currency - - quantity - - quantity_sold - - type - - files - - file_path - - is_shippable - - shipping_fields - - unlimited - - domain - - active - - features - - in_stock - - metadata - - slug - - success_message - - redirect_url - - split_code - - notification_emails - - minimum_orderable - - maximum_orderable - - low_stock_alert - - stock_threshold - - expires_in - - id - - updatedAt - required: - - status - - message - - data - ProductUpdate: - type: object - properties: - name: - description: Name of product - type: string - description: - description: The description of the product - type: string - price: - description: | - Price should be in kobo if currency is NGN, pesewas, if currency is GHS, - and cents, if currency is ZAR - type: integer - currency: - description: | - Currency in which price is set. Allowed values are: NGN, GHS, ZAR or USD - type: string - unlimited: - description: | - Set to true if the product has unlimited stock. Leave as false if the - product has limited stock - type: boolean - quantity: - description: Number of products in stock. Use if limited is true - type: integer - split_code: - description: The split code if sharing the transaction with partners - type: string - metadata: - description: Stringified JSON object of custom data - type: string - ProductUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - name: - type: string - description: - type: string - product_code: - type: string - price: - type: integer - currency: - type: string - quantity: - type: integer - quantity_sold: - type: integer - type: - type: string - files: - type: array - items: {} - file_path: - nullable: true - is_shippable: - type: boolean - shipping_fields: - type: object - properties: - delivery_note: - type: string - shipping_address: - type: string - shipping_fees: - type: array - items: {} - required: - - delivery_note - - shipping_address - - shipping_fees - unlimited: - type: boolean - domain: - type: string - active: - type: boolean - features: - nullable: true - in_stock: - type: boolean - metadata: - type: object - properties: - background_color: - type: string - required: - - background_color - slug: - type: string - success_message: - nullable: true - redirect_url: - nullable: true - split_code: - nullable: true - notification_emails: - nullable: true - minimum_orderable: - type: integer - maximum_orderable: - nullable: true - low_stock_alert: - type: boolean - stock_threshold: - nullable: true - expires_in: - nullable: true - id: - type: integer - integration: - type: integer - updatedAt: - type: string - required: - - name - - description - - product_code - - price - - currency - - quantity - - quantity_sold - - type - - files - - file_path - - is_shippable - - shipping_fields - - unlimited - - domain - - active - - features - - in_stock - - metadata - - slug - - success_message - - redirect_url - - split_code - - notification_emails - - minimum_orderable - - maximum_orderable - - low_stock_alert - - stock_threshold - - expires_in - - id - - integration - - updatedAt - required: - - status - - message - - data - ProductDeleteResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - StorefrontListResponseArray: - type: object - properties: - id: - type: integer - name: - type: string - slug: - type: string - orders_count: - type: integer - status: - type: string - revenue: - nullable: true - currency: - type: string - products: - type: array - items: {} - contacts: - type: array - items: {} - social_media: - type: array - items: {} - shipping_fees: - type: array - items: {} - required: - - id - - name - - slug - - orders_count - - status - - revenue - - currency - - products - - contacts - - social_media - - shipping_fees - StorefrontListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/StorefrontListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - StorefrontCreate: - type: object - required: - - name - - slug - - currency - properties: - name: - description: Name of the storefront - type: string - slug: - description: | - A unique identifier to access your store. Once the storefront is created, it can be accessed from - https://paystack.shop/your-slug - type: string - currency: - description: | - Currency for prices of products in your storefront. Allowed values are: `NGN`, `GHS`, `KES`, `ZAR` or `USD` - type: string - description: - description: The description of the storefront - type: string - StorefrontContactsArray: - type: object - properties: - value: - type: string - id: - type: integer - type_name: - nullable: true - type: - type: integer - required: - - value - - id - - type_name - - type - StorefrontCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - social_media: - type: array - items: {} - contacts: - type: array - items: - $ref: '#/components/schemas/StorefrontContactsArray' - name: - type: string - slug: - type: string - currency: - type: string - welcome_message: - nullable: true - success_message: - nullable: true - redirect_url: - nullable: true - description: - nullable: true - delivery_note: - type: string - background_color: - type: string - status: - type: string - shippable: - type: boolean - integration: - type: integer - domain: - type: string - digital_product_expiry: - nullable: true - metadata: - type: object - nullable: true - id: - type: integer - updatedAt: - type: string - products: - type: array - items: {} - shipping_fees: - type: array - items: {} - required: - - social_media - - contacts - - name - - slug - - currency - - welcome_message - - success_message - - redirect_url - - description - - delivery_note - - background_color - - status - - shippable - - integration - - domain - - digital_product_expiry - - id - - updatedAt - - products - - shipping_fees - required: - - status - - message - - data - StorefrontFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - social_media: - type: array - items: {} - contacts: - type: array - items: - $ref: '#/components/schemas/StorefrontContactsArray' - name: - type: string - slug: - type: string - currency: - type: string - welcome_message: - nullable: true - success_message: - nullable: true - redirect_url: - nullable: true - description: - nullable: true - delivery_note: - type: string - background_color: - type: string - status: - type: string - shippable: - type: boolean - integration: - type: integer - domain: - type: string - digital_product_expiry: - nullable: true - metadata: - type: object - nullable: true - id: - type: integer - updatedAt: - type: string - products: - type: array - items: {} - shipping_fees: - type: array - items: {} - required: - - social_media - - contacts - - name - - slug - - currency - - welcome_message - - success_message - - redirect_url - - description - - delivery_note - - background_color - - status - - shippable - - integration - - domain - - digital_product_expiry - - id - - updatedAt - - products - - shipping_fees - meta: - type: object - properties: - product_count: - type: integer - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - product_count - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - StorefrontUpdate: - type: object - properties: - name: - description: Name of the storefront - type: string - slug: - description: | - A unique identifier to access your store. Once the storefront is created, it can be accessed from - https://paystack.shop/your-slug - type: string - description: - description: The description of the storefront - type: string - StorefrontUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - StorefrontDeleteResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - StorefrontAddProducts: - type: object - required: - - products - properties: - products: - description: An array of product IDs - type: array - items: - type: integer - OrderItemsArray: - type: object - properties: - order_item_id: - type: integer - orderId: - type: integer - type: - type: string - item: - type: integer - current_total_items_price: - type: integer - files: - type: string - order: - type: integer - amount: - type: integer - quantity: - type: integer - name: - type: string - product_level_type: - type: string - product_id: - type: integer - product_success_message: - nullable: true - product_redirect_url: - nullable: true - IFNULL(p1.expires_in, p2.expires_in): - nullable: true - product_quantity_sold: - type: integer - product_notification_emails: - nullable: true - IFNULL(p1.metadata, p2.metadata): - type: string - storefront_redirect_url: - nullable: true - storefront_success_message: - nullable: true - required: - - order_item_id - - orderId - - type - - item - - current_total_items_price - - files - - order - - amount - - quantity - - name - - product_level_type - - product_id - - product_success_message - - product_redirect_url - - IFNULL(p1.expires_in, p2.expires_in) - - product_quantity_sold - - product_notification_emails - - IFNULL(p1.metadata, p2.metadata) - - storefront_redirect_url - - storefront_success_message - OrderListResponseArray: - type: object - properties: - id: - type: integer - order_code: - type: string - integration: - type: integer - domain: - type: string - currency: - type: string - amount: - type: integer - transaction: - type: integer - page: - nullable: true - customer: - type: integer - customer_name: - type: string - status: - type: string - shipping_address: - nullable: true - metadata: - type: string - created_at: - type: string - updated_at: - type: string - email: - type: string - paid_at: - type: string - shipping: - nullable: true - shipping_fees: - type: integer - refunded: - type: boolean - is_viewed: - type: boolean - refunded_amount: - nullable: true - discount_amount: - nullable: true - discounts: - nullable: true - items: - type: array - items: - $ref: '#/components/schemas/OrderItemsArray' - fully_refunded: - type: boolean - required: - - id - - order_code - - integration - - domain - - currency - - amount - - transaction - - page - - customer - - customer_name - - status - - shipping_address - - metadata - - created_at - - updated_at - - email - - paid_at - - shipping - - shipping_fees - - refunded - - is_viewed - - refunded_amount - - discount_amount - - discounts - - items - - fully_refunded - OrderListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/OrderListResponseArray' - meta: - type: object - properties: - total: - type: integer - revenue: - type: object - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - revenue - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - OrderItems: - type: object - description: The collection of items that make up the order - required: - - item - - type - - quantity - - amount - properties: - item: - description: The product ID of the item - type: string - type: - description: The type of the item. `product` is currently the acceptable value - type: string - quantity: - description: The number of items to get - type: integer - amount: - description: The cost of the item - type: integer - OrderShipping: - type: object - description: The shipping details of the order - required: - - street_line - - city - - state - - country - - shipping_fee - properties: - street_line: - description: The address of for the delivery - type: string - city: - description: The city of the delivery address - type: string - state: - description: The state of the delivery address - type: string - country: - description: The country of the delivery address - type: string - shipping_fee: - description: The cost of delivery - type: integer - delivery_note: - description: Extra details to be aware of for the delivery - type: string - OrderCreate: - type: object - required: - - email - - first_name - - last_name - - phone - - currency - - items - - shipping - properties: - email: - description: The email of the customer placing the order - type: string - first_name: - description: The customer's first name - type: string - last_name: - description: The customer's last name - type: string - phone: - description: The customer's mobile number - type: string - currency: - description: Currency in which amount is set. Allowed values are NGN, GHS, ZAR or USD - type: string - items: - type: array - items: - $ref: '#/components/schemas/OrderItems' - shipping: - $ref: '#/components/schemas/OrderShipping' - is_gift: - description: | - A flag to indicate if the order is for someone else - type: boolean - pay_for_me: - description: | - A flag to indicate if the someone else should pay for the order - type: boolean - OrderCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - discounts: - type: array - items: {} - currency: - type: string - shipping_address: - nullable: true - integration: - type: integer - domain: - type: string - email: - type: string - customer: - type: integer - amount: - type: integer - pay_for_me: - type: boolean - shipping: - type: object - properties: - customer: - type: integer - integration: - type: integer - domain: - type: string - fees: - type: integer - delivery_note: - nullable: true - street_line: - type: string - city: - type: string - state: - type: string - country: - type: string - is_shipped: - type: boolean - delivery_tracking_link: - nullable: true - id: - type: integer - updatedAt: - type: string - required: - - customer - - integration - - domain - - fees - - delivery_note - - street_line - - city - - state - - country - - is_shipped - - delivery_tracking_link - - id - - updatedAt - nullable: true - shipping_fees: - type: integer - shipping_method: - type: object - properties: - region: - type: string - fee: - type: integer - currency: - type: string - required: - - region - - fee - - currency - metadata: - type: object - order_code: - type: string - status: - type: string - refunded: - type: boolean - is_viewed: - type: boolean - expiration_date: - nullable: true - id: - type: integer - updatedAt: - type: string - items: - type: array - items: {} - pay_for_me_code: - type: string - discount_amount: - type: integer - required: - - discounts - - currency - - shipping_address - - integration - - domain - - email - - customer - - amount - - pay_for_me - - shipping - - shipping_fees - - metadata - - order_code - - status - - refunded - - is_viewed - - expiration_date - - id - - updatedAt - - items - - pay_for_me_code - - discount_amount - required: - - status - - message - - data - OrderFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - discounts: - type: array - items: {} - order_code: - type: string - domain: - type: string - currency: - type: string - amount: - type: integer - email: - type: string - status: - type: string - refunded: - type: boolean - paid_at: - type: string - shipping_address: - nullable: true - metadata: - type: object - shipping_fees: - type: integer - shipping_method: - nullable: true - is_viewed: - type: boolean - expiration_date: - type: string - pay_for_me: - type: boolean - id: - type: integer - integration: - type: integer - page: - nullable: true - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - shipping: - nullable: true - updatedAt: - type: string - transaction: - type: integer - is_gift: - type: boolean - payer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - fully_refunded: - type: boolean - refunded_amount: - type: integer - items: - type: array - items: - $ref: '#/components/schemas/OrderItemsArray' - discount_amount: - nullable: true - required: - - discounts - - order_code - - domain - - currency - - amount - - email - - status - - refunded - - paid_at - - shipping_address - - metadata - - shipping_fees - - shipping_method - - is_viewed - - expiration_date - - pay_for_me - - id - - integration - - page - - customer - - shipping - - updatedAt - - transaction - - is_gift - - payer - - fully_refunded - - refunded_amount - - items - - discount_amount - required: - - status - - message - - data - OrderFetchProductResponseArray: - type: object - properties: - order_id: - type: integer - transaction: - type: integer - order_code: - type: string - customer: - type: integer - first_name: - type: string - last_name: - type: string - customer_name: - type: string - phone: - type: string - email: - type: string - product_code: - type: string - product_id: - type: integer - product_name: - type: string - price: - type: integer - quantity_sold: - type: integer - currency: - type: string - quantity: - type: integer - variant_id: - nullable: true - variant_price: - nullable: true - variant_code: - nullable: true - amount: - type: integer - shipping_method: - nullable: true - status: - type: string - shipping_address: - nullable: true - refunded: - type: boolean - shipping: - nullable: true - paid_at: - type: string - created_at: - type: string - is_shipped: - type: boolean - is_viewed: - type: integer - delivery_note: - nullable: true - shipping_fee: - nullable: true - amount_paid: - type: integer - storefront_slug: - type: string - required: - - order_id - - transaction - - order_code - - customer - - first_name - - last_name - - customer_name - - phone - - email - - product_code - - product_id - - product_name - - price - - quantity_sold - - currency - - quantity - - variant_id - - variant_price - - variant_code - - amount - - shipping_method - - status - - shipping_address - - refunded - - shipping - - paid_at - - created_at - - is_shipped - - is_viewed - - delivery_note - - shipping_fee - - amount_paid - - storefront_slug - OrderFetchProductResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/OrderFetchProductResponseArray' - meta: - type: object - properties: - quantity_sold: - type: integer - revenue: - type: integer - total: - type: integer - skipped: - type: integer - perPage: - type: integer - pageCount: - type: integer - required: - - quantity_sold - - revenue - - total - - skipped - - perPage - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - OrderValidateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - order_code: - type: string - domain: - type: string - currency: - type: string - amount: - type: integer - email: - type: string - status: - type: string - refunded: - type: boolean - paid_at: - nullable: true - shipping_address: - nullable: true - metadata: - nullable: true - shipping_fees: - type: integer - shipping_method: - nullable: true - is_viewed: - type: boolean - expiration_date: - type: string - pay_for_me: - type: boolean - id: - type: integer - integration: - type: object - properties: - key: - type: string - name: - type: string - logo: - type: string - allowed_currencies: - type: array - items: {} - required: - - key - - name - - logo - - allowed_currencies - transaction: - nullable: true - page: - nullable: true - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - shipping: - nullable: true - updatedAt: - type: string - payer: - nullable: true - required: - - order_code - - domain - - currency - - amount - - email - - status - - refunded - - paid_at - - shipping_address - - metadata - - shipping_fees - - shipping_method - - is_viewed - - expiration_date - - pay_for_me - - id - - integration - - transaction - - page - - customer - - shipping - - updatedAt - - payer - required: - - status - - message - - data - PageListResponseArray: - type: object - properties: - integration: - type: integer - plan: - nullable: true - domain: - type: string - name: - type: string - description: - type: string - nullable: true - amount: - type: integer - nullable: true - currency: - type: string - slug: - type: string - custom_fields: - type: array - nullable: true - items: {} - type: - type: string - redirect_url: - type: string - nullable: true - success_message: - type: string - nullable: true - collect_phone: - type: boolean - active: - type: boolean - published: - type: boolean - migrate: - type: boolean - notification_email: - nullable: true - metadata: - type: object - nullable: true - split_code: - nullable: true - id: - type: integer - updatedAt: - type: string - required: - - integration - - plan - - domain - - name - - description - - amount - - currency - - slug - - custom_fields - - type - - redirect_url - - success_message - - collect_phone - - active - - published - - migrate - - notification_email - - metadata - - split_code - - id - - updatedAt - PageListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/PageListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - PageCreate: - type: object - required: - - name - properties: - name: - description: Name of page - type: string - description: - description: The description of the page - type: string - amount: - description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: integer - currency: - description: The transaction currency. Defaults to your integration currency. - type: string - enum: - - NGN - - GHS - - ZAR - - KES - - USD - slug: - description: URL slug you would like to be associated with this page. Page will be accessible at `https://paystack.com/pay/[slug]` - type: string - type: - description: | - The type of payment page to create. Defaults to `payment` if no type is specified. - type: string - enum: - - payment - - subscription - - product - - plan - plan: - description: The ID of the plan to subscribe customers on this payment page to when `type` is set to `subscription`. - type: string - fixed_amount: - description: Specifies whether to collect a fixed amount on the payment page. If true, `amount` must be passed. - type: boolean - split_code: - description: The split code of the transaction split. e.g. `SPL_98WF13Eb3w` - type: string - metadata: - description: Stringified JSON object of custom data - type: string - redirect_url: - description: | - If you would like Paystack to redirect to a URL upon successful payment, specify the URL here. - type: string - success_message: - description: | - A success message to display to the customer after a successful transaction - type: string - notification_email: - description: | - An email address that will receive transaction notifications for this payment page - type: string - collect_phone: - description: | - Specify whether to collect phone numbers on the payment page - type: boolean - custom_fields: - description: If you would like to accept custom fields, specify them here. - type: array - items: - type: object - PageCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - name: - type: string - integration: - type: integer - domain: - type: string - slug: - type: string - currency: - type: string - type: - type: string - collect_phone: - type: boolean - active: - type: boolean - published: - type: boolean - migrate: - type: boolean - id: - type: integer - updatedAt: - type: string - required: - - name - - integration - - domain - - slug - - currency - - type - - collect_phone - - active - - published - - migrate - - id - - updatedAt - required: - - status - - message - - data - PageFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - integration: - type: integer - domain: - type: string - name: - type: string - description: - nullable: true - amount: - type: integer - nullable: true - currency: - type: string - slug: - type: string - custom_fields: - nullable: true - type: - type: string - redirect_url: - nullable: true - success_message: - nullable: true - collect_phone: - type: boolean - active: - type: boolean - published: - type: boolean - migrate: - type: boolean - notification_email: - nullable: true - metadata: - nullable: true - split_code: - nullable: true - id: - type: integer - updatedAt: - type: string - required: - - integration - - domain - - name - - description - - amount - - currency - - slug - - custom_fields - - type - - redirect_url - - success_message - - collect_phone - - active - - published - - migrate - - notification_email - - metadata - - split_code - - id - - updatedAt - required: - - status - - message - - data - PageUpdate: - type: object - properties: - name: - description: Name of page - type: string - description: - description: The description of the page - type: string - amount: - description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: integer - active: - description: Set to false to deactivate page url - type: boolean - PageUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - domain: - type: string - name: - type: string - description: - nullable: true - amount: - nullable: true - currency: - type: string - slug: - type: string - custom_fields: - nullable: true - type: - type: string - redirect_url: - nullable: true - success_message: - nullable: true - collect_phone: - type: boolean - active: - type: boolean - published: - type: boolean - migrate: - type: boolean - notification_email: - nullable: true - metadata: - nullable: true - split_code: - nullable: true - id: - type: integer - integration: - type: integer - plan: - nullable: true - updatedAt: - type: string - required: - - domain - - name - - description - - amount - - currency - - slug - - custom_fields - - type - - redirect_url - - success_message - - collect_phone - - active - - published - - migrate - - notification_email - - metadata - - split_code - - id - - integration - - plan - - updatedAt - required: - - status - - message - - data - PageCheckSlugAvailabilityResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - PageProduct: - type: object - required: - - product - properties: - product: - description: IDs of all products to add to a page - type: array - items: - type: string - PageProductsArray: - type: object - properties: - product_id: - type: integer - name: - type: string - description: - type: string - product_code: - type: string - page: - type: integer - price: - type: integer - currency: - type: string - quantity: - type: integer - type: - type: string - features: - nullable: true - is_shippable: - type: integer - domain: - type: string - integration: - type: integer - active: - type: integer - in_stock: - type: integer - required: - - product_id - - name - - description - - product_code - - page - - price - - currency - - quantity - - type - - features - - is_shippable - - domain - - integration - - active - - in_stock - PageAddProductsResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - integration: - type: integer - plan: - nullable: true - domain: - type: string - name: - type: string - description: - nullable: true - amount: - nullable: true - currency: - type: string - slug: - type: string - custom_fields: - nullable: true - type: - type: string - redirect_url: - nullable: true - success_message: - nullable: true - collect_phone: - type: boolean - active: - type: boolean - published: - type: boolean - migrate: - type: boolean - notification_email: - nullable: true - metadata: - nullable: true - split_code: - nullable: true - id: - type: integer - updatedAt: - type: string - products: - type: array - items: - $ref: '#/components/schemas/PageProductsArray' - required: - - integration - - plan - - domain - - name - - description - - amount - - currency - - slug - - custom_fields - - type - - redirect_url - - success_message - - collect_phone - - active - - published - - migrate - - notification_email - - metadata - - split_code - - id - - updatedAt - - products - required: - - status - - message - - data - PaymentRequestLineItemsArray: - type: object - properties: - name: - type: string - amount: - type: integer - quantity: - type: integer - required: - - name - - amount - - quantity - PaymentRequestTaxArray: - type: object - properties: - name: - type: string - amount: - type: integer - required: - - name - - amount - PaymentRequestListResponseArray: - type: object - properties: - id: - type: integer - integration: - type: integer - domain: - type: string - amount: - type: integer - currency: - type: string - due_date: - type: string - nullable: true - has_invoice: - type: boolean - invoice_number: - type: integer - nullable: true - description: - type: string - nullable: true - pdf_url: - type: string - nullable: true - line_items: - type: array - items: - $ref: '#/components/schemas/PaymentRequestLineItemsArray' - tax: - type: array - items: - $ref: '#/components/schemas/PaymentRequestTaxArray' - request_code: - type: string - status: - type: string - paid: - type: boolean - paid_at: - nullable: true - metadata: - nullable: true - notifications: - type: array - items: {} - offline_reference: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - created_at: - type: string - discount: - nullable: true - split_code: - type: string - nullable: true - required: - - id - - integration - - domain - - amount - - currency - - due_date - - has_invoice - - invoice_number - - description - - pdf_url - - line_items - - tax - - request_code - - status - - paid - - paid_at - - metadata - - notifications - - offline_reference - - customer - - created_at - - discount - - split_code - PaymentRequestListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/PaymentRequestListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - anyOf: - - type: integer - - type: string - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - PaymentRequestCreate: - type: object - required: - - customer - properties: - customer: - description: Customer id or code - type: string - amount: - description: |- - Payment request amount. Only useful if line items and tax values are ignored. - The endpoint will throw a friendly warning if neither is available. - type: integer - currency: - description: Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN - type: string - due_date: - description: ISO 8601 representation of request due date - type: string - format: date-time - description: - description: A short description of the payment request - type: string - line_items: - description: Array of line items - type: array - items: - type: object - tax: - description: Array of taxes - type: array - items: - type: object - send_notification: - description: Indicates whether Paystack sends an email notification to customer. Defaults to true - type: boolean - items: - type: object - draft: - description: Indicate if request should be saved as draft. Defaults to false and overrides send_notification - type: boolean - items: - type: object - has_invoice: - description: |- - Set to true to create a draft invoice (adds an auto incrementing invoice number if none is provided) - even if there are no line_items or tax passed - type: boolean - items: - type: object - invoice_number: - description: |- - Numeric value of invoice. Invoice will start from 1 and auto increment from there. This field is to help - override whatever value Paystack decides. Auto increment for subsequent invoices continue from this point. - type: integer - split_code: - description: The split code of the transaction split. - type: string - PaymentRequestCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - integration: - type: integer - domain: - type: string - amount: - type: integer - currency: - type: string - due_date: - type: string - nullable: true - has_invoice: - type: boolean - invoice_number: - nullable: true - description: - nullable: true - line_items: - type: array - items: {} - tax: - type: array - items: {} - request_code: - type: string - status: - type: string - paid: - type: boolean - metadata: - nullable: true - notifications: - type: array - items: {} - offline_reference: - type: string - customer: - type: integer - created_at: - type: string - discount: - nullable: true - split_code: - nullable: true - required: - - id - - integration - - domain - - amount - - currency - - due_date - - has_invoice - - invoice_number - - description - - line_items - - tax - - request_code - - status - - paid - - metadata - - notifications - - offline_reference - - customer - - created_at - - discount - - split_code - required: - - status - - message - - data - PaymentRequestUpdate: - type: object - properties: - customer: - description: Customer id or code - type: string - amount: - description: |- - Payment request amount. Only useful if line items and tax values are ignored. - The endpoint will throw a friendly warning if neither is available. - type: integer - currency: - description: Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN - type: string - due_date: - description: ISO 8601 representation of request due date - type: string - format: date-time - description: - description: A short description of the payment request - type: string - line_items: - description: Array of line items - type: array - items: - type: object - tax: - description: Array of taxes - type: array - items: - type: object - send_notification: - description: Indicates whether Paystack sends an email notification to customer. Defaults to true - type: boolean - items: - type: object - draft: - description: Indicate if request should be saved as draft. Defaults to false and overrides send_notification - type: boolean - items: - type: object - has_invoice: - description: |- - Set to true to create a draft invoice (adds an auto incrementing invoice number if none is provided) - even if there are no line_items or tax passed - type: boolean - items: - type: object - invoice_number: - description: |- - Numeric value of invoice. Invoice will start from 1 and auto increment from there. This field is to help - override whatever value Paystack decides. Auto increment for subsequent invoices continue from this point. - type: integer - split_code: - description: The split code of the transaction split. - type: string - PaymentRequestNotificationsArray: - type: object - properties: - sent_at: - type: string - channel: - type: string - required: - - sent_at - - channel - PaymentRequestUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - integration: - type: integer - domain: - type: string - amount: - type: integer - currency: - type: string - due_date: - type: string - nullable: true - has_invoice: - type: boolean - invoice_number: - type: integer - nullable: true - description: - nullable: true - pdf_url: - type: string - nullable: true - line_items: - type: array - items: {} - tax: - type: array - items: {} - request_code: - type: string - status: - type: string - paid: - type: boolean - paid_at: - nullable: true - metadata: - nullable: true - notifications: - type: array - items: - $ref: '#/components/schemas/PaymentRequestNotificationsArray' - offline_reference: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - properties: - calling_code: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - created_at: - type: string - discount: - nullable: true - split_code: - nullable: true - required: - - id - - integration - - domain - - amount - - currency - - due_date - - has_invoice - - invoice_number - - description - - pdf_url - - line_items - - tax - - request_code - - status - - paid - - paid_at - - metadata - - notifications - - offline_reference - - customer - - created_at - - discount - - split_code - required: - - status - - message - - data - PaymentRequestVerifyResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - integration: - type: object - properties: - key: - type: string - name: - type: string - logo: - type: string - allowed_currencies: - type: array - items: - type: string - required: - - key - - name - - logo - - allowed_currencies - domain: - type: string - amount: - type: integer - currency: - type: string - due_date: - type: string - nullable: true - has_invoice: - type: boolean - invoice_number: - type: integer - nullable: true - description: - nullable: true - pdf_url: - type: string - nullable: true - line_items: - type: array - items: {} - tax: - type: array - items: {} - request_code: - type: string - status: - type: string - paid: - type: boolean - paid_at: - nullable: true - metadata: - nullable: true - notifications: - type: array - items: - $ref: '#/components/schemas/PaymentRequestNotificationsArray' - offline_reference: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - properties: - calling_code: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - created_at: - type: string - discount: - nullable: true - split_code: - nullable: true - pending_amount: - type: integer - required: - - id - - integration - - domain - - amount - - currency - - due_date - - has_invoice - - invoice_number - - description - - pdf_url - - line_items - - tax - - request_code - - status - - paid - - paid_at - - metadata - - notifications - - offline_reference - - customer - - created_at - - discount - - split_code - - pending_amount - required: - - status - - message - - data - PaymentRequestSendNotificationResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - PaymentRequestPendingArray: - type: object - properties: - currency: - type: string - amount: - type: integer - required: - - currency - - amount - PaymentRequestSuccessfulArray: - type: object - properties: - currency: - type: string - amount: - type: integer - required: - - currency - - amount - PaymentRequestTotalArray: - type: object - properties: - currency: - type: string - amount: - type: integer - required: - - currency - - amount - PaymentRequestTotalResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - pending: - type: array - items: - $ref: '#/components/schemas/PaymentRequestPendingArray' - successful: - type: array - items: - $ref: '#/components/schemas/PaymentRequestSuccessfulArray' - total: - type: array - items: - $ref: '#/components/schemas/PaymentRequestTotalArray' - required: - - pending - - successful - - total - required: - - status - - message - - data - PaymentRequestFinalizeResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - integration: - type: integer - domain: - type: string - amount: - type: integer - currency: - type: string - due_date: - type: string - nullable: true - has_invoice: - type: boolean - invoice_number: - type: integer - nullable: true - description: - type: string - nullable: true - pdf_url: - nullable: true - line_items: - type: array - items: - $ref: '#/components/schemas/PaymentRequestLineItemsArray' - tax: - type: array - items: - $ref: '#/components/schemas/PaymentRequestTaxArray' - request_code: - type: string - status: - type: string - paid: - type: boolean - paid_at: - nullable: true - metadata: - nullable: true - notifications: - type: array - items: {} - offline_reference: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - properties: - calling_code: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - created_at: - type: string - discount: - type: object - properties: - type: - type: string - amount: - type: integer - required: - - type - - amount - nullable: true - split_code: - nullable: true - pending_amount: - type: integer - required: - - id - - integration - - domain - - amount - - currency - - due_date - - has_invoice - - invoice_number - - description - - pdf_url - - line_items - - tax - - request_code - - status - - paid - - paid_at - - metadata - - notifications - - offline_reference - - customer - - created_at - - discount - - split_code - - pending_amount - required: - - status - - message - - data - PaymentRequestArchiveResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TransferRecipientListResponseArray: - type: object - properties: - active: - type: boolean - currency: - type: string - description: - type: string - domain: - type: string - email: - type: string - nullable: true - id: - type: integer - integration: - type: integer - metadata: - nullable: true - name: - type: string - recipient_code: - type: string - type: - type: string - updatedAt: - type: string - is_deleted: - type: boolean - details: - type: object - properties: - authorization_code: - nullable: true - account_number: - type: string - account_name: - type: string - nullable: true - bank_code: - type: string - bank_name: - type: string - required: - - authorization_code - - account_number - - account_name - - bank_code - - bank_name - required: - - active - - currency - - description - - domain - - email - - id - - integration - - metadata - - name - - recipient_code - - type - - updatedAt - - is_deleted - - details - TransferRecipientListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/TransferRecipientListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - TransferRecipientCreate: - type: object - required: - - type - - name - - account_number - - bank_code - properties: - type: - description: Recipient Type (Only nuban at this time) - type: string - name: - description: Recipient's name - type: string - account_number: - description: Recipient's bank account number - type: string - bank_code: - description: Recipient's bank code. You can get the list of Bank Codes by calling the List Banks endpoint - type: string - description: - description: A description for this recipient - type: string - currency: - description: Currency for the account receiving the transfer - type: string - authorization_code: - description: An authorization code from a previous transaction - type: string - metadata: - description: Stringified JSON object of custom data - type: string - TransferRecipientCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - active: - type: boolean - currency: - type: string - description: - type: string - domain: - type: string - email: - type: string - id: - type: integer - integration: - type: integer - metadata: - nullable: true - name: - type: string - recipient_code: - type: string - type: - type: string - updatedAt: - type: string - is_deleted: - type: boolean - details: - type: object - properties: - authorization_code: - nullable: true - account_number: - type: string - account_name: - type: string - nullable: true - bank_code: - type: string - bank_name: - type: string - required: - - authorization_code - - account_number - - account_name - - bank_code - - bank_name - required: - - active - - currency - - description - - domain - - email - - id - - integration - - metadata - - name - - recipient_code - - type - - updatedAt - - is_deleted - - details - required: - - status - - message - - data - TransferRecipientBulk: - type: object - required: - - batch - properties: - batch: - description: |- - A list of transfer recipient object. Each object should contain type, name, and bank_code. - Any Create Transfer Recipient param can also be passed. - type: array - items: - $ref: '#/components/schemas/TransferRecipientCreate' - ErrorRecordsArray: - type: object - properties: - type: - type: string - name: - type: string - description: - type: string - account_number: - type: string - bank_code: - type: string - currency: - type: string - email: - type: string - required: - - type - - name - - description - - account_number - - bank_code - - currency - - email - TransferRecipientErrorsArray: - type: object - properties: - message: - type: string - records: - type: array - items: - $ref: '#/components/schemas/ErrorRecordsArray' - required: - - message - - records - TransferRecipientBulkCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - success: - type: array - items: {} - errors: - type: array - items: - $ref: '#/components/schemas/TransferRecipientErrorsArray' - required: - - success - - errors - required: - - status - - message - - data - TransferRecipientFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - integration: - type: integer - domain: - type: string - type: - type: string - currency: - type: string - name: - type: string - details: - type: object - properties: - account_number: - type: string - account_name: - type: string - bank_code: - type: string - bank_name: - type: string - required: - - account_number - - account_name - - bank_code - - bank_name - description: - type: string - metadata: - nullable: true - recipient_code: - type: string - active: - type: boolean - recipient_account: - type: string - institution_code: - type: string - email: - type: string - id: - type: integer - updatedAt: - type: string - required: - - integration - - domain - - type - - currency - - name - - details - - description - - metadata - - recipient_code - - active - - recipient_account - - institution_code - - email - - id - - updatedAt - required: - - status - - message - - data - TransferRecipientUpdate: - type: object - properties: - name: - description: Recipient's name - type: string - email: - description: Recipient's email address - type: string - TransferRecipientUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TransferRecipientDeleteResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TransferListResponseArray: - type: object - properties: - amount: - type: integer - currency: - type: string - domain: - type: string - failures: - nullable: true - id: - type: integer - integration: - type: integer - reason: - type: string - reference: - type: string - source: - type: string - source_details: - nullable: true - status: - type: string - titan_code: - nullable: true - transfer_code: - type: string - transferred_at: - nullable: true - updatedAt: - type: string - recipient: - type: object - properties: - active: - type: boolean - currency: - type: string - description: - type: string - domain: - type: string - email: - type: string - id: - type: integer - integration: - type: integer - metadata: - nullable: true - name: - type: string - recipient_code: - type: string - type: - type: string - updatedAt: - type: string - is_deleted: - type: boolean - details: - type: object - properties: - authorization_code: - nullable: true - account_number: - type: string - account_name: - type: string - bank_code: - type: string - bank_name: - type: string - required: - - authorization_code - - account_number - - account_name - - bank_code - - bank_name - required: - - active - - currency - - description - - domain - - email - - id - - integration - - metadata - - name - - recipient_code - - type - - updatedAt - - is_deleted - - details - session: - type: object - properties: - provider: - nullable: true - id: - nullable: true - required: - - provider - - id - fee_charged: - type: integer - required: - - amount - - currency - - domain - - failures - - id - - integration - - reason - - reference - - source - - source_details - - status - - titan_code - - transfer_code - - transferred_at - - updatedAt - - recipient - - session - - fee_charged - TransferListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/TransferListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - TransferInitiate: - type: object - required: - - source - - amount - - recipient - properties: - source: - description: Where should we transfer from? Only balance is allowed for now - type: string - amount: - description: Amount to transfer in kobo if currency is NGN and pesewas if currency is GHS. - type: string - recipient: - description: The transfer recipient's code - type: string - reason: - description: The reason or narration for the transfer. - type: string - currency: - description: Specify the currency of the transfer. Defaults to NGN. - type: string - reference: - description: |- - If specified, the field should be a unique identifier (in lowercase) for the object. - Only -,_ and alphanumeric characters are allowed. - type: string - TransferCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - transfersessionid: - type: array - items: {} - domain: - type: string - amount: - type: integer - currency: - type: string - reference: - type: string - source: - type: string - source_details: - nullable: true - reason: - type: string - status: - type: string - failures: - nullable: true - transfer_code: - type: string - titan_code: - nullable: true - transferred_at: - nullable: true - id: - type: integer - integration: - type: integer - request: - type: integer - recipient: - type: integer - updatedAt: - type: string - required: - - transfersessionid - - domain - - amount - - currency - - reference - - source - - source_details - - reason - - status - - failures - - transfer_code - - titan_code - - transferred_at - - id - - integration - - request - - recipient - - updatedAt - required: - - status - - message - - data - TransferFinalize: - type: object - required: - - transfer_code - - otp - properties: - transfer_code: - description: The transfer code you want to finalize - type: string - otp: - description: OTP sent to business phone to verify transfer - type: string - TransferBulk: - type: object - required: - - source - - transfers - properties: - source: - description: Where should we transfer from? Only balance is allowed for now - type: string - transfers: - description: A list of transfer object. Each object should contain amount, recipient, and reference - type: array - items: - $ref: '#/components/schemas/TransferInitiate' - TransferBulkResponseArray: - type: object - properties: - reference: - type: string - recipient: - type: string - amount: - type: integer - transfer_code: - type: string - currency: - type: string - status: - type: string - required: - - reference - - recipient - - amount - - transfer_code - - currency - - status - TransferBulkResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/TransferBulkResponseArray' - required: - - status - - message - - data - TransferFeesBreakdownArray: - type: object - properties: - amount: - type: string - formula: - nullable: true - type: - type: string - required: - - amount - - formula - - type - TransferFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - amount: - type: integer - currency: - type: string - domain: - type: string - failures: - nullable: true - id: - type: integer - integration: - type: integer - reason: - type: string - reference: - type: string - source: - type: string - source_details: - nullable: true - status: - type: string - titan_code: - nullable: true - transfer_code: - type: string - request: - type: integer - transferred_at: - nullable: true - updatedAt: - type: string - recipient: - type: object - properties: - active: - type: boolean - currency: - type: string - description: - type: string - domain: - type: string - email: - type: string - id: - type: integer - integration: - type: integer - metadata: - nullable: true - name: - type: string - recipient_code: - type: string - type: - type: string - updatedAt: - type: string - is_deleted: - type: boolean - details: - type: object - properties: - authorization_code: - nullable: true - account_number: - type: string - account_name: - type: string - nullable: true - bank_code: - type: string - bank_name: - type: string - required: - - authorization_code - - account_number - - account_name - - bank_code - - bank_name - required: - - active - - currency - - description - - domain - - email - - id - - integration - - metadata - - name - - recipient_code - - type - - updatedAt - - is_deleted - - details - session: - type: object - properties: - provider: - nullable: true - id: - nullable: true - required: - - provider - - id - fee_charged: - type: integer - fees_breakdown: - type: array - items: - $ref: '#/components/schemas/TransferFeesBreakdownArray' - nullable: true - gateway_response: - type: string - nullable: true - required: - - amount - - currency - - domain - - failures - - id - - integration - - reason - - reference - - source - - source_details - - status - - titan_code - - transfer_code - - request - - transferred_at - - updatedAt - - recipient - - session - - fee_charged - - fees_breakdown - - gateway_response - required: - - status - - message - - data - TransferVerifyResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - amount: - type: integer - currency: - type: string - domain: - type: string - failures: - nullable: true - id: - type: integer - integration: - type: integer - reason: - type: string - reference: - type: string - source: - type: string - source_details: - nullable: true - status: - type: string - titan_code: - nullable: true - transfer_code: - type: string - transferred_at: - nullable: true - updatedAt: - type: string - recipient: - type: object - properties: - active: - type: boolean - currency: - type: string - description: - type: string - domain: - type: string - email: - type: string - id: - type: integer - integration: - type: integer - metadata: - nullable: true - name: - type: string - recipient_code: - type: string - type: - type: string - updatedAt: - type: string - is_deleted: - type: boolean - details: - type: object - properties: - authorization_code: - nullable: true - account_number: - type: string - account_name: - type: string - bank_code: - type: string - bank_name: - type: string - required: - - authorization_code - - account_number - - account_name - - bank_code - - bank_name - required: - - active - - currency - - description - - domain - - email - - id - - integration - - metadata - - name - - recipient_code - - type - - updatedAt - - is_deleted - - details - session: - type: object - properties: - provider: - nullable: true - id: - nullable: true - required: - - provider - - id - gateway_response: - type: string - nullable: true - required: - - amount - - currency - - domain - - failures - - id - - integration - - reason - - reference - - source - - source_details - - status - - titan_code - - transfer_code - - transferred_at - - updatedAt - - recipient - - session - - gateway_response - required: - - status - - message - - data - TransferResendOTP: - type: object - required: - - transfer_code - - reason - properties: - transfer_code: - description: The transfer code that requires an OTP validation - type: string - reason: - description: Either resend_otp or transfer - type: string - TransferResendsOtpResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TransferDisablesOtpResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TransferFinalizeDisableOTP: - type: object - required: - - otp - properties: - otp: - description: OTP sent to business phone to verify disabling OTP requirement - type: string - TransferFinalizeDisablesOtpResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - TransferEnablesOtpResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - BalanceCheckResponseArray: - type: object - properties: - currency: - type: string - balance: - type: integer - required: - - currency - - balance - BalanceCheckResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/BalanceCheckResponseArray' - required: - - status - - message - - data - BalanceFetchLedgerResponseArray: - type: object - properties: - integration: - type: integer - domain: - type: string - balance: - type: integer - currency: - type: string - difference: - type: integer - reason: - type: string - model_responsible: - type: string - model_row: - type: integer - id: - type: integer - updatedAt: - type: string - required: - - integration - - domain - - balance - - currency - - difference - - reason - - model_responsible - - model_row - - id - - updatedAt - BalanceFetchLedgerResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/BalanceFetchLedgerResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - ChargeCreate: - type: object - required: - - email - - amount - properties: - email: - description: Customer's email address - type: string - amount: - description: Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: string - authorization_code: - description: An authorization code to charge. - type: string - pin: - description: 4-digit PIN (send with a non-reusable authorization code) - type: string - reference: - description: Unique transaction reference. Only -, .`, = and alphanumeric characters allowed. - type: string - birthday: - description: The customer's birthday in the format YYYY-MM-DD e.g 2017-05-16 - type: string - format: date-time - device_id: - description: |- - This is the unique identifier of the device a user uses in making payment. - Only -, .`, = and alphanumeric characters are allowed. - type: string - metadata: - description: Stringified JSON object of custom data - type: string - Bank: - type: object - properties: - code: - description: Customer's bank code - type: string - account_number: - description: Customer's account number - type: string - MobileMoney: - type: object - properties: - phone: - description: Customer's phone number - type: string - provider: - description: The telco provider of customer's phone number. This can be fetched from the List Bank endpoint - type: string - USSD: - type: object - properties: - type: - description: The three-digit USSD code. - type: string - enum: - - 737 - - 919 - - 822 - - 966 - EFT: - type: object - properties: - provider: - description: The EFT provider - type: string - ChargeCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - nullable: true - amount: - type: integer - message: - type: string - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - nullable: true - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - transaction_date: - type: string - plan_object: - type: object - subaccount: - type: object - required: - - id - - domain - - status - - reference - - receipt_number - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - - transaction_date - - plan_object - - subaccount - required: - - status - - message - - data - ChargeSubmitPin: - type: object - required: - - pin - - reference - properties: - pin: - description: Customer's PIN - type: string - reference: - description: Transaction reference that requires the PIN - type: string - ChargeSubmitPinResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - nullable: true - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - nullable: true - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - transaction_date: - type: string - plan_object: - type: object - subaccount: - type: object - required: - - id - - domain - - status - - reference - - receipt_number - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - - transaction_date - - plan_object - - subaccount - required: - - status - - message - - data - ChargeSubmitOTP: - type: object - required: - - otp - - reference - properties: - otp: - description: Customer's OTP - type: string - reference: - description: The reference of the ongoing transaction - type: string - ChargeSubmitOtpResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - nullable: true - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - nullable: true - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - transaction_date: - type: string - plan_object: - type: object - subaccount: - type: object - required: - - id - - domain - - status - - reference - - receipt_number - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - - transaction_date - - plan_object - - subaccount - required: - - status - - message - - data - ChargeSubmitPhone: - type: object - required: - - phone - - reference - properties: - phone: - description: Customer's mobile number - type: string - reference: - description: The reference of the ongoing transaction - type: string - ChargeSubmitPhoneResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - reference: - type: string - status: - type: string - display_text: - type: string - required: - - reference - - status - - display_text - required: - - status - - message - - data - ChargeSubmitBirthday: - type: object - required: - - birthday - - reference - properties: - birthday: - description: Customer's birthday in the format YYYY-MM-DD e.g 2016-09-21 - type: string - reference: - description: The reference of the ongoing transaction - type: string - ChargeSubmitBirthdayResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - status: - type: string - display_text: - type: string - required: - - status - - display_text - required: - - status - - message - - data - ChargeSubmitAddress: - type: object - required: - - address - - reference - - city - - state - - zipcode - properties: - address: - description: Customer's address - type: string - city: - description: Customer's city - type: string - state: - description: Customer's state - type: string - zipcode: - description: Customer's zipcode - type: string - reference: - description: The reference of the ongoing transaction - type: string - ChargeCheckPendingResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - type: string - nullable: true - amount: - type: integer - message: - type: string - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - nullable: true - fees_split: - nullable: true - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - nullable: true - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - nullable: true - last_name: - type: string - nullable: true - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - metadata: - type: object - nullable: true - risk_action: - type: string - international_format_phone: - type: string - nullable: true - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - plan: - nullable: true - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - transaction_date: - type: string - plan_object: - type: object - subaccount: - type: object - required: - - id - - domain - - status - - reference - - receipt_number - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - - transaction_date - - plan_object - - subaccount - required: - - status - - message - - data - BulkChargeListResponseArray: - type: object - properties: - integration: - type: integer - domain: - type: string - batch_code: - type: string - status: - type: string - easy_cron_id: - nullable: true - reference: - type: string - id: - type: integer - updatedAt: - type: string - required: - - integration - - domain - - batch_code - - status - - easy_cron_id - - reference - - id - - updatedAt - BulkChargeListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/BulkChargeListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - anyOf: - - type: integer - - type: string - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - BulkChargeInitiate: - type: object - required: - - authorization - - amount - properties: - authorization: - description: Customer's card authorization code - type: string - amount: - description: Amount to charge on the authorization - type: string - BulkChargeInitiateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - batch_code: - type: string - reference: - type: string - id: - type: integer - integration: - type: integer - domain: - type: string - status: - type: string - total_charges: - type: integer - pending_charges: - type: integer - updatedAt: - type: string - required: - - batch_code - - reference - - id - - integration - - domain - - status - - total_charges - - pending_charges - - updatedAt - required: - - status - - message - - data - BulkChargeFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - batch_code: - type: string - reference: - type: string - id: - type: integer - integration: - type: integer - domain: - type: string - status: - type: string - total_charges: - type: integer - pending_charges: - type: integer - updatedAt: - type: string - required: - - batch_code - - reference - - id - - integration - - domain - - status - - total_charges - - pending_charges - - updatedAt - required: - - status - - message - - data - BulkChargeFetchBulkBatchChargesResponseArray: - type: object - properties: - integration: - type: integer - bulkcharge: - type: integer - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - properties: - calling_code: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - authorization: - type: object - properties: - authorization_code: - type: string - bin: - type: string - last4: - type: string - exp_month: - type: string - exp_year: - type: string - channel: - type: string - card_type: - type: string - bank: - type: string - country_code: - type: string - brand: - type: string - reusable: - type: boolean - signature: - type: string - account_name: - nullable: true - required: - - authorization_code - - bin - - last4 - - exp_month - - exp_year - - channel - - card_type - - bank - - country_code - - brand - - reusable - - signature - - account_name - domain: - type: string - amount: - type: integer - at_least: - type: integer - currency: - type: string - reference: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - status: - type: string - message: - type: string - attempt_partial_debit: - type: boolean - id: - type: integer - updatedAt: - type: string - required: - - integration - - bulkcharge - - customer - - authorization - - domain - - amount - - at_least - - currency - - reference - - metadata - - status - - message - - attempt_partial_debit - - id - - updatedAt - BulkChargeFetchBulkBatchChargesResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/BulkChargeFetchBulkBatchChargesResponseArray' - meta: - type: object - properties: - perPage: - type: string - total: - type: integer - skipped: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - perPage - - total - - skipped - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - BulkChargePauseResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - BulkChargeResumeResponse: - type: object - properties: - status: - type: boolean - message: - type: string - required: - - status - - message - PaymentSession: - type: object - required: - - timeout - properties: - timeout: - description: Time in seconds before a transaction becomes invalid - type: string - example: '30' - RefundListResponseArray: - type: object - properties: - integration: - type: integer - transaction: - type: integer - dispute: - nullable: true - settlement: - nullable: true - id: - type: integer - domain: - type: string - currency: - type: string - amount: - type: integer - status: - type: string - refunded_at: - nullable: true - refunded_by: - type: string - customer_note: - type: string - merchant_note: - type: string - deducted_amount: - type: integer - fully_deducted: - type: integer - bank_reference: - nullable: true - transaction_reference: - type: string - reason: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - metadata: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - refund_type: - type: string - transaction_amount: - type: integer - initiated_by: - type: string - refund_channel: - type: string - session_id: - nullable: true - collect_account_number: - type: boolean - required: - - integration - - transaction - - dispute - - settlement - - id - - domain - - currency - - amount - - status - - refunded_at - - refunded_by - - customer_note - - merchant_note - - deducted_amount - - fully_deducted - - bank_reference - - transaction_reference - - reason - - customer - - refund_type - - transaction_amount - - initiated_by - - refund_channel - - session_id - - collect_account_number - RefundListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/RefundListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: string - page: - type: integer - pageCount: - type: integer - failedRefundCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - - failedRefundCount - additionalProperties: false - required: - - status - - message - - data - - meta - RefundCreate: - type: object - required: - - transaction - properties: - transaction: - description: Transaction reference or id - type: string - amount: - description: |- - Amount ( in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR ) to be refunded to the customer. - Amount cannot be more than the original transaction amount - type: integer - currency: - description: Three-letter ISO currency. Allowed values are NGN, GHS, ZAR or USD - type: string - customer_note: - description: Customer reason - type: string - merchant_note: - description: Merchant reason - type: string - RefundCreateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - transaction: - type: object - properties: - id: - type: integer - domain: - type: string - reference: - type: string - amount: - type: integer - paid_at: - type: string - channel: - type: string - currency: - type: string - authorization: - type: object - properties: - exp_month: - nullable: true - exp_year: - nullable: true - account_name: - nullable: true - required: - - exp_month - - exp_year - - account_name - customer: - type: object - properties: - international_format_phone: - type: string - nullable: true - required: - - international_format_phone - plan: - type: object - subaccount: - type: object - properties: - currency: - nullable: true - required: - - currency - split: - type: object - order_id: - nullable: true - - type: string - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - required: - - id - - domain - - reference - - amount - - paid_at - - channel - - currency - - authorization - - customer - - plan - - subaccount - - split - - order_id - - pos_transaction_data - - source - - fees_breakdown - integration: - type: integer - deducted_amount: - type: integer - channel: - nullable: true - merchant_note: - type: string - customer_note: - type: string - status: - type: string - refunded_by: - type: string - expected_at: - type: string - currency: - type: string - domain: - type: string - amount: - type: integer - fully_deducted: - type: boolean - id: - type: integer - updatedAt: - type: string - required: - - transaction - - integration - - deducted_amount - - channel - - merchant_note - - customer_note - - status - - refunded_by - - expected_at - - currency - - domain - - amount - - fully_deducted - - id - - updatedAt - required: - - status - - message - - data - RefundFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - integration: - type: integer - transaction: - type: integer - dispute: - nullable: true - settlement: - nullable: true - id: - type: integer - domain: - type: string - currency: - type: string - amount: - type: integer - status: - type: string - refunded_at: - nullable: true - refunded_by: - type: string - customer_note: - type: string - merchant_note: - type: string - deducted_amount: - type: integer - fully_deducted: - type: integer - bank_reference: - nullable: true - transaction_reference: - type: string - reason: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - refund_type: - type: string - transaction_amount: - type: integer - initiated_by: - type: string - refund_channel: - type: string - session_id: - nullable: true - collect_account_number: - type: boolean - required: - - integration - - transaction - - dispute - - settlement - - id - - domain - - currency - - amount - - status - - refunded_at - - refunded_by - - customer_note - - merchant_note - - deducted_amount - - fully_deducted - - bank_reference - - transaction_reference - - reason - - customer - - refund_type - - transaction_amount - - initiated_by - - refund_channel - - session_id - - collect_account_number - required: - - status - - message - - data - DisputeHistoryArray: - type: object - properties: - status: - type: string - by: - type: string - required: - - status - - by - DisputeMessagesArray: - type: object - properties: - sender: - type: string - body: - type: string - required: - - sender - - body - DisputeListResponseArray: - type: object - properties: - id: - type: integer - refund_amount: - type: integer - currency: - type: string - status: - type: string - resolution: - nullable: true - domain: - type: string - transaction: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - customer: - nullable: true - plan: - type: object - subaccount: - type: object - split: - type: object - order_id: - nullable: true - - type: string - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - required: - - id - - domain - - status - - reference - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - subaccount - - split - - order_id - - pos_transaction_data - - source - - fees_breakdown - - connect - transaction_reference: - nullable: true - category: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - nullable: true - metadata: - type: string - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - bin: - type: string - last4: - type: string - dueAt: - nullable: true - resolvedAt: - nullable: true - evidence: - nullable: true - attachments: - nullable: true - note: - nullable: true - history: - type: array - items: - $ref: '#/components/schemas/DisputeHistoryArray' - messages: - type: array - items: - $ref: '#/components/schemas/DisputeMessagesArray' - updatedAt: - type: string - required: - - id - - refund_amount - - currency - - status - - resolution - - domain - - transaction - - transaction_reference - - category - - customer - - bin - - last4 - - dueAt - - resolvedAt - - evidence - - attachments - - note - - history - - messages - - updatedAt - DisputeListResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/DisputeListResponseArray' - meta: - type: object - properties: - total: - type: integer - skipped: - type: integer - perPage: - type: integer - page: - type: integer - pageCount: - type: integer - required: - - total - - skipped - - perPage - - page - - pageCount - additionalProperties: false - required: - - status - - message - - data - - meta - DisputeFetchResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - refund_amount: - type: integer - currency: - type: string - status: - type: string - resolution: - nullable: true - domain: - type: string - transaction: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - type: integer - nullable: true - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - international_format_phone: - nullable: true - required: - - international_format_phone - plan: - type: object - subaccount: - type: object - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - required: - - id - - domain - - status - - reference - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - subaccount - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - transaction_reference: - nullable: true - category: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - bin: - type: string - last4: - type: string - dueAt: - nullable: true - resolvedAt: - nullable: true - evidence: - nullable: true - attachments: - nullable: true - note: - nullable: true - history: - type: array - items: - $ref: '#/components/schemas/DisputeHistoryArray' - messages: - type: array - items: - $ref: '#/components/schemas/DisputeMessagesArray' - updatedAt: - type: string - required: - - id - - refund_amount - - currency - - status - - resolution - - domain - - transaction - - transaction_reference - - category - - customer - - bin - - last4 - - dueAt - - resolvedAt - - evidence - - attachments - - note - - history - - messages - - updatedAt - required: - - status - - message - - data - DisputeUpdate: - type: object - required: - - refund_amount - properties: - refund_amount: - description: The amount to refund, in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: string - uploaded_filename: - description: Filename of attachment returned via response from the Dispute upload URL - type: string - DisputeUpdateResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - id: - type: integer - refund_amount: - type: integer - currency: - type: string - status: - type: string - resolution: - nullable: true - domain: - type: string - transaction: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - type: integer - nullable: true - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - international_format_phone: - nullable: true - required: - - international_format_phone - plan: - type: object - subaccount: - type: object - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - nullable: true - required: - - id - - domain - - status - - reference - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - subaccount - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - transaction_reference: - nullable: true - category: - type: string - customer: - type: object - properties: - id: - type: integer - first_name: - type: string - last_name: - type: string - email: - type: string - customer_code: - type: string - phone: - type: string - metadata: - type: object - risk_action: - type: string - international_format_phone: - type: string - required: - - id - - first_name - - last_name - - email - - customer_code - - phone - - metadata - - risk_action - - international_format_phone - bin: - type: string - last4: - type: string - dueAt: - nullable: true - resolvedAt: - nullable: true - evidence: - nullable: true - attachments: - nullable: true - note: - nullable: true - history: - type: array - items: - $ref: '#/components/schemas/DisputeHistoryArray' - messages: - type: array - items: - $ref: '#/components/schemas/DisputeMessagesArray' - updatedAt: - type: string - required: - - id - - refund_amount - - currency - - status - - resolution - - domain - - transaction - - transaction_reference - - category - - customer - - bin - - last4 - - dueAt - - resolvedAt - - evidence - - attachments - - note - - history - - messages - - updatedAt - required: - - status - - message - - data - DisputeUploadURLResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - signedUrl: - type: string - fileName: - type: string - required: - - signedUrl - - fileName - required: - - status - - message - - data - DisputeExportResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - path: - type: string - expiresAt: - type: string - required: - - path - - expiresAt - required: - - status - - message - - data - DisputeListTransactionResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - history: - type: array - items: - $ref: '#/components/schemas/DisputeHistoryArray' - messages: - type: array - items: - $ref: '#/components/schemas/DisputeMessagesArray' - currency: - type: string - last4: - type: string - bin: - type: string - transaction_reference: - nullable: true - merchant_transaction_reference: - type: string - refund_amount: - type: integer - status: - type: string - domain: - type: string - resolution: - nullable: true - category: - type: string - note: - nullable: true - attachments: - nullable: true - id: - type: integer - integration: - type: integer - transaction: - type: object - properties: - id: - type: integer - domain: - type: string - status: - type: string - reference: - type: string - receipt_number: - type: integer - nullable: true - amount: - type: integer - message: - nullable: true - gateway_response: - type: string - paid_at: - type: string - created_at: - type: string - channel: - type: string - currency: - type: string - ip_address: - type: string - metadata: - type: object - properties: - custom_fields: - type: array - items: - $ref: '#/components/schemas/MetadataCustomFieldsArray' - required: - - custom_fields - log: - nullable: true - fees: - type: integer - fees_split: - nullable: true - authorization: - type: object - properties: - receiver_bank_account_number: - nullable: true - receiver_bank: - nullable: true - required: - - receiver_bank_account_number - - receiver_bank - customer: - type: object - properties: - international_format_phone: - nullable: true - required: - - international_format_phone - plan: - type: object - subaccount: - type: object - split: - type: object - order_id: - nullable: true - - type: string - requested_amount: - type: integer - pos_transaction_data: - nullable: true - source: - nullable: true - fees_breakdown: - nullable: true - connect: - type: object - nullable: true - required: - - id - - domain - - status - - reference - - amount - - message - - gateway_response - - paid_at - - created_at - - channel - - currency - - ip_address - - metadata - - log - - fees - - fees_split - - authorization - - customer - - plan - - subaccount - - split - - order_id - - requested_amount - - pos_transaction_data - - source - - fees_breakdown - - connect - created_by: - type: integer - evidence: - nullable: true - resolvedAt: - nullable: true - updatedAt: - type: string - dueAt: - nullable: true - required: - - history - - messages - - currency - - last4 - - bin - - transaction_reference - - merchant_transaction_reference - - refund_amount - - status - - domain - - resolution - - category - - note - - attachments - - id - - integration - - transaction - - created_by - - evidence - - resolvedAt - - updatedAt - - dueAt - required: - - status - - message - - data - DisputeResolve: - type: object - required: - - resolution - - message - - refund_amount - - uploaded_filename - properties: - resolution: - description: Dispute resolution. Accepted values, merchant-accepted, declined - type: string - message: - description: Reason for resolving - type: string - refund_amount: - description: The amount to refund, in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR - type: string - uploaded_filename: - description: Filename of attachment returned via response from the Dispute upload URL - type: string - evidence: - description: Evidence Id for fraud claims - type: integer - DisputeResolveResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - currency: - type: string - last4: - type: string - bin: - type: string - transaction_reference: - nullable: true - merchant_transaction_reference: - type: string - refund_amount: - type: integer - status: - type: string - domain: - type: string - resolution: - type: string - category: - type: string - note: - nullable: true - attachments: - type: string - id: - type: integer - integration: - type: integer - transaction: - type: integer - created_by: - type: integer - evidence: - type: integer - resolvedAt: - type: string - updatedAt: - type: string - dueAt: - nullable: true - message: - type: object - properties: - dispute: - type: integer - sender: - type: string - body: - type: string - id: - type: integer - updatedAt: - type: string - required: - - dispute - - sender - - body - - id - - updatedAt - required: - - currency - - last4 - - bin - - transaction_reference - - merchant_transaction_reference - - refund_amount - - status - - domain - - resolution - - category - - note - - attachments - - id - - integration - - transaction - - created_by - - evidence - - resolvedAt - - updatedAt - - dueAt - - message - required: - - status - - message - - data - DisputeEvidence: - type: object - required: - - customer_email - - customer_name - - customer_phone - - service_details - properties: - customer_email: - description: Customer email - type: string - customer_name: - description: Customer name - type: string - customer_phone: - description: Customer mobile number - type: string - service_details: - description: Details of service offered - type: string - delivery_address: - description: Delivery address - type: string - delivery_date: - description: ISO 8601 representation of delivery date (YYYY-MM-DD) - type: string - format: date-time - DisputeAddEvidenceResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - customer_email: - type: string - customer_name: - type: string - customer_phone: - type: string - service_details: - type: string - delivery_address: - type: string - delivery_date: - type: string - dispute: - type: integer - id: - type: integer - updatedAt: - type: string - required: - - customer_email - - customer_name - - customer_phone - - service_details - - delivery_address - - delivery_date - - dispute - - id - - updatedAt - required: - - status - - message - - data - MiscellaneousListBanksResponseArray: - type: object - properties: - name: - type: string - slug: - type: string - code: - type: string - longcode: - type: string - gateway: - type: string - nullable: true - pay_with_bank: - type: boolean - supports_transfer: - type: boolean - active: - type: boolean - is_deleted: - type: boolean - nullable: true - country: - type: string - currency: - type: string - type: - type: string - id: - type: integer - updatedAt: - type: string - required: - - name - - slug - - code - - longcode - - gateway - - pay_with_bank - - supports_transfer - - active - - is_deleted - - country - - currency - - type - - id - - updatedAt - MiscellaneousListBanksResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/MiscellaneousListBanksResponseArray' - required: - - status - - message - - data - VerificationResolveAccountNumberResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - account_number: - type: string - account_name: - type: string - bank_id: - type: integer - required: - - account_number - - account_name - - bank_id - required: - - status - - message - - data - BankValidateRequest: - type: object - required: - - account_name - - account_number - - account_type - - bank_code - - country_code - - document_type - properties: - account_name: - description: Customer's first and last name registered with their bank - type: string - account_number: - description: Customer's account number - type: string - account_type: - description: The type of the customer's account number - type: string - enum: - - personal - - business - bank_code: - description: The bank code of the customer’s bank. You can fetch the bank codes by using our List Banks endpoint - type: string - country_code: - description: The two digit ISO code of the customer’s bank - type: string - document_type: - description: Customer’s mode of identity - type: string - enum: - - identityNumber - - passportNumber - - businessRegistrationNumber - document_number: - description: Customer’s mode of identity number - type: string - VerificationValidateAccountResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - verified: - type: boolean - verificationMessage: - type: string - required: - - verified - - verificationMessage - required: - - status - - message - - data - VerificationResolveCardBINResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: object - properties: - bin: - type: string - brand: - type: string - sub_brand: - type: string - country_code: - type: string - country_name: - type: string - card_type: - type: string - bank: - type: string - currency: - type: string - linked_bank_id: - type: integer - required: - - bin - - brand - - sub_brand - - country_code - - country_name - - card_type - - bank - - currency - - linked_bank_id - required: - - status - - message - - data - MiscellaneousListCountriesResponseArray: - type: object - properties: - id: - type: integer - active_for_dashboard_onboarding: - type: boolean - name: - type: string - iso_code: - type: string - default_currency_code: - type: string - integration_defaults: - type: object - calling_code: - type: string - pilot_mode: - type: boolean - relationships: - type: object - properties: - currency: - type: object - properties: - type: - type: string - data: - type: array - items: - type: string - supported_currencies: - type: object - properties: - NGN: - type: object - properties: - bank: - type: object - properties: - bank_type: - type: string - branch_code: - type: boolean - branch_code_type: - type: string - account_name: - type: boolean - account_verification_required: - type: boolean - account_number_label: - type: string - account_number_pattern: - type: object - properties: - exact_match: - type: boolean - pattern: - type: string - required: - - exact_match - - pattern - documents: - type: array - items: {} - show_account_number_tooltip: - type: boolean - required: - - bank_type - - branch_code - - branch_code_type - - account_name - - account_verification_required - - account_number_label - - account_number_pattern - - documents - - show_account_number_tooltip - required: - - bank - USD: - type: object - properties: - bank: - type: object - properties: - bank_type: - type: string - required_fields: - type: array - items: - type: string - branch_code: - type: boolean - branch_code_type: - type: string - account_name: - type: boolean - account_verification_required: - type: boolean - account_number_label: - type: string - account_number_pattern: - type: object - properties: - exact_match: - type: boolean - pattern: - type: string - required: - - exact_match - - pattern - documents: - type: array - items: {} - notices: - type: array - items: - type: string - required: - - bank_type - - required_fields - - branch_code - - branch_code_type - - account_name - - account_verification_required - - account_number_label - - account_number_pattern - - documents - - notices - required: - - bank - required: - - NGN - - USD - required: - - type - - data - - supported_currencies - integration_feature: - type: object - properties: - type: - type: string - data: - type: array - items: {} - required: - - type - - data - integration_type: - type: object - properties: - type: - type: string - data: - type: array - items: - type: string - required: - - type - - data - payment_method: - type: object - properties: - type: - type: string - data: - type: array - items: - type: string - required: - - type - - data - required: - - currency - - integration_feature - - integration_type - - payment_method - required: - - id - - active_for_dashboard_onboarding - - name - - iso_code - - default_currency_code - - integration_defaults - - calling_code - - pilot_mode - - relationships - MiscellaneousListCountriesResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/MiscellaneousListCountriesResponseArray' - required: - - status - - message - - data - MiscellaneousListStatesResponseArray: - type: object - properties: - name: - type: string - slug: - type: string - abbreviation: - type: string - required: - - name - - slug - - abbreviation - MiscellaneousListStatesResponse: - type: object - properties: - status: - type: boolean - message: - type: string - data: - type: array - items: - $ref: '#/components/schemas/MiscellaneousListStatesResponseArray' - required: - - status - - message - - data - responses: - TransactionInitializeSuccess: - description: Transaction Initialize response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionInitializeResponse' - TransactionInitializeBadRequestResponse: - description: Responses from the Transaction Initialize endpoint - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionInitializeBadRequestModel' - Unauthorized: - description: Unauthorized operation - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: false - message: Invalid key - TransactionVerifySuccess: - description: Transaction Verify response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionVerifyResponse' - NotFound: - description: Entity not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - status: false - message: Entity not found - TransactionListSuccess: - description: Transaction List response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionListResponse' - TransactionFetchSuccess: - description: Transaction Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionFetchResponse' - TransactionTimelineSuccess: - description: Transaction Timeline response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionTimelineResponse' - TransactionTotalsSuccess: - description: Transaction Totals response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionTotalsResponse' - TransactionExportSuccess: - description: Transaction Export response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionExportResponse' - TransactionChargeSuccess: - description: Transaction Charge response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionChargeResponse' - TransactionPartialDebitSuccess: - description: Transaction Partial Debit response - content: - application/json: - schema: - $ref: '#/components/schemas/TransactionPartialDebitResponse' - Ok: - description: Request successful - content: - application/json: - schema: - $ref: '#/components/schemas/Response' - SplitListSuccess: - description: Split List response - content: - application/json: - schema: - $ref: '#/components/schemas/SplitListResponse' - SplitCreateSuccess: - description: Split Create response - content: - application/json: - schema: - $ref: '#/components/schemas/SplitCreateResponse' - SplitFetchSuccess: - description: Split Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/SplitFetchResponse' - SplitUpdateSuccess: - description: Split Update response - content: - application/json: - schema: - $ref: '#/components/schemas/SplitUpdateResponse' - SplitAddUpdateSubaccountSuccess: - description: Split Add Update Subaccount response - content: - application/json: - schema: - $ref: '#/components/schemas/SplitAddUpdateSubaccountResponse' - SplitRemoveSubaccountSuccess: - description: Split Remove Subaccount response - content: - application/json: - schema: - $ref: '#/components/schemas/SplitRemoveSubaccountResponse' - TerminalGetStatusSuccess: - description: Terminal Get Status response - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalGetStatusResponse' - TerminalListsSuccess: - description: Terminal Lists response - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalListsResponse' - TerminalGetSuccess: - description: Terminal Get response - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalGetResponse' - TerminalUpdateSuccess: - description: Terminal Update response - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalUpdateResponse' - TerminalCommissionDeviceSuccess: - description: Terminal Commission Device response - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalCommissionDeviceResponse' - TerminalDecommissionDeviceSuccess: - description: Terminal Decommission Device response - content: - application/json: - schema: - $ref: '#/components/schemas/TerminalDecommissionDeviceResponse' - CustomerListSuccess: - description: Customer List response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerListResponse' - CustomerCreateSuccess: - description: Customer Create response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerCreateResponse' - CustomerFetchSuccess: - description: Customer Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerFetchResponse' - CustomerUpdateSuccess: - description: Customer Update response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerUpdateResponse' - CustomerWhitelistBlacklistSuccess: - description: Customer Whitelist Blacklist response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerWhitelistBlacklistResponse' - CustomerDeactivateAuthorizationSuccess: - description: Customer Deactivate Authorization response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerDeactivateAuthorizationResponse' - CustomerValidateSuccess: - description: Customer Validate response - content: - application/json: - schema: - $ref: '#/components/schemas/CustomerValidateResponse' - DedicatedNubanFetchSuccess: - description: Dedicated Nuban Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedNubanFetchResponse' - DedicatedNubanCreateSuccess: - description: Dedicated Nuban Create response - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedNubanCreateResponse' - DedicatedNubanDeactivateSuccess: - description: Dedicated Nuban Deactivate response - content: - application/json: - schema: - $ref: '#/components/schemas/DedicatedNubanDeactivateResponse' - ApplePayOkResponse: - description: Responses from the Transaction Initialize endpoint - content: - application/json: - schema: - $ref: '#/components/schemas/ApplePayCreateOkModel' - SubaccountListSuccess: - description: Subaccount List response - content: - application/json: - schema: - $ref: '#/components/schemas/SubaccountListResponse' - SubaccountCreateSuccess: - description: Subaccount Create response - content: - application/json: - schema: - $ref: '#/components/schemas/SubaccountCreateResponse' - SubaccountFetchSuccess: - description: Subaccount Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/SubaccountFetchResponse' - SubaccountUpdateSuccess: - description: Subaccount Update response - content: - application/json: - schema: - $ref: '#/components/schemas/SubaccountUpdateResponse' - PlanListSuccess: - description: Plan List response - content: - application/json: - schema: - $ref: '#/components/schemas/PlanListResponse' - PlanCreateSuccess: - description: Plan Create response - content: - application/json: - schema: - $ref: '#/components/schemas/PlanCreateResponse' - PlanFetchSuccess: - description: Plan Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/PlanFetchResponse' - PlanUpdateSuccess: - description: Plan Update response - content: - application/json: - schema: - $ref: '#/components/schemas/PlanUpdateResponse' - SubscriptionListSuccess: - description: Subscription List response - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionListResponse' - SubscriptionCreateSuccess: - description: Subscription Create response - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionCreateResponse' - SubscriptionFetchSuccess: - description: Subscription Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionFetchResponse' - SubscriptionDisableSuccess: - description: Subscription Disable response - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionDisableResponse' - ProductListsSuccess: - description: Product Lists response - content: - application/json: - schema: - $ref: '#/components/schemas/ProductListsResponse' - ProductCreateSuccess: - description: Product Create response - content: - application/json: - schema: - $ref: '#/components/schemas/ProductCreateResponse' - ProductFetchSuccess: - description: Product Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/ProductFetchResponse' - ProductUpdateSuccess: - description: Product Update response - content: - application/json: - schema: - $ref: '#/components/schemas/ProductUpdateResponse' - ProductDeleteSuccess: - description: Product Delete response - content: - application/json: - schema: - $ref: '#/components/schemas/ProductDeleteResponse' - StorefrontListSuccess: - description: Storefront List response - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontListResponse' - StorefrontCreateSuccess: - description: Storefront Create response - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontCreateResponse' - StorefrontFetchSuccess: - description: Storefront Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontFetchResponse' - StorefrontUpdateSuccess: - description: Storefront Update response - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontUpdateResponse' - StorefrontDeleteSuccess: - description: Storefront Delete response - content: - application/json: - schema: - $ref: '#/components/schemas/StorefrontDeleteResponse' - OrderListSuccess: - description: Order List response - content: - application/json: - schema: - $ref: '#/components/schemas/OrderListResponse' - OrderCreateSuccess: - description: Order Create response - content: - application/json: - schema: - $ref: '#/components/schemas/OrderCreateResponse' - OrderFetchSuccess: - description: Order Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/OrderFetchResponse' - OrderFetchProductSuccess: - description: Order Fetch Product response - content: - application/json: - schema: - $ref: '#/components/schemas/OrderFetchProductResponse' - OrderValidateSuccess: - description: Order Validate response - content: - application/json: - schema: - $ref: '#/components/schemas/OrderValidateResponse' - PageListSuccess: - description: Page List response - content: - application/json: - schema: - $ref: '#/components/schemas/PageListResponse' - PageCreateSuccess: - description: Page Create response - content: - application/json: - schema: - $ref: '#/components/schemas/PageCreateResponse' - PageFetchSuccess: - description: Page Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/PageFetchResponse' - PageUpdateSuccess: - description: Page Update response - content: - application/json: - schema: - $ref: '#/components/schemas/PageUpdateResponse' - PageCheckSlugAvailabilitySuccess: - description: Page Check Slug Availability response - content: - application/json: - schema: - $ref: '#/components/schemas/PageCheckSlugAvailabilityResponse' - PageAddProductsSuccess: - description: Page Add Products response - content: - application/json: - schema: - $ref: '#/components/schemas/PageAddProductsResponse' - PaymentRequestListSuccess: - description: Payment Request List response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestListResponse' - PaymentRequestCreateSuccess: - description: Payment Request Create response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestCreateResponse' - PaymentRequestUpdateSuccess: - description: Payment Request Update response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestUpdateResponse' - PaymentRequestVerifySuccess: - description: Payment Request Verify response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestVerifyResponse' - PaymentRequestSendNotificationSuccess: - description: Payment Request Send Notification response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestSendNotificationResponse' - PaymentRequestTotalSuccess: - description: Payment Request Total response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestTotalResponse' - PaymentRequestFinalizeSuccess: - description: Payment Request Finalize response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestFinalizeResponse' - PaymentRequestArchiveSuccess: - description: Payment Request Archive response - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequestArchiveResponse' - TransferRecipientListSuccess: - description: Transfer Recipient List response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientListResponse' - TransferRecipientCreateSuccess: - description: Transfer Recipient Create response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientCreateResponse' - TransferRecipientBulkCreateSuccess: - description: Transfer Recipient Bulk Create response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientBulkCreateResponse' - TransferRecipientFetchSuccess: - description: Transfer Recipient Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientFetchResponse' - TransferRecipientUpdateSuccess: - description: Transfer Recipient Update response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientUpdateResponse' - TransferRecipientDeleteSuccess: - description: Transfer Recipient Delete response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRecipientDeleteResponse' - TransferListSuccess: - description: Transfer List response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferListResponse' - TransferCreateSuccess: - description: Transfer Create response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferCreateResponse' - TransferBulkSuccess: - description: Transfer Bulk response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferBulkResponse' - TransferFetchSuccess: - description: Transfer Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferFetchResponse' - TransferVerifySuccess: - description: Transfer Verify response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferVerifyResponse' - TransferResendsOtpSuccess: - description: Transfer Resends Otp response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferResendsOtpResponse' - TransferDisablesOtpSuccess: - description: Transfer Disables Otp response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferDisablesOtpResponse' - TransferFinalizeDisablesOtpSuccess: - description: Transfer Finalize Disables Otp response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferFinalizeDisablesOtpResponse' - TransferEnablesOtpSuccess: - description: Transfer Enables Otp response - content: - application/json: - schema: - $ref: '#/components/schemas/TransferEnablesOtpResponse' - BalanceCheckSuccess: - description: Balance Check response - content: - application/json: - schema: - $ref: '#/components/schemas/BalanceCheckResponse' - BalanceFetchLedgerSuccess: - description: Balance Fetch Ledger response - content: - application/json: - schema: - $ref: '#/components/schemas/BalanceFetchLedgerResponse' - ChargeCreateSuccess: - description: Charge Create response - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeCreateResponse' - ChargeSubmitPinSuccess: - description: Charge Submit Pin response - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitPinResponse' - ChargeSubmitOtpSuccess: - description: Charge Submit Otp response - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitOtpResponse' - ChargeSubmitPhoneSuccess: - description: Charge Submit Phone response - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitPhoneResponse' - ChargeSubmitBirthdaySuccess: - description: Charge Submit Birthday response - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeSubmitBirthdayResponse' - ChargeCheckPendingSuccess: - description: Charge Check Pending response - content: - application/json: - schema: - $ref: '#/components/schemas/ChargeCheckPendingResponse' - BulkChargeListSuccess: - description: Bulk Charge List response - content: - application/json: - schema: - $ref: '#/components/schemas/BulkChargeListResponse' - BulkChargeInitiateSuccess: - description: Bulk Charge Initiate response - content: - application/json: - schema: - $ref: '#/components/schemas/BulkChargeInitiateResponse' - BulkChargeFetchSuccess: - description: Bulk Charge Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/BulkChargeFetchResponse' - BulkChargeFetchBulkBatchChargesSuccess: - description: Bulk Charge Fetch Bulk Batch Charges response - content: - application/json: - schema: - $ref: '#/components/schemas/BulkChargeFetchBulkBatchChargesResponse' - BulkChargePauseSuccess: - description: Bulk Charge Pause response - content: - application/json: - schema: - $ref: '#/components/schemas/BulkChargePauseResponse' - BulkChargeResumeSuccess: - description: Bulk Charge Resume response - content: - application/json: - schema: - $ref: '#/components/schemas/BulkChargeResumeResponse' - RefundListSuccess: - description: Refund List response - content: - application/json: - schema: - $ref: '#/components/schemas/RefundListResponse' - RefundCreateSuccess: - description: Refund Create response - content: - application/json: - schema: - $ref: '#/components/schemas/RefundCreateResponse' - RefundFetchSuccess: - description: Refund Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/RefundFetchResponse' - DisputeListSuccess: - description: Dispute List response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeListResponse' - DisputeFetchSuccess: - description: Dispute Fetch response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeFetchResponse' - DisputeUpdateSuccess: - description: Dispute Update response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeUpdateResponse' - DisputeUploadURLSuccess: - description: Dispute Upload U R L response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeUploadURLResponse' - DisputeExportSuccess: - description: Dispute Export response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeExportResponse' - DisputeListTransactionSuccess: - description: Dispute List Transaction response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeListTransactionResponse' - DisputeResolveSuccess: - description: Dispute Resolve response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeResolveResponse' - DisputeAddEvidenceSuccess: - description: Dispute Add Evidence response - content: - application/json: - schema: - $ref: '#/components/schemas/DisputeAddEvidenceResponse' - MiscellaneousListBanksSuccess: - description: Miscellaneous List Banks response - content: - application/json: - schema: - $ref: '#/components/schemas/MiscellaneousListBanksResponse' - VerificationResolveAccountNumberSuccess: - description: Verification Resolve Account Number response - content: - application/json: - schema: - $ref: '#/components/schemas/VerificationResolveAccountNumberResponse' - VerificationValidateAccountSuccess: - description: Verification Validate Account response - content: - application/json: - schema: - $ref: '#/components/schemas/VerificationValidateAccountResponse' - VerificationResolveCardBINSuccess: - description: Verification Resolve Card B I N response - content: - application/json: - schema: - $ref: '#/components/schemas/VerificationResolveCardBINResponse' - MiscellaneousListCountriesSuccess: - description: Miscellaneous List Countries response - content: - application/json: - schema: - $ref: '#/components/schemas/MiscellaneousListCountriesResponse' - MiscellaneousListStatesSuccess: - description: Miscellaneous List States response - content: - application/json: - schema: - $ref: '#/components/schemas/MiscellaneousListStatesResponse' From f462c79287a536d5c3a909c62fc0a0ec31ae8e12 Mon Sep 17 00:00:00 2001 From: Michelle Bergeron Date: Wed, 30 Jul 2025 10:40:00 -0400 Subject: [PATCH 6/6] pnpm-lock.yaml --- pnpm-lock.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 777d319172859..49796287db305 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10018,8 +10018,7 @@ importers: specifier: ^0.10.0 version: 0.10.0 - components/pdf_munk: - specifiers: {} + components/pdf_munk: {} components/pdffiller: dependencies: @@ -11686,8 +11685,7 @@ importers: specifier: ^0.10.0 version: 0.10.0 - components/rocketskip: - specifiers: {} + components/rocketskip: {} components/rockset: dependencies: @@ -12292,8 +12290,7 @@ importers: specifier: ^3.0.3 version: 3.0.3 - components/serenity_ai_hub: - specifiers: {} + components/serenity_ai_hub: {} components/serpapi: dependencies: @@ -13698,8 +13695,7 @@ importers: specifier: ^1.6.0 version: 1.6.6 - components/templatedocs: - specifiers: {} + components/templatedocs: {} components/tento8: {} @@ -14341,8 +14337,7 @@ importers: components/typebot: {} - components/typeflo: - specifiers: {} + components/typeflo: {} components/typeflowai: dependencies: