diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab87449..bdf9fd3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,10 @@ jobs: - uses: actions/checkout@v6 - uses: pnpm/action-setup@v6 with: - version: 11.26.0 + version: 12.10.1 - uses: actions/setup-node@v6 with: - node-version: "24.x" + node-version: "22.x" package-manager-cache: false - run: pnpm install --frozen-lockfile - run: pnpm build diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index ebaba8d..3b1db61 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -24,12 +24,12 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@v6 with: - version: 11.26.0 + version: 12.10.1 - name: Setup Node uses: actions/setup-node@v6 with: - node-version: "24.x" + node-version: "22.x" registry-url: "https://registry.npmjs.org" package-manager-cache: false diff --git a/package.json b/package.json index 4350451..d243657 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "author": "alexasomba", "repository": { "type": "git", - "url": "https://github.com/alexasomba/paystack-node.git" + "url": "git+https://github.com/alexasomba/paystack-node.git" }, "files": [ "dist", @@ -75,29 +75,28 @@ "lint:package": "publint run --strict", "lint:skills": "intent validate", "lint:types": "npm_config_ignore_scripts=true npm_config_cache=/tmp/paystack-openapi-npm-cache attw --profile esm-only --pack .", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc6 -p tsconfig.json --noEmit", "clean": "rm -rf dist", "prepack": "pnpm build", "publish:public": "pnpm publish --no-git-checks --access public" }, "dependencies": { - "@noble/hashes": "^2.2.0", + "@noble/hashes": "^2.4.0", "openapi-fetch": "^0.17.0" }, "devDependencies": { "@arethetypeswrong/cli": "^0.18.5", - "@tanstack/intent": "^0.0.41", - "@types/node": "^24.12.3", + "@tanstack/intent": "^0.5.5", + "@types/node": "^22.20.5", "openapi-typescript": "^7.13.0", - "publint": "^0.3.20", - "typescript": "^5.9.3", + "publint": "^0.3.25", + "typescript": "npm:@typescript/typescript6@6.0.2", "vite": "catalog:", "vite-plus": "catalog:", - "vitest": "catalog:", - "yaml": "^2.8.4" + "yaml": "^2.9.1" }, "engines": { "node": ">=22.0.0" }, - "packageManager": "pnpm@11.26.0" + "packageManager": "pnpm@12.10.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16ab050..04d110e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,3 +1,161 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: {} + packageManagerDependencies: + pnpm: + specifier: 12.10.1 + version: 12.10.1 + +packages: + + '@pnpm/exe.android-arm64@12.10.1': + resolution: {integrity: sha512-CVTlHPwNvadQCJD9bGSMzWIhFX8QpjtqC2c27dhdnn/9iKzEjZ3qL62o3gHpKbIuo6qn4WxTKRoaokgNdReBig==} + cpu: [arm64] + os: [android] + + '@pnpm/exe.android-x64@12.10.1': + resolution: {integrity: sha512-NFiYLIaodY7da0XIebwcU3JoP7IK/lzF7zgKSSP+9H+QcFnQ1GDfBkuBKCYJzZ+Xu0WH54neIPLBBCaOjaaauA==} + cpu: [x64] + os: [android] + + '@pnpm/exe.darwin-arm64@12.10.1': + resolution: {integrity: sha512-0O8tdQ8ijlPJudXspLMTcitMkdBEz6uUflazL5uQE0WMs85oQIp0U+5hfEktMFB64QqEhjqlvvujTwbzdr9oMg==} + cpu: [arm64] + os: [darwin] + + '@pnpm/exe.darwin-x64@12.10.1': + resolution: {integrity: sha512-ud+1/uZOKEo8P/AsPynOJc/LNwfI0j6WwCElibj71rU9l4nIBnsSn+wWTIPZPkZ4BBSH5+82azSnAARMyJ1lNA==} + cpu: [x64] + os: [darwin] + + '@pnpm/exe.freebsd-x64@12.10.1': + resolution: {integrity: sha512-mj9PE5rf8uAfQQ2K66HSATMSut+lNiB4eSqFd5+azFVCMnxNSy/32xpZQJT21PhnN3Y4qbK+iKHe5nWAxSuRhw==} + cpu: [x64] + os: [freebsd] + + '@pnpm/exe.linux-arm64-musl@12.10.1': + resolution: {integrity: sha512-xba+00wZJ8Um6rBJJjWl88uJj0tydB8dtomvjlCLvi0uL32vpa9CRP8Vv26FIXvbiZ1bo2RCzYt/eChxJVV52w==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-arm64@12.10.1': + resolution: {integrity: sha512-oBdMp69ScC9UnniG4qZAQVr2fBDSXjm4yk/72vkEVyrlwS23yMxcRQl7Qdo3sgXPAygY6TWnPRKm4rXzjoyW7w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-ppc64@12.10.1': + resolution: {integrity: sha512-Yyb3wu09h3c7mLme270uHFiVaAIUHC411Ru9LIU2BKUIstrGlXa9OqqVWoXaRgYRdFdOFknkwG7GNn6ygwLbnw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-riscv64@12.10.1': + resolution: {integrity: sha512-PdkeUFFkybknnGkWP0H22eMpIiS4OZXL5BcQzF4lh+vmrW3IaC2HOkbANKgot/PKO0Kl77pzA/6PKFxgbgfXIQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-s390x@12.10.1': + resolution: {integrity: sha512-1okKuHKJwJPAbofDxfhZWAUxEWtee4ZSf7Pah8kcvocaJkf2WxFJ5KVTiNIvDml5GLidDQsgf7Pcf/WHbCak7Q==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-x64-musl@12.10.1': + resolution: {integrity: sha512-e6IqzVNkPa7srFKJKnY23uWJ+qz0LaRWiTUo/sHfFXRRMRzB5uNOr6qWWip/jqhdGwU91n9J7LrEYZ6e0tRczw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-x64@12.10.1': + resolution: {integrity: sha512-ZByV0DRgWzGaDSjT5ddRBASdwz+r/qPMYh7o6RGmPQjtRGNFbSl94xY2DcAM8mqCOZJUUDtAXQ+wpBXcdpKlkg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.win32-arm64@12.10.1': + resolution: {integrity: sha512-I7QZHcjioG7orFeCRUFUHByJ1G0zFPnAlaGGyrUvb6MGkv5oeNwNPl7t+Gp+7zHfnMcgLGJ1a+Wfim0IDw3lOw==} + cpu: [arm64] + os: [win32] + + '@pnpm/exe.win32-x64@12.10.1': + resolution: {integrity: sha512-4WJFdp58EKlCj0zLobrXU0vpszSZIr4X/3y/uNbAQqGW0zE+VdruZB0gFc3L2kzsUzVwTYbaCn+XEhnCYSAlTg==} + cpu: [x64] + os: [win32] + + pnpm@12.10.1: + resolution: {integrity: sha512-ukCjfrGjcNYP6oxM8dNkwTvMzvUY6YrSvO6VT1OdONo3RY5YJho/pV4GUjRQ6g//+fSXsTW+QfLBXBZCusrObA==} + engines: {node: '>=18.*'} + hasBin: true + +snapshots: + + '@pnpm/exe.android-arm64@12.10.1': + optional: true + + '@pnpm/exe.android-x64@12.10.1': + optional: true + + '@pnpm/exe.darwin-arm64@12.10.1': + optional: true + + '@pnpm/exe.darwin-x64@12.10.1': + optional: true + + '@pnpm/exe.freebsd-x64@12.10.1': + optional: true + + '@pnpm/exe.linux-arm64-musl@12.10.1': + optional: true + + '@pnpm/exe.linux-arm64@12.10.1': + optional: true + + '@pnpm/exe.linux-ppc64@12.10.1': + optional: true + + '@pnpm/exe.linux-riscv64@12.10.1': + optional: true + + '@pnpm/exe.linux-s390x@12.10.1': + optional: true + + '@pnpm/exe.linux-x64-musl@12.10.1': + optional: true + + '@pnpm/exe.linux-x64@12.10.1': + optional: true + + '@pnpm/exe.win32-arm64@12.10.1': + optional: true + + '@pnpm/exe.win32-x64@12.10.1': + optional: true + + pnpm@12.10.1: + optionalDependencies: + '@pnpm/exe.android-arm64': 12.10.1 + '@pnpm/exe.android-x64': 12.10.1 + '@pnpm/exe.darwin-arm64': 12.10.1 + '@pnpm/exe.darwin-x64': 12.10.1 + '@pnpm/exe.freebsd-x64': 12.10.1 + '@pnpm/exe.linux-arm64': 12.10.1 + '@pnpm/exe.linux-arm64-musl': 12.10.1 + '@pnpm/exe.linux-ppc64': 12.10.1 + '@pnpm/exe.linux-riscv64': 12.10.1 + '@pnpm/exe.linux-s390x': 12.10.1 + '@pnpm/exe.linux-x64': 12.10.1 + '@pnpm/exe.linux-x64-musl': 12.10.1 + '@pnpm/exe.win32-arm64': 12.10.1 + '@pnpm/exe.win32-x64': 12.10.1 + +--- lockfileVersion: '9.0' settings: @@ -6,6 +164,9 @@ settings: catalogs: default: + vite: + specifier: npm:@voidzero-dev/vite-plus-core@1.1.0 + version: 1.1.0 vite-plus: specifier: 1.1.0 version: 1.1.0 @@ -13,8 +174,6 @@ catalogs: overrides: axios: ^1.20.0 form-data: ^4.0.6 - vite: npm:@voidzero-dev/vite-plus-core@1.1.0 - vitest: 5.0.3 protobufjs: 7.6.5 qs: 6.16.0 brace-expansion@1: 1.1.21 @@ -38,13 +197,15 @@ overrides: source-map-js: 1.2.2 proxy-addr: 2.0.8 handlebars: 4.7.10 + vite@*: npm:@voidzero-dev/vite-plus-core@1.1.0 + vitest@*: 5.0.3 importers: .: dependencies: '@noble/hashes': - specifier: ^2.2.0 + specifier: ^2.4.0 version: 2.4.0 openapi-fetch: specifier: ^0.17.0 @@ -54,32 +215,29 @@ importers: specifier: ^0.18.5 version: 0.18.5 '@tanstack/intent': - specifier: ^0.0.41 - version: 0.0.41 + specifier: ^0.5.5 + version: 0.5.5 '@types/node': - specifier: ^24.12.3 - version: 24.12.3 + specifier: ^22.20.5 + version: 22.20.5 openapi-typescript: specifier: ^7.13.0 - version: 7.13.0(typescript@5.9.3) + version: 7.13.0(@typescript/typescript6@6.0.2) publint: - specifier: ^0.3.20 - version: 0.3.20 + specifier: ^0.3.25 + version: 0.3.25 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: npm:@typescript/typescript6@6.0.2 + version: '@typescript/typescript6@6.0.2' vite: - specifier: npm:@voidzero-dev/vite-plus-core@1.1.0 - version: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)' + specifier: 'catalog:' + version: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)' vite-plus: specifier: 'catalog:' - version: 1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4) - vitest: - specifier: 5.0.3 - version: 5.0.3(@types/node@24.12.3)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3(vitest@5.0.3))(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + version: 1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1) yaml: - specifier: ^2.8.4 - version: 2.8.4 + specifier: ^2.9.1 + version: 2.9.1 packages: @@ -422,8 +580,8 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@publint/pack@0.1.4': - resolution: {integrity: sha512-HDVTWq3H0uTXiU0eeSQntcVUTPP3GamzeXI41+x7uU9J65JgWQh3qWZHblR1i0npXfFtF+mxBiU2nJH8znxWnQ==} + '@publint/pack@0.1.7': + resolution: {integrity: sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==} engines: {node: '>=18'} '@redocly/ajv@8.11.2': @@ -440,8 +598,9 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@tanstack/intent@0.0.41': - resolution: {integrity: sha512-Psl+oDiidLvtctswkTQ1P6sQIihwrMLcdfQVfkLpO42oKwxWEr1lodWUHiOG5jFXsGwDDvpUv/WAdlmJF+yGpw==} + '@tanstack/intent@0.5.5': + resolution: {integrity: sha512-Ei5RqUWgV96HrezTEyDbScy0wZN+17dNo59Am8/3ncv0YIaIxApkiX5LkM488wxe4a1Imdi09nhjFxblxwLMSQ==} + engines: {node: '>=20.12.0'} hasBin: true '@testing-library/dom@10.4.2': @@ -466,8 +625,12 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/node@24.12.3': - resolution: {integrity: sha512-8oljBDGun9cIsZRJR6fkihn0TSXJI0UDOOhncYaERq6M0JMDoPLxyscwruJcb4GKS6dvK/d8xebYBg27h/duaQ==} + '@types/node@22.20.5': + resolution: {integrity: sha512-U2+DNr+wSjpsTS/wZGYHq7GcwfuSmKiKvoPvK22zwTlRhU91yOniN4qRR5KhIjvif7ysw/dz/hKmfDH0Ris4aA==} + + '@typescript/typescript6@6.0.2': + resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==} + hasBin: true '@vitest/browser-preview@5.0.3': resolution: {integrity: sha512-jfnEBv5yDRPR1MeiTlTW5bcZoPsiI7MBhpZR8IJiSxVhdK6Pa4gPk3tLHTRxVHy24kkWxY2TnUbnszU3J1bQJw==} @@ -834,10 +997,6 @@ packages: brace-expansion@2.1.7: resolution: {integrity: sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - chai@6.3.0: resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} engines: {node: '>=18'} @@ -993,9 +1152,6 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - lightningcss-android-arm64@1.33.0: resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} @@ -1169,8 +1325,8 @@ packages: vite-plus: optional: true - package-manager-detector@1.6.0: - resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} parse-json@8.3.0: resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} @@ -1215,8 +1371,8 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - publint@0.3.20: - resolution: {integrity: sha512-UWqFYP7VBVCe9l/leEEGJrDs6Am4K4KapLmLi5qbt+9fA+Ny38ghdW+bw1nYfVqCK8/3kgsxjjhFjTYqYYRpyw==} + publint@0.3.25: + resolution: {integrity: sha512-WMMbn/d7JqRlfXQL/JUI4n5skC8cJ5WVr8/wT5mmiYWkUdENkZr1I5rgs2+dQPVRgoJd+JRYtB46MTsuDylw9g==} engines: {node: '>=18'} hasBin: true @@ -1315,13 +1471,13 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -1419,13 +1575,8 @@ packages: yaml-ast-parser@0.0.43: resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - yaml@2.8.3: - resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} - engines: {node: '>= 14.6'} - hasBin: true - - yaml@2.8.4: - resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} engines: {node: '>= 14.6'} hasBin: true @@ -1647,7 +1798,9 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@publint/pack@0.1.4': {} + '@publint/pack@0.1.7': + dependencies: + tinyexec: 1.3.1 '@redocly/ajv@8.11.2': dependencies: @@ -1674,12 +1827,7 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@tanstack/intent@0.0.41': - dependencies: - cac: 6.7.14 - jsonc-parser: 3.3.1 - semver: 7.7.4 - yaml: 2.8.3 + '@tanstack/intent@0.5.5': {} '@testing-library/dom@10.4.2': dependencies: @@ -1707,33 +1855,37 @@ snapshots: '@types/estree@1.0.9': {} - '@types/node@24.12.3': + '@types/node@22.20.5': + dependencies: + undici-types: 6.21.0 + + '@typescript/typescript6@6.0.2': dependencies: - undici-types: 7.16.0 + '@typescript/old': typescript@6.0.3 - '@vitest/browser-preview@5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))(vitest@5.0.3)': + '@vitest/browser-preview@5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))(vitest@5.0.3)': dependencies: '@testing-library/dom': 10.4.2 '@testing-library/user-event': 14.6.7(@testing-library/dom@10.4.2) - '@vitest/browser': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))(vitest@5.0.3) - vitest: 5.0.3(@types/node@24.12.3)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3(vitest@5.0.3))(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + '@vitest/browser': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))(vitest@5.0.3) + vitest: 5.0.3(@types/node@22.20.5)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3)(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))(vitest@5.0.3)': + '@vitest/browser@5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))(vitest@5.0.3)': dependencies: '@blazediff/core': 1.10.0 - '@vitest/mocker': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + '@vitest/mocker': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) '@vitest/ui': 5.0.3(vitest@5.0.3) '@vitest/utils': 5.0.3 magic-string: 1.4.3 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.2.0 - vitest: 5.0.3(@types/node@24.12.3)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3(vitest@5.0.3))(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + vitest: 5.0.3(@types/node@22.20.5)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3)(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) ws: 8.22.0 transitivePeerDependencies: - bufferutil @@ -1741,14 +1893,14 @@ snapshots: - utf-8-validate - vite - '@vitest/mocker@5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))': + '@vitest/mocker@5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))': dependencies: '@jridgewell/trace-mapping': 0.3.31 '@vitest/spy': 5.0.3 estree-walker: 3.0.3 magic-string: 1.4.3 optionalDependencies: - vite: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)' + vite: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)' '@vitest/pretty-format@5.0.3': dependencies: @@ -1771,7 +1923,7 @@ snapshots: pathe: 2.0.3 sirv: 3.0.2 tinyrainbow: 3.2.0 - vitest: 5.0.3(@types/node@24.12.3)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3(vitest@5.0.3))(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + vitest: 5.0.3(@types/node@22.20.5)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3)(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) '@vitest/utils@5.0.3': dependencies: @@ -1779,7 +1931,7 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.2.0 - '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)': + '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)': dependencies: '@oxc-project/runtime': 0.153.0 '@oxc-project/types': 0.153.0 @@ -1789,7 +1941,7 @@ snapshots: yuku-parser: 0.9.5 optionalDependencies: '@arethetypeswrong/core': 0.18.5 - '@types/node': 24.12.3 + '@types/node': 22.20.5 '@voidzero-dev/vite-plus-darwin-arm64': 1.1.0 '@voidzero-dev/vite-plus-darwin-x64': 1.1.0 '@voidzero-dev/vite-plus-linux-arm64-gnu': 1.1.0 @@ -1799,9 +1951,9 @@ snapshots: '@voidzero-dev/vite-plus-win32-arm64-msvc': 1.1.0 '@voidzero-dev/vite-plus-win32-x64-msvc': 1.1.0 fsevents: 2.3.3 - publint: 0.3.20 - typescript: 5.9.3 - yaml: 2.8.4 + publint: 0.3.25 + typescript: '@typescript/typescript6@6.0.2' + yaml: 2.9.1 '@voidzero-dev/vite-plus-darwin-arm64@1.1.0': optional: true @@ -1935,8 +2087,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - cac@6.7.14: {} - chai@6.3.0: {} chalk@4.1.2: @@ -2053,8 +2203,6 @@ snapshots: json-schema-traverse@1.0.0: {} - jsonc-parser@3.3.1: {} - lightningcss-android-arm64@1.33.0: optional: true @@ -2160,17 +2308,17 @@ snapshots: openapi-typescript-helpers@0.1.0: {} - openapi-typescript@7.13.0(typescript@5.9.3): + openapi-typescript@7.13.0(@typescript/typescript6@6.0.2): dependencies: '@redocly/openapi-core': 1.34.11(supports-color@10.2.2) ansi-colors: 4.1.3 change-case: 5.4.4 parse-json: 8.3.0 supports-color: 10.2.2 - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' yargs-parser: 21.1.1 - oxfmt@0.72.0(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)): + oxfmt@0.72.0(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1)): dependencies: tinypool: 2.2.0 optionalDependencies: @@ -2193,7 +2341,7 @@ snapshots: '@oxfmt/binding-win32-arm64-msvc': 0.72.0 '@oxfmt/binding-win32-ia32-msvc': 0.72.0 '@oxfmt/binding-win32-x64-msvc': 0.72.0 - vite-plus: 1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4) + vite-plus: 1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1) oxlint-tsgolint@7.0.2003: optionalDependencies: @@ -2204,7 +2352,7 @@ snapshots: '@oxlint-tsgolint/win32-arm64': 7.0.2003 '@oxlint-tsgolint/win32-x64': 7.0.2003 - oxlint@1.87.0(oxlint-tsgolint@7.0.2003)(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)): + oxlint@1.87.0(oxlint-tsgolint@7.0.2003)(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1)): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.87.0 '@oxlint/binding-android-arm64': 1.87.0 @@ -2226,9 +2374,9 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.87.0 '@oxlint/binding-win32-x64-msvc': 1.87.0 oxlint-tsgolint: 7.0.2003 - vite-plus: 1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4) + vite-plus: 1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1) - package-manager-detector@1.6.0: {} + package-manager-detector@1.9.0: {} parse-json@8.3.0: dependencies: @@ -2268,10 +2416,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - publint@0.3.20: + publint@0.3.25: dependencies: - '@publint/pack': 0.1.4 - package-manager-detector: 1.6.0 + '@publint/pack': 0.1.7 + package-manager-detector: 1.9.0 picocolors: 1.1.1 sade: 1.8.1 @@ -2349,9 +2497,9 @@ snapshots: typescript@5.6.1-rc: {} - typescript@5.9.3: {} + typescript@6.0.3: {} - undici-types@7.16.0: {} + undici-types@6.21.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -2359,22 +2507,22 @@ snapshots: validate-npm-package-name@5.0.1: {} - vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4): + vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1): dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.79.0 - '@vitest/browser': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))(vitest@5.0.3) - '@vitest/browser-preview': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))(vitest@5.0.3) - '@vitest/mocker': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + '@vitest/browser': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))(vitest@5.0.3) + '@vitest/browser-preview': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))(vitest@5.0.3) + '@vitest/mocker': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) '@vitest/pretty-format': 5.0.3 '@vitest/snapshot': 5.0.3 '@vitest/spy': 5.0.3 '@vitest/utils': 5.0.3 - oxfmt: 0.72.0(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003)(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(@vitest/ui@5.0.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + oxfmt: 0.72.0(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1)) + oxlint: 1.87.0(oxlint-tsgolint@7.0.2003)(vite-plus@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(@vitest/ui@5.0.3)(publint@0.3.25)(yaml@2.9.1)) oxlint-tsgolint: 7.0.2003 - vite: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)' - vitest: 5.0.3(@types/node@24.12.3)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3(vitest@5.0.3))(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + vite: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)' + vitest: 5.0.3(@types/node@22.20.5)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3)(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) optionalDependencies: '@voidzero-dev/vite-plus-darwin-arm64': 1.1.0 '@voidzero-dev/vite-plus-darwin-x64': 1.1.0 @@ -2418,10 +2566,10 @@ snapshots: - vue-tsc - yaml - vitest@5.0.3(@types/node@24.12.3)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3(vitest@5.0.3))(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)): + vitest@5.0.3(@types/node@22.20.5)(@vitest/browser-preview@5.0.3)(@vitest/ui@5.0.3)(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)) + '@vitest/mocker': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)) chai: 6.3.0 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -2432,11 +2580,11 @@ snapshots: tinybench: 6.2.1 tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4)' + vite: '@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1)' why-is-node-running: 3.2.1 optionalDependencies: - '@types/node': 24.12.3 - '@vitest/browser-preview': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@24.12.3)(publint@0.3.20)(typescript@5.9.3)(yaml@2.8.4))(vitest@5.0.3) + '@types/node': 22.20.5 + '@vitest/browser-preview': 5.0.3(@voidzero-dev/vite-plus-core@1.1.0(@arethetypeswrong/core@0.18.5)(@types/node@22.20.5)(@typescript/typescript6@6.0.2)(publint@0.3.25)(yaml@2.9.1))(vitest@5.0.3) '@vitest/ui': 5.0.3(vitest@5.0.3) transitivePeerDependencies: - msw @@ -2455,9 +2603,7 @@ snapshots: yaml-ast-parser@0.0.43: {} - yaml@2.8.3: {} - - yaml@2.8.4: {} + yaml@2.9.1: {} yargs-parser@20.2.9: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f984587..df7d867 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - . allowBuilds: + "@scarf/scarf": false "@quobix/vacuum": true core-js: false esbuild: true @@ -11,11 +12,12 @@ catalog: vite: npm:@voidzero-dev/vite-plus-core@1.1.0 vite-plus: 1.1.0 vitest: 5.0.3 +minimumReleaseAgeExclude: + - "@redocly/cli@2.62.1" + - express@5.3.0 overrides: axios: ^1.20.0 form-data: ^4.0.6 - vite: "catalog:" - vitest: "catalog:" protobufjs: 7.6.5 qs: 6.16.0 brace-expansion@1: 1.1.21 @@ -39,6 +41,8 @@ overrides: source-map-js: 1.2.2 proxy-addr: 2.0.8 handlebars: 4.7.10 + vite@*: "catalog:" + vitest@*: "catalog:" peerDependencyRules: allowAny: - vite diff --git a/skills/paystack-node-transport-testing/SKILL.md b/skills/paystack-node-transport-testing/SKILL.md index 29098cd..b35fc43 100644 --- a/skills/paystack-node-transport-testing/SKILL.md +++ b/skills/paystack-node-transport-testing/SKILL.md @@ -36,7 +36,7 @@ The SDK wraps the provided `fetch` to apply timeout, retry, and idempotency beha Return Paystack-style envelopes from tests: ```ts -return Response.json( +const response = Response.json( { status: false, message: "Invalid reference", data: null }, { status: 200, headers: { "x-paystack-request-id": "req_123" } }, ); diff --git a/src/openapi-types.ts b/src/openapi-types.ts index 7f50e02..51e2fb3 100644 --- a/src/openapi-types.ts +++ b/src/openapi-types.ts @@ -4,15636 +4,15564 @@ */ export interface paths { - "/transaction/initialize": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Initialize Transaction - * @description Create a new transaction - */ - post: operations["transaction_initialize"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/charge_authorization": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Charge Authorization - * @description Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments - */ - post: operations["transaction_chargeAuthorization"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/partial_debit": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Partial Debit - * @description Retrieve part of a payment from a customer - */ - post: operations["transaction_partialDebit"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/check_authorization": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Check Authorization - * @description Check if an authorization code can be used for a charge. - */ - post: operations["transaction_checkAuthorization"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/verify/{reference}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Verify Transaction - * @description Verify a previously initiated transaction using it's reference - */ - get: operations["transaction_verify"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Transactions - * @description List transactions carried out on your integration - */ - get: operations["transaction_list"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Transaction - * @description Fetch a transaction to get its details - */ - get: operations["transaction_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/{id}/event": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Transaction Event - * @description Fetch the event for a specific transaction. - */ - get: operations["transaction_event"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/{id}/session": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Transaction Session - * @description Fetch the session for a specific transaction. - */ - get: operations["transaction_session"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/timeline/{id_or_reference}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Transaction Timeline - * @description Fetch the steps taken from the initiation to the completion of a transaction - */ - get: operations["transaction_timeline"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/totals": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Transaction Totals - * @description Get the total amount of all transactions - */ - get: operations["transaction_totals"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transaction/export": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Export Transactions - * @description Download transactions that occurred on your integration for a specific timeframe - */ - get: operations["transaction_export"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Create Charge - * @description Initiate a payment by integrating the payment channel of your choice. - */ - post: operations["charge_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge/submit_pin": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Submit PIN - * @description Submit PIN to continue a charge - */ - post: operations["charge_submitPin"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge/submit_otp": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Submit OTP - * @description Submit OTP to complete a charge - */ - post: operations["charge_submitOtp"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge/submit_phone": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Submit Phone - * @description Submit phone number when requested - */ - post: operations["charge_submitPhone"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge/submit_birthday": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Submit Birthday - * @description Submit the customer's birthday when requested - */ - post: operations["charge_submitBirthday"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge/submit_address": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Submit Address - * @description Send the details of the customer's address for address verification - */ - post: operations["charge_submitAddress"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/charge/{reference}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Check pending charge - * @description When you get `pending` as a charge status or if there was an exception when calling any of the `/charge` endpoints, wait 10 seconds or more, then make a check to see if its status has changed. Don't call too early as you may get a lot more pending than you should. - */ - get: operations["charge_check"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bulkcharge": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Bulk Charge Batches - * @description List all bulk charge batches. - */ - get: operations["bulkCharge_list"]; - put?: never; - /** - * Initiate Bulk Charge - * @description Charge multiple customers in batches - */ - post: operations["bulkCharge_initiate"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bulkcharge/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An ID or code for the charge whose batches you want to retrieve. - * @example BCH_180tl7oq7cayggh - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Bulk Charge Batch - * @description This endpoint retrieves a specific batch code. It also returns useful information on its progress by - * way of the `total_charges` and `pending_charges` attributes. - */ - get: operations["bulkCharge_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bulkcharge/{id_or_code}/charges": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Charges in a Batch - * @description This endpoint retrieves the charges associated with a specified batch code - */ - get: operations["bulkCharge_charges"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bulkcharge/pause/{code}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Pause Bulk Charge Batch - * @description Pause the processing of a charge batch - */ - get: operations["bulkCharge_pause"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bulkcharge/resume/{code}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Resume Bulk Charge Batch - * @description Resume the processing of a previously paused charge batch - */ - get: operations["bulkCharge_resume"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subaccount": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Subaccounts - * @description List subaccounts available on your integration - */ - get: operations["subaccount_list"]; - put?: never; - /** - * Create Subaccount - * @description Create a subacount for a partner - */ - post: operations["subaccount_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subaccount/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The subaccount ID or code you want to fetch - * @example ACCT_6uujpqtzmnufzkw - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Subaccount - * @description Get details of a subaccount on your integration - */ - get: operations["subaccount_fetch"]; - /** - * Update Subaccount - * @description Update a subaccount details on your integration - */ - put: operations["subaccount_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/split": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Splits - * @description List the transaction splits available on your integration - */ - get: operations["split_list"]; - put?: never; - /** - * Create Split - * @description Create a split configuration for transactions - */ - post: operations["split_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/split/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Split - * @description Get details of a split configuration for a transaction - */ - get: operations["split_fetch"]; - /** - * Update Split - * @description Update a split configuration for transactions - */ - put: operations["split_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/split/{id}/subaccount/add": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Add Subaccount to Split - * @description Add a subaccount to a split configuration, or update the share of an existing subaccount - */ - post: operations["split_addSubaccount"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/split/{id}/subaccount/remove": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Remove Subaccount from split - * @description Remove a subaccount from a split configuration - */ - post: operations["split_removeSubaccount"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal/{id}/event": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Send Event - * @description Send an event from your application to the Paystack Terminal - */ - post: operations["terminal_sendEvent"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal/{terminal_id}/event/{event_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Event Status - * @description Check the status of an event sent to the Terminal - */ - get: operations["terminal_fetchEventStatus"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal/{terminal_id}/presence": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Terminal Status - * @description Check the availiability of a Terminal before sending an event to it - */ - get: operations["terminal_fetchTerminalStatus"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Terminals - * @description List the Terminals available on your integration - */ - get: operations["terminal_list"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal/{terminal_id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the Terminal the event should be sent to. - * @example Z0R4orOU - */ - terminal_id: string; - }; - cookie?: never; - }; - /** - * Fetch Terminal - * @description Get the details of a Terminal - */ - get: operations["terminal_fetch"]; - /** - * Update Terminal - * @description Update the details of a Terminal - */ - put: operations["terminal_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal/commission_device": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Commission Terminal - * @description Activate your debug device by linking it to your integration - */ - post: operations["terminal_commission"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/terminal/decommission_device": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Decommission Terminal - * @description Unlink your debug device from your integration - */ - post: operations["terminal_decommission"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/virtual_terminal": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Virtual Terminals - * @description List Virtual Terminals on your integration - */ - get: operations["virtualTerminal_list"]; - put?: never; - /** - * Create Virtual Terminal - * @description Create a Virtual Terminal on your integration - */ - post: operations["virtualTerminal_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/virtual_terminal/{code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - /** - * Fetch Virtual Terminal - * @description Fetch a Virtual Terminal on your integration - */ - get: operations["virtualTerminal_fetch"]; - /** - * Update Virtual Terminal - * @description Update a Virtual Terminal on your integration - */ - put: operations["virtualTerminal_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/virtual_terminal/{code}/deactivate": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - get?: never; - /** - * Deactivate Virtual Terminal - * @description Deactivate a Virtual Terminal on your integration - */ - put: operations["virtualTerminal_deactivate"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/virtual_terminal/{code}/destination/assign": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Assign Destination to Virtual Terminal - * @description Add a destination (WhatsApp number) to a Virtual Terminal on your integration - */ - post: operations["virtualTerminal_destinationAssign"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/virtual_terminal/{code}/destination/unassign": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Unassign Destination from Virtual Terminal - * @description Unassign a destination (WhatsApp Number) from a Virtual Terminal on your integration - */ - post: operations["virtualTerminal_destinationUnassign"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/virtual_terminal/{code}/split_code": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - get?: never; - /** - * Add Split Code to Virtual Terminal - * @description Add Split Code to Virtual Terminal - */ - put: operations["virtualTerminal_addSplitCode"]; - post?: never; - /** - * Remove Split Code from Virtual Terminal - * @description Remove Split Code from Virtual Terminal - */ - delete: operations["virtualTerminal_deleteSplitCode"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Customers - * @description List customers available on your integration - */ - get: operations["customer_list"]; - put?: never; - /** - * Create Customer - * @description Create a customer on your integration - */ - post: operations["customer_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/{email_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An email or customer code for the customer you want to fetch - * @example CUS_c6wqvwmvwopw4ms - */ - email_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Customer - * @description Get details of a customer on your integration. - */ - get: operations["customer_fetch"]; - /** - * Update Customer - * @description Update a customer's details on your integration - */ - put: operations["customer_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/set_risk_action": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Set Risk Action - * @description Set customer's risk action by whitelisting or blacklisting the customer - */ - post: operations["customer_riskAction"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/{customer_code}/identification": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Customer code - * @example CUS_c6wqvwmvwopw4ms - */ - customer_code: string; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Validate Customer - * @description Validate a customer's identity - */ - post: operations["customer_validate"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/authorization/initialize": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Initialize Authorization - * @description Initiate a request to create a reusable authorization code for recurring transactions - */ - post: operations["customer_initializeAuthorization"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/authorization/verify/{reference}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Verify Authorization - * @description Check the status of an authorization request - */ - get: operations["customer_verifyAuthorization"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/authorization/deactivate": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Deactivate Authorization - * @description Deactivate an authorization for any payment channel. - */ - post: operations["customer_deactivateAuthorization"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/{id}/initialize-direct-debit": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the customer to initialize the direct debit for - * @example 297346561 - */ - id: number; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Initialize Direct Debit - * @description Initialize the process of linking an account to a customer for Direct Debit transactions - */ - post: operations["customer_initializeDirectDebit"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/{id}/directdebit-activation-charge": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Direct Debit Activation Charge - * @description Trigger an activation charge on an inactive mandate on behalf of your customer - */ - put: operations["customer_directDebitActivationCharge"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/customer/{id}/directdebit-mandate-authorizations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Mandate Authorizations - * @description Get the list of direct debit mandates associated with a customer - */ - get: operations["customer_fetchMandateAuthorizations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/directdebit/activation-charge": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Trigger Activation Charge - * @description Trigger activation charge for specified customers - */ - put: operations["directdebit_triggerActivationCharge"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/directdebit/mandate-authorizations": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Mandate Authorizations - * @description Get a list of all the direct debit mandates on your integration - */ - get: operations["directdebit_listMandateAuthorizations"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dedicated_account": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Dedicated Accounts - * @description List dedicated virtual accounts available on your integration. - */ - get: operations["dedicatedAccount_list"]; - put?: never; - /** - * Create Dedicated Account - * @description Create a dedicated virtual account for an existing customer - */ - post: operations["dedicatedAccount_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dedicated_account/assign": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Assign Dedicated Account - * @description With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. - */ - post: operations["dedicatedAccount_assign"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dedicated_account/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** @description ID of dedicated virtual account */ - id: string; - }; - cookie?: never; - }; - /** - * Fetch Dedicated Account - * @description Get details of a dedicated virtual account on your integration. - */ - get: operations["dedicatedAccount_fetch"]; - put?: never; - post?: never; - /** - * Deactivate Dedicated Account - * @description Deactivate a dedicated virtual account on your integration. - */ - delete: operations["dedicatedAccount_deactivate"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dedicated_account/requery": { - parameters: { - query?: { - /** - * @description Virtual account number to requery - * @example 0033322211 - */ - account_number?: string; - /** - * @description The bank's slug in lowercase, without spaces. - * @example titan-paystack - */ - provider_slug?: string; - /** @description The day the transfer was made */ - date?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Requery Dedicated Account - * @description Requery Dedicated Virtual Account for new transactions - */ - get: operations["dedicatedAccount_requery"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dedicated_account/split": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Split Dedicated Account Transaction - * @description Split a dedicated virtual account transaction with one or more accounts - */ - post: operations["dedicatedAccount_addSplit"]; - /** - * Remove Split from Dedicated Account - * @description If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint - */ - delete: operations["dedicatedAccount_removeSplit"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dedicated_account/available_providers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Bank Providers - * @description Get available bank providers for a dedicated virtual account - */ - get: operations["dedicatedAccount_availableProviders"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/apple-pay/domain": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Domains - * @description Lists all registered domains on your integration. Returns an empty array if no domains have been added. - */ - get: operations["applePay_listDomain"]; - put?: never; - /** - * Register Domain - * @description Register a top-level domain or subdomain for your Apple Pay integration. - * - * > This endpoint can only be called with one domain or subdomain at a time. - */ - post: operations["applePay_registerDomain"]; - /** - * Unregister Domain - * @description Unregister a top-level domain or subdomain previously used for your Apple - * Pay integration. - */ - delete: operations["applePay_unregisterDomain"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/capitec-pay/requery/{ref}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Requery Transaction - * @description Check the status of a charge made with Capitec Pay. This endpoint should be used from your frontend application as it requires the use of your public key for request authorization. - */ - post: operations["capitecPay_requery"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/preauthorization/initialize": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Initialize Preauthorization - * @description Initialize a preauthorization transaction for a new customer - */ - post: operations["preauthorization_initialize"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/preauthorization/capture": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Capture Preauthorization - * @description Charge a preauthorized transaction upon service delivery - */ - post: operations["preauthorization_capture"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/preauthorization/reserve_authorization": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Reserve Preauthorization - * @description Hold an amount using an existing customer's authorization that's marked reusable. - */ - post: operations["preauthorization_reserve_authorization"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/preauthorization/verify/{reference}": { - parameters: { - query?: never; - header?: never; - path: { - /** @description The transaction reference used to intiate the transaction */ - reference: string; - }; - cookie?: never; - }; - /** - * Verify Preauthorization - * @description Fetch and confirm the status of a preauthorized transaction. - */ - get: operations["preauthorization_verify"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/preauthorization/release": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Release Preauthorization - * @description For when a customer cancels an order or you want to release the hold from their card. - */ - post: operations["preauthorization_release"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/preauthorization": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Preauthorizations - * @description List preauthorizations carried out on your integration - */ - get: operations["preauthorization_list"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/plan": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Plans - * @description List all recurring payment plans - */ - get: operations["plan_list"]; - put?: never; - /** - * Create Plan - * @description Create a plan for recurring payments - */ - post: operations["plan_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/plan/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The plan ID or code you want to fetch - * @example PLN_gx2wn530m0i3w3m - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Plan - * @description Get the details of a payment plan - */ - get: operations["plan_fetch"]; - /** - * Update Plan - * @description Update a plan details on your integration - */ - put: operations["plan_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subscription": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Subscriptions - * @description List all subscriptions available on your integration - */ - get: operations["subscription_list"]; - put?: never; - /** - * Create Subscription - * @description Create a subscription a customer - */ - post: operations["subscription_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subscription/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The subscription ID or code you want to fetch - * @example SUB_5co81xgmwg78x3d - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Subscription - * @description Get details of a customer's subscription - */ - get: operations["subscription_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subscription/disable": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Disable Subscription - * @description Disable a subscription on your integration - */ - post: operations["subscription_disable"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subscription/enable": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Enable Subscription - * @description Enable a subscription on your integration - */ - post: operations["subscription_enable"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subscription/{code}/manage/link": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Generate Update Subscription Link - * @description Generate a link for updating the card on a subscription - */ - get: operations["subscription_manageLink"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/subscription/{code}/manage/email": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Send Update Subscription Link - * @description Email a customer a link for updating the card on their subscription - */ - post: operations["subscription_manageEmail"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transferrecipient": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Transfer Recipients - * @description List transfer recipients available on your integration - */ - get: operations["transferrecipient_list"]; - put?: never; - /** - * Create Transfer Recipient - * @description Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. - */ - post: operations["transferrecipient_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transferrecipient/bulk": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Bulk Create Transfer Recipient - * @description Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. - */ - post: operations["transferrecipient_bulk"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transferrecipient/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An ID or code for the recipient whose details you want to receive. - * @example RCP_5ap8rcimmcj8lbi - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Transfer recipient - * @description Fetch the details of a transfer recipient - */ - get: operations["transferrecipient_fetch"]; - /** - * Update Transfer Recipient - * @description Update the details of a transfer recipient - */ - put: operations["transferrecipient_update"]; - post?: never; - /** - * Delete Transfer Recipient - * @description Delete a transfer recipient (sets the transfer recipient to inactive) - */ - delete: operations["transferrecipient_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Transfers - * @description List the transfers made on your integration - */ - get: operations["transfer_list"]; - put?: never; - /** - * Initiate Transfer - * @description Send money to your customers - */ - post: operations["transfer_initiate"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/finalize_transfer": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Finalize Transfer - * @description Finalize an initiated transfer - */ - post: operations["transfer_finalize"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/bulk": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Initiate Bulk Transfer - * @description Batch multiple transfers in a single request. - * - * You need to disable the Transfers OTP requirement to use this endpoint. - */ - post: operations["transfer_bulk"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The transfer ID or code you want to fetch - * @example TRF_1ptvuv321ahaa7q - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Transfer - * @description Get details of a transfer on your integration - */ - get: operations["transfer_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/verify/{reference}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Verify Transfer - * @description Verify the status of a transfer on your integration - */ - get: operations["transfer_verify"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/export": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Export Transfers - * @description Export a list of transfers carried out on your integration - */ - get: operations["transfer_exportTransfer"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/resend_otp": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Resend OTP for Transfer - * @description Generates and send a new OTP to customer in the event they are having trouble receiving one. - */ - post: operations["transfer_resendOtp"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/disable_otp": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Disable OTP for Transfers - * @description This is used in the event that you want to be able to complete transfers programmatically without use of OTPs. - * No arguments required. You will get an OTP to complete the request. - */ - post: operations["transfer_disableOtp"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/disable_otp_finalize": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Finalize Disabling OTP for Transfers - * @description Finalize the request to disable OTP on your transfers - */ - post: operations["transfer_disableOtpFinalize"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/transfer/enable_otp": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Enable OTP requirement for Transfers - * @description In the event that a customer wants to stop being able to complete transfers programmatically, this endpoint helps turn OTP requirement back on. - * No arguments required. - */ - post: operations["transfer_enableOtp"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/balance": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Balance - * @description Fetch the available balance on your integration - */ - get: operations["balance_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/balance/ledger": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Balance Ledger - * @description Fetch all pay-ins and pay-outs that occured on your integration - */ - get: operations["balance_ledger"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Payment Request - * @description List all previously created payment requests to your customers - */ - get: operations["paymentRequest_list"]; - put?: never; - /** - * Create Payment Request - * @description Create a new payment request by issuing an invoice to a customer - */ - post: operations["paymentRequest_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest/{id_or_code}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The payment request ID or code you want to fetch - * @example 18823736 - */ - id_or_code: string; - }; - cookie?: never; - }; - /** - * Fetch Payment Request - * @description Fetch a previously created payment request - */ - get: operations["paymentRequest_fetch"]; - /** - * Update Payment Request - * @description Update a previously created payment request - */ - put: operations["paymentRequest_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest/verify/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a previously created payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - /** - * Verify Payment Request - * @description Verify the status of a previously created payment request - */ - get: operations["paymentRequest_verify"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest/notify/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a previously created payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Send Notification - * @description Trigger an email reminder to a customer for a previously created payment request - */ - post: operations["paymentRequest_notify"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest/totals": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Payment Request Total - * @description Get the metric of all pending and successful payment requests - */ - get: operations["paymentRequest_totals"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest/finalize/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a draft payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Finalize Payment Request - * @description Finalise the creation of a draft payment request for a customer - */ - post: operations["paymentRequest_finalize"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/paymentrequest/archive/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a previously created payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Archive Payment Request - * @description Archive a payment request to clean up your records. An archived payment request cannot be verified and will not - * be returned when listing all previously created payment requests. - */ - post: operations["paymentRequest_archive"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/product": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Products - * @description List all previously created products - */ - get: operations["product_list"]; - put?: never; - /** - * Create Product - * @description Create a new product on your integration - */ - post: operations["product_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/product/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the product - * @example 2196244 - */ - id: number; - }; - cookie?: never; - }; - /** - * Fetch Product - * @description Fetch a previously created product - */ - get: operations["product_fetch"]; - /** - * Update product - * @description Update a previously created product - */ - put: operations["product_update"]; - post?: never; - /** - * Delete Product - * @description Delete a previously created product - */ - delete: operations["product_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Storefronts - * @description List the storefronts you previously created - */ - get: operations["storefront_list"]; - put?: never; - /** - * Create Storefront - * @description Create a digital shop to manage and display your products - */ - post: operations["storefront_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - /** - * Fetch Storefront - * @description Get the details of a previously created Storefront - */ - get: operations["storefront_fetch"]; - /** - * Update Storefront - * @description Update the details of a previously created Storefront - */ - put: operations["storefront_update"]; - post?: never; - /** - * Delete Storefront - * @description Delete a previously created Storefront - */ - delete: operations["storefront_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront/verify/{slug}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The custom slug to check - * @example struct_and_faces - */ - slug: string; - }; - cookie?: never; - }; - /** - * Verify Storefront Slug - * @description Verify the availability of a slug before using it for your Storefront - */ - get: operations["storefront_verifySlug"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront/{id}/order": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Storefront Orders - * @description Fetch all orders in your Storefront - */ - get: operations["storefront_fetchOrders"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront/{id}/product": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - /** - * List Storefront Products - * @description List the products in a Storefront - */ - get: operations["storefront_listProducts"]; - put?: never; - /** - * Add Products to Storefront - * @description Add previously created products to a Storefront - */ - post: operations["storefront_addProducts"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront/{id}/publish": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Publish Storefront - * @description Make your Storefront publicly available - */ - post: operations["storefront_publish"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/storefront/{id}/duplicate": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Duplicate Storefront - * @description Duplicate a previously created Storefront - */ - post: operations["storefront_duplicate"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/order": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Orders - * @description List the previously created orders - */ - get: operations["order_list"]; - put?: never; - /** - * Create Order - * @description Create an order for selected items - */ - post: operations["order_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/order/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the order - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - /** - * Fetch Order - * @description Fetch the details of a previously created order - */ - get: operations["order_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/order/product/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the order - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - /** - * Fetch Product Orders - * @description Fetch all orders for a particular product - */ - get: operations["order_product"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/order/{code}/validate": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique code of a previously created order - * @example ORD_6z0lqwpmxrm7dsp - */ - code: string; - }; - cookie?: never; - }; - /** - * Validate Order - * @description Validate a pay for me order - */ - get: operations["order_validate"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/page": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Pages - * @description List all previously created payment pages - */ - get: operations["page_list"]; - put?: never; - /** - * Create Page - * @description Create a webpage to receive payments - */ - post: operations["page_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/page/{id_or_slug}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The page ID or slug you want to fetch - * @example 1891222 - */ - id_or_slug: string; - }; - cookie?: never; - }; - /** - * Fetch Page - * @description Get a previously created payment page - */ - get: operations["page_fetch"]; - /** - * Update Page - * @description Update a previously created payment page - */ - put: operations["page_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/page/check_slug_availability/{slug}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The custom slug to check - * @example risky-burger - */ - slug: string; - }; - cookie?: never; - }; - /** - * Check Slug Availability - * @description Check if a custom slug is available for use when creating a payment page - */ - get: operations["page_checkSlugAvailability"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/page/{id}/product": { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Add Products - * @description Add products to a previously created payment page. You can only add products to pages - * that was created with a `product` type. - */ - post: operations["page_addProducts"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/settlement": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Settlements - * @description List settlements made to your settlement accounts - */ - get: operations["settlements_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/settlement/{id}/transactions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Settlement Transactions - * @description Get the transactions that make up a particular settlement - */ - get: operations["settlements_transaction"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/integration/payment_session_timeout": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Payment Session Timeout - * @description Fetch the session timeout of a transaction - */ - get: operations["integration_fetchPaymentSessionTimeout"]; - /** - * Update Payment Session Timeout - * @description Update the session timeout of a transaction - */ - put: operations["integration_updatePaymentSessionTimeout"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/refund": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Refunds - * @description List previously created refunds - */ - get: operations["refund_list"]; - put?: never; - /** - * Create Refund - * @description Initiate a refund for a previously completed transaction - */ - post: operations["refund_create"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/refund/retry_with_customer_details/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Retry Refund - * @description Retry a refund with a `needs-attention` status by providing the bank account details of a customer. - */ - post: operations["refund_retry"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/refund/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Refund - * @description Get a previously created refund - */ - get: operations["refund_fetch"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Disputes - * @description List transaction disputes filed by customers - */ - get: operations["dispute_list"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute/{id}": { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the dispute - * @example 1801929 - */ - id: number; - }; - cookie?: never; - }; - /** - * Fetch Dispute - * @description Fetch a transaction dispute - */ - get: operations["dispute_fetch"]; - /** - * Update Dispute - * @description Update a transaction dispute - */ - put: operations["dispute_update"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute/{id}/upload_url": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Upload URL - * @description Get the URL to upload a dispute evidence - */ - get: operations["dispute_uploadUrl"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute/export": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Export Disputes - * @description Export the disputes available on your integration - */ - get: operations["dispute_download"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute/transaction/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Transaction Disputes - * @description List all disputes filed for a transaction - */ - get: operations["dispute_transaction"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute/{id}/resolve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Resolve Dispute - * @description Resolve a transaction dispute - */ - put: operations["dispute_resolve"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/dispute/{id}/evidence": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Add Evidence - * @description Provide evidence for a dispute - */ - post: operations["dispute_evidence"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bank": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Banks - * @description Get a list of all supported banks and their properties - */ - get: operations["bank_list"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bank/resolve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Resolve Account Number - * @description Resolve an account number to confirm the name associated with it - */ - get: operations["bank_resolveAccountNumber"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/bank/validate": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Validate Bank Account - * @description Confirm the authenticity of a customer's account number before sending money - */ - post: operations["bank_validateAccountNumber"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/decision/bin/{bin}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Resolve Card BIN - * @description Get the details of a card BIN - */ - get: operations["miscellaneous_resolveCardBin"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/country": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Countries - * @description List all supported countries on Paystack - */ - get: operations["miscellaneous_listCountries"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/address_verification/states": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List States (AVS) - * @description Get a list of states for a country for address verification - */ - get: operations["miscellaneous_avs"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/___internal___": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Internal path for schema generation - * @description This path is internal and used to ensure that schemas like WebhookEvent are considered 'used' for SDK generation and linting. - */ - get: operations["misc_generateWebhookEventTypes"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; + "/transaction/initialize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Initialize Transaction + * @description Create a new transaction + */ + post: operations["transaction_initialize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/charge_authorization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Charge Authorization + * @description Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments + */ + post: operations["transaction_chargeAuthorization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/partial_debit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Partial Debit + * @description Retrieve part of a payment from a customer + */ + post: operations["transaction_partialDebit"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/check_authorization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Check Authorization + * @description Check if an authorization code can be used for a charge. + */ + post: operations["transaction_checkAuthorization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/verify/{reference}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Verify Transaction + * @description Verify a previously initiated transaction using it's reference + */ + get: operations["transaction_verify"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Transactions + * @description List transactions carried out on your integration + */ + get: operations["transaction_list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Transaction + * @description Fetch a transaction to get its details + */ + get: operations["transaction_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/{id}/event": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Transaction Event + * @description Fetch the event for a specific transaction. + */ + get: operations["transaction_event"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/{id}/session": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Transaction Session + * @description Fetch the session for a specific transaction. + */ + get: operations["transaction_session"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/timeline/{id_or_reference}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Transaction Timeline + * @description Fetch the steps taken from the initiation to the completion of a transaction + */ + get: operations["transaction_timeline"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/totals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Transaction Totals + * @description Get the total amount of all transactions + */ + get: operations["transaction_totals"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transaction/export": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export Transactions + * @description Download transactions that occurred on your integration for a specific timeframe + */ + get: operations["transaction_export"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Create Charge + * @description Initiate a payment by integrating the payment channel of your choice. + */ + post: operations["charge_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge/submit_pin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit PIN + * @description Submit PIN to continue a charge + */ + post: operations["charge_submitPin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge/submit_otp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit OTP + * @description Submit OTP to complete a charge + */ + post: operations["charge_submitOtp"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge/submit_phone": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit Phone + * @description Submit phone number when requested + */ + post: operations["charge_submitPhone"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge/submit_birthday": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit Birthday + * @description Submit the customer's birthday when requested + */ + post: operations["charge_submitBirthday"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge/submit_address": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Submit Address + * @description Send the details of the customer's address for address verification + */ + post: operations["charge_submitAddress"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/charge/{reference}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check pending charge + * @description When you get `pending` as a charge status or if there was an exception when calling any of the `/charge` endpoints, wait 10 seconds or more, then make a check to see if its status has changed. Don't call too early as you may get a lot more pending than you should. + */ + get: operations["charge_check"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bulkcharge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Bulk Charge Batches + * @description List all bulk charge batches. + */ + get: operations["bulkCharge_list"]; + put?: never; + /** + * Initiate Bulk Charge + * @description Charge multiple customers in batches + */ + post: operations["bulkCharge_initiate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bulkcharge/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An ID or code for the charge whose batches you want to retrieve. + * @example BCH_180tl7oq7cayggh + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Bulk Charge Batch + * @description This endpoint retrieves a specific batch code. It also returns useful information on its progress by + * way of the `total_charges` and `pending_charges` attributes. + */ + get: operations["bulkCharge_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bulkcharge/{id_or_code}/charges": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Charges in a Batch + * @description This endpoint retrieves the charges associated with a specified batch code + */ + get: operations["bulkCharge_charges"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bulkcharge/pause/{code}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Pause Bulk Charge Batch + * @description Pause the processing of a charge batch + */ + get: operations["bulkCharge_pause"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bulkcharge/resume/{code}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Resume Bulk Charge Batch + * @description Resume the processing of a previously paused charge batch + */ + get: operations["bulkCharge_resume"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subaccount": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Subaccounts + * @description List subaccounts available on your integration + */ + get: operations["subaccount_list"]; + put?: never; + /** + * Create Subaccount + * @description Create a subacount for a partner + */ + post: operations["subaccount_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subaccount/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The subaccount ID or code you want to fetch + * @example ACCT_6uujpqtzmnufzkw + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Subaccount + * @description Get details of a subaccount on your integration + */ + get: operations["subaccount_fetch"]; + /** + * Update Subaccount + * @description Update a subaccount details on your integration + */ + put: operations["subaccount_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/split": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Splits + * @description List the transaction splits available on your integration + */ + get: operations["split_list"]; + put?: never; + /** + * Create Split + * @description Create a split configuration for transactions + */ + post: operations["split_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/split/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Split + * @description Get details of a split configuration for a transaction + */ + get: operations["split_fetch"]; + /** + * Update Split + * @description Update a split configuration for transactions + */ + put: operations["split_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/split/{id}/subaccount/add": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add Subaccount to Split + * @description Add a subaccount to a split configuration, or update the share of an existing subaccount + */ + post: operations["split_addSubaccount"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/split/{id}/subaccount/remove": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Remove Subaccount from split + * @description Remove a subaccount from a split configuration + */ + post: operations["split_removeSubaccount"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal/{id}/event": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Send Event + * @description Send an event from your application to the Paystack Terminal + */ + post: operations["terminal_sendEvent"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal/{terminal_id}/event/{event_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Event Status + * @description Check the status of an event sent to the Terminal + */ + get: operations["terminal_fetchEventStatus"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal/{terminal_id}/presence": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Terminal Status + * @description Check the availiability of a Terminal before sending an event to it + */ + get: operations["terminal_fetchTerminalStatus"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Terminals + * @description List the Terminals available on your integration + */ + get: operations["terminal_list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal/{terminal_id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the Terminal the event should be sent to. + * @example Z0R4orOU + */ + terminal_id: string; + }; + cookie?: never; + }; + /** + * Fetch Terminal + * @description Get the details of a Terminal + */ + get: operations["terminal_fetch"]; + /** + * Update Terminal + * @description Update the details of a Terminal + */ + put: operations["terminal_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal/commission_device": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Commission Terminal + * @description Activate your debug device by linking it to your integration + */ + post: operations["terminal_commission"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/terminal/decommission_device": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Decommission Terminal + * @description Unlink your debug device from your integration + */ + post: operations["terminal_decommission"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/virtual_terminal": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Virtual Terminals + * @description List Virtual Terminals on your integration + */ + get: operations["virtualTerminal_list"]; + put?: never; + /** + * Create Virtual Terminal + * @description Create a Virtual Terminal on your integration + */ + post: operations["virtualTerminal_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/virtual_terminal/{code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + /** + * Fetch Virtual Terminal + * @description Fetch a Virtual Terminal on your integration + */ + get: operations["virtualTerminal_fetch"]; + /** + * Update Virtual Terminal + * @description Update a Virtual Terminal on your integration + */ + put: operations["virtualTerminal_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/virtual_terminal/{code}/deactivate": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + get?: never; + /** + * Deactivate Virtual Terminal + * @description Deactivate a Virtual Terminal on your integration + */ + put: operations["virtualTerminal_deactivate"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/virtual_terminal/{code}/destination/assign": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Assign Destination to Virtual Terminal + * @description Add a destination (WhatsApp number) to a Virtual Terminal on your integration + */ + post: operations["virtualTerminal_destinationAssign"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/virtual_terminal/{code}/destination/unassign": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Unassign Destination from Virtual Terminal + * @description Unassign a destination (WhatsApp Number) from a Virtual Terminal on your integration + */ + post: operations["virtualTerminal_destinationUnassign"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/virtual_terminal/{code}/split_code": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + get?: never; + /** + * Add Split Code to Virtual Terminal + * @description Add Split Code to Virtual Terminal + */ + put: operations["virtualTerminal_addSplitCode"]; + post?: never; + /** + * Remove Split Code from Virtual Terminal + * @description Remove Split Code from Virtual Terminal + */ + delete: operations["virtualTerminal_deleteSplitCode"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Customers + * @description List customers available on your integration + */ + get: operations["customer_list"]; + put?: never; + /** + * Create Customer + * @description Create a customer on your integration + */ + post: operations["customer_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/{email_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An email or customer code for the customer you want to fetch + * @example CUS_c6wqvwmvwopw4ms + */ + email_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Customer + * @description Get details of a customer on your integration. + */ + get: operations["customer_fetch"]; + /** + * Update Customer + * @description Update a customer's details on your integration + */ + put: operations["customer_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/set_risk_action": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Set Risk Action + * @description Set customer's risk action by whitelisting or blacklisting the customer + */ + post: operations["customer_riskAction"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/{customer_code}/identification": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Customer code + * @example CUS_c6wqvwmvwopw4ms + */ + customer_code: string; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Validate Customer + * @description Validate a customer's identity + */ + post: operations["customer_validate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/authorization/initialize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Initialize Authorization + * @description Initiate a request to create a reusable authorization code for recurring transactions + */ + post: operations["customer_initializeAuthorization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/authorization/verify/{reference}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Verify Authorization + * @description Check the status of an authorization request + */ + get: operations["customer_verifyAuthorization"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/authorization/deactivate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Deactivate Authorization + * @description Deactivate an authorization for any payment channel. + */ + post: operations["customer_deactivateAuthorization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/{id}/initialize-direct-debit": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the customer to initialize the direct debit for + * @example 297346561 + */ + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Initialize Direct Debit + * @description Initialize the process of linking an account to a customer for Direct Debit transactions + */ + post: operations["customer_initializeDirectDebit"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/{id}/directdebit-activation-charge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Direct Debit Activation Charge + * @description Trigger an activation charge on an inactive mandate on behalf of your customer + */ + put: operations["customer_directDebitActivationCharge"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/customer/{id}/directdebit-mandate-authorizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Mandate Authorizations + * @description Get the list of direct debit mandates associated with a customer + */ + get: operations["customer_fetchMandateAuthorizations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/directdebit/activation-charge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Trigger Activation Charge + * @description Trigger activation charge for specified customers + */ + put: operations["directdebit_triggerActivationCharge"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/directdebit/mandate-authorizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Mandate Authorizations + * @description Get a list of all the direct debit mandates on your integration + */ + get: operations["directdebit_listMandateAuthorizations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dedicated_account": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dedicated Accounts + * @description List dedicated virtual accounts available on your integration. + */ + get: operations["dedicatedAccount_list"]; + put?: never; + /** + * Create Dedicated Account + * @description Create a dedicated virtual account for an existing customer + */ + post: operations["dedicatedAccount_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dedicated_account/assign": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Assign Dedicated Account + * @description With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. + */ + post: operations["dedicatedAccount_assign"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dedicated_account/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of dedicated virtual account */ + id: string; + }; + cookie?: never; + }; + /** + * Fetch Dedicated Account + * @description Get details of a dedicated virtual account on your integration. + */ + get: operations["dedicatedAccount_fetch"]; + put?: never; + post?: never; + /** + * Deactivate Dedicated Account + * @description Deactivate a dedicated virtual account on your integration. + */ + delete: operations["dedicatedAccount_deactivate"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dedicated_account/requery": { + parameters: { + query?: { + /** + * @description Virtual account number to requery + * @example 0033322211 + */ + account_number?: string; + /** + * @description The bank's slug in lowercase, without spaces. + * @example titan-paystack + */ + provider_slug?: string; + /** @description The day the transfer was made */ + date?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Requery Dedicated Account + * @description Requery Dedicated Virtual Account for new transactions + */ + get: operations["dedicatedAccount_requery"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dedicated_account/split": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Split Dedicated Account Transaction + * @description Split a dedicated virtual account transaction with one or more accounts + */ + post: operations["dedicatedAccount_addSplit"]; + /** + * Remove Split from Dedicated Account + * @description If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint + */ + delete: operations["dedicatedAccount_removeSplit"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dedicated_account/available_providers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Bank Providers + * @description Get available bank providers for a dedicated virtual account + */ + get: operations["dedicatedAccount_availableProviders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/apple-pay/domain": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Domains + * @description Lists all registered domains on your integration. Returns an empty array if no domains have been added. + */ + get: operations["applePay_listDomain"]; + put?: never; + /** + * Register Domain + * @description Register a top-level domain or subdomain for your Apple Pay integration. + * + * > This endpoint can only be called with one domain or subdomain at a time. + */ + post: operations["applePay_registerDomain"]; + /** + * Unregister Domain + * @description Unregister a top-level domain or subdomain previously used for your Apple + * Pay integration. + */ + delete: operations["applePay_unregisterDomain"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/capitec-pay/requery/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Requery Transaction + * @description Check the status of a charge made with Capitec Pay. This endpoint should be used from your frontend application as it requires the use of your public key for request authorization. + */ + post: operations["capitecPay_requery"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/preauthorization/initialize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Initialize Preauthorization + * @description Initialize a preauthorization transaction for a new customer + */ + post: operations["preauthorization_initialize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/preauthorization/capture": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Capture Preauthorization + * @description Charge a preauthorized transaction upon service delivery + */ + post: operations["preauthorization_capture"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/preauthorization/reserve_authorization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Reserve Preauthorization + * @description Hold an amount using an existing customer's authorization that's marked reusable. + */ + post: operations["preauthorization_reserve_authorization"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/preauthorization/verify/{reference}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The transaction reference used to intiate the transaction */ + reference: string; + }; + cookie?: never; + }; + /** + * Verify Preauthorization + * @description Fetch and confirm the status of a preauthorized transaction. + */ + get: operations["preauthorization_verify"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/preauthorization/release": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Release Preauthorization + * @description For when a customer cancels an order or you want to release the hold from their card. + */ + post: operations["preauthorization_release"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/preauthorization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Preauthorizations + * @description List preauthorizations carried out on your integration + */ + get: operations["preauthorization_list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/plan": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Plans + * @description List all recurring payment plans + */ + get: operations["plan_list"]; + put?: never; + /** + * Create Plan + * @description Create a plan for recurring payments + */ + post: operations["plan_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/plan/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The plan ID or code you want to fetch + * @example PLN_gx2wn530m0i3w3m + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Plan + * @description Get the details of a payment plan + */ + get: operations["plan_fetch"]; + /** + * Update Plan + * @description Update a plan details on your integration + */ + put: operations["plan_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Subscriptions + * @description List all subscriptions available on your integration + */ + get: operations["subscription_list"]; + put?: never; + /** + * Create Subscription + * @description Create a subscription a customer + */ + post: operations["subscription_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subscription/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The subscription ID or code you want to fetch + * @example SUB_5co81xgmwg78x3d + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Subscription + * @description Get details of a customer's subscription + */ + get: operations["subscription_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subscription/disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Disable Subscription + * @description Disable a subscription on your integration + */ + post: operations["subscription_disable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subscription/enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Enable Subscription + * @description Enable a subscription on your integration + */ + post: operations["subscription_enable"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subscription/{code}/manage/link": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Generate Update Subscription Link + * @description Generate a link for updating the card on a subscription + */ + get: operations["subscription_manageLink"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/subscription/{code}/manage/email": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Send Update Subscription Link + * @description Email a customer a link for updating the card on their subscription + */ + post: operations["subscription_manageEmail"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transferrecipient": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Transfer Recipients + * @description List transfer recipients available on your integration + */ + get: operations["transferrecipient_list"]; + put?: never; + /** + * Create Transfer Recipient + * @description Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. + */ + post: operations["transferrecipient_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transferrecipient/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Bulk Create Transfer Recipient + * @description Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. + */ + post: operations["transferrecipient_bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transferrecipient/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An ID or code for the recipient whose details you want to receive. + * @example RCP_5ap8rcimmcj8lbi + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Transfer recipient + * @description Fetch the details of a transfer recipient + */ + get: operations["transferrecipient_fetch"]; + /** + * Update Transfer Recipient + * @description Update the details of a transfer recipient + */ + put: operations["transferrecipient_update"]; + post?: never; + /** + * Delete Transfer Recipient + * @description Delete a transfer recipient (sets the transfer recipient to inactive) + */ + delete: operations["transferrecipient_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Transfers + * @description List the transfers made on your integration + */ + get: operations["transfer_list"]; + put?: never; + /** + * Initiate Transfer + * @description Send money to your customers + */ + post: operations["transfer_initiate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/finalize_transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Finalize Transfer + * @description Finalize an initiated transfer + */ + post: operations["transfer_finalize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/bulk": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Initiate Bulk Transfer + * @description Batch multiple transfers in a single request. + * + * You need to disable the Transfers OTP requirement to use this endpoint. + */ + post: operations["transfer_bulk"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The transfer ID or code you want to fetch + * @example TRF_1ptvuv321ahaa7q + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Transfer + * @description Get details of a transfer on your integration + */ + get: operations["transfer_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/verify/{reference}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Verify Transfer + * @description Verify the status of a transfer on your integration + */ + get: operations["transfer_verify"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/export": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export Transfers + * @description Export a list of transfers carried out on your integration + */ + get: operations["transfer_exportTransfer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/resend_otp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Resend OTP for Transfer + * @description Generates and send a new OTP to customer in the event they are having trouble receiving one. + */ + post: operations["transfer_resendOtp"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/disable_otp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Disable OTP for Transfers + * @description This is used in the event that you want to be able to complete transfers programmatically without use of OTPs. + * No arguments required. You will get an OTP to complete the request. + */ + post: operations["transfer_disableOtp"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/disable_otp_finalize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Finalize Disabling OTP for Transfers + * @description Finalize the request to disable OTP on your transfers + */ + post: operations["transfer_disableOtpFinalize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/transfer/enable_otp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Enable OTP requirement for Transfers + * @description In the event that a customer wants to stop being able to complete transfers programmatically, this endpoint helps turn OTP requirement back on. + * No arguments required. + */ + post: operations["transfer_enableOtp"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Balance + * @description Fetch the available balance on your integration + */ + get: operations["balance_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/balance/ledger": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Balance Ledger + * @description Fetch all pay-ins and pay-outs that occured on your integration + */ + get: operations["balance_ledger"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Payment Request + * @description List all previously created payment requests to your customers + */ + get: operations["paymentRequest_list"]; + put?: never; + /** + * Create Payment Request + * @description Create a new payment request by issuing an invoice to a customer + */ + post: operations["paymentRequest_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest/{id_or_code}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The payment request ID or code you want to fetch + * @example 18823736 + */ + id_or_code: string; + }; + cookie?: never; + }; + /** + * Fetch Payment Request + * @description Fetch a previously created payment request + */ + get: operations["paymentRequest_fetch"]; + /** + * Update Payment Request + * @description Update a previously created payment request + */ + put: operations["paymentRequest_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest/verify/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a previously created payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + /** + * Verify Payment Request + * @description Verify the status of a previously created payment request + */ + get: operations["paymentRequest_verify"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest/notify/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a previously created payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Send Notification + * @description Trigger an email reminder to a customer for a previously created payment request + */ + post: operations["paymentRequest_notify"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest/totals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Payment Request Total + * @description Get the metric of all pending and successful payment requests + */ + get: operations["paymentRequest_totals"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest/finalize/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a draft payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Finalize Payment Request + * @description Finalise the creation of a draft payment request for a customer + */ + post: operations["paymentRequest_finalize"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/paymentrequest/archive/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a previously created payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Archive Payment Request + * @description Archive a payment request to clean up your records. An archived payment request cannot be verified and will not + * be returned when listing all previously created payment requests. + */ + post: operations["paymentRequest_archive"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/product": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Products + * @description List all previously created products + */ + get: operations["product_list"]; + put?: never; + /** + * Create Product + * @description Create a new product on your integration + */ + post: operations["product_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/product/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the product + * @example 2196244 + */ + id: number; + }; + cookie?: never; + }; + /** + * Fetch Product + * @description Fetch a previously created product + */ + get: operations["product_fetch"]; + /** + * Update product + * @description Update a previously created product + */ + put: operations["product_update"]; + post?: never; + /** + * Delete Product + * @description Delete a previously created product + */ + delete: operations["product_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Storefronts + * @description List the storefronts you previously created + */ + get: operations["storefront_list"]; + put?: never; + /** + * Create Storefront + * @description Create a digital shop to manage and display your products + */ + post: operations["storefront_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + /** + * Fetch Storefront + * @description Get the details of a previously created Storefront + */ + get: operations["storefront_fetch"]; + /** + * Update Storefront + * @description Update the details of a previously created Storefront + */ + put: operations["storefront_update"]; + post?: never; + /** + * Delete Storefront + * @description Delete a previously created Storefront + */ + delete: operations["storefront_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront/verify/{slug}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The custom slug to check + * @example struct_and_faces + */ + slug: string; + }; + cookie?: never; + }; + /** + * Verify Storefront Slug + * @description Verify the availability of a slug before using it for your Storefront + */ + get: operations["storefront_verifySlug"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront/{id}/order": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Storefront Orders + * @description Fetch all orders in your Storefront + */ + get: operations["storefront_fetchOrders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront/{id}/product": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + /** + * List Storefront Products + * @description List the products in a Storefront + */ + get: operations["storefront_listProducts"]; + put?: never; + /** + * Add Products to Storefront + * @description Add previously created products to a Storefront + */ + post: operations["storefront_addProducts"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront/{id}/publish": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Publish Storefront + * @description Make your Storefront publicly available + */ + post: operations["storefront_publish"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/storefront/{id}/duplicate": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Duplicate Storefront + * @description Duplicate a previously created Storefront + */ + post: operations["storefront_duplicate"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/order": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Orders + * @description List the previously created orders + */ + get: operations["order_list"]; + put?: never; + /** + * Create Order + * @description Create an order for selected items + */ + post: operations["order_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/order/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the order + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + /** + * Fetch Order + * @description Fetch the details of a previously created order + */ + get: operations["order_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/order/product/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the order + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + /** + * Fetch Product Orders + * @description Fetch all orders for a particular product + */ + get: operations["order_product"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/order/{code}/validate": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique code of a previously created order + * @example ORD_6z0lqwpmxrm7dsp + */ + code: string; + }; + cookie?: never; + }; + /** + * Validate Order + * @description Validate a pay for me order + */ + get: operations["order_validate"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/page": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Pages + * @description List all previously created payment pages + */ + get: operations["page_list"]; + put?: never; + /** + * Create Page + * @description Create a webpage to receive payments + */ + post: operations["page_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/page/{id_or_slug}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The page ID or slug you want to fetch + * @example 1891222 + */ + id_or_slug: string; + }; + cookie?: never; + }; + /** + * Fetch Page + * @description Get a previously created payment page + */ + get: operations["page_fetch"]; + /** + * Update Page + * @description Update a previously created payment page + */ + put: operations["page_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/page/check_slug_availability/{slug}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The custom slug to check + * @example risky-burger + */ + slug: string; + }; + cookie?: never; + }; + /** + * Check Slug Availability + * @description Check if a custom slug is available for use when creating a payment page + */ + get: operations["page_checkSlugAvailability"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/page/{id}/product": { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add Products + * @description Add products to a previously created payment page. You can only add products to pages + * that was created with a `product` type. + */ + post: operations["page_addProducts"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/settlement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Settlements + * @description List settlements made to your settlement accounts + */ + get: operations["settlements_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/settlement/{id}/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Settlement Transactions + * @description Get the transactions that make up a particular settlement + */ + get: operations["settlements_transaction"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/integration/payment_session_timeout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Payment Session Timeout + * @description Fetch the session timeout of a transaction + */ + get: operations["integration_fetchPaymentSessionTimeout"]; + /** + * Update Payment Session Timeout + * @description Update the session timeout of a transaction + */ + put: operations["integration_updatePaymentSessionTimeout"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/refund": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Refunds + * @description List previously created refunds + */ + get: operations["refund_list"]; + put?: never; + /** + * Create Refund + * @description Initiate a refund for a previously completed transaction + */ + post: operations["refund_create"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/refund/retry_with_customer_details/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Retry Refund + * @description Retry a refund with a `needs-attention` status by providing the bank account details of a customer. + */ + post: operations["refund_retry"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/refund/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Refund + * @description Get a previously created refund + */ + get: operations["refund_fetch"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Disputes + * @description List transaction disputes filed by customers + */ + get: operations["dispute_list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute/{id}": { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the dispute + * @example 1801929 + */ + id: number; + }; + cookie?: never; + }; + /** + * Fetch Dispute + * @description Fetch a transaction dispute + */ + get: operations["dispute_fetch"]; + /** + * Update Dispute + * @description Update a transaction dispute + */ + put: operations["dispute_update"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute/{id}/upload_url": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Upload URL + * @description Get the URL to upload a dispute evidence + */ + get: operations["dispute_uploadUrl"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute/export": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export Disputes + * @description Export the disputes available on your integration + */ + get: operations["dispute_download"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute/transaction/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Transaction Disputes + * @description List all disputes filed for a transaction + */ + get: operations["dispute_transaction"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute/{id}/resolve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Resolve Dispute + * @description Resolve a transaction dispute + */ + put: operations["dispute_resolve"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/dispute/{id}/evidence": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add Evidence + * @description Provide evidence for a dispute + */ + post: operations["dispute_evidence"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bank": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Banks + * @description Get a list of all supported banks and their properties + */ + get: operations["bank_list"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bank/resolve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Resolve Account Number + * @description Resolve an account number to confirm the name associated with it + */ + get: operations["bank_resolveAccountNumber"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/bank/validate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Validate Bank Account + * @description Confirm the authenticity of a customer's account number before sending money + */ + post: operations["bank_validateAccountNumber"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/decision/bin/{bin}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Resolve Card BIN + * @description Get the details of a card BIN + */ + get: operations["miscellaneous_resolveCardBin"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/country": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Countries + * @description List all supported countries on Paystack + */ + get: operations["miscellaneous_listCountries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/address_verification/states": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List States (AVS) + * @description Get a list of states for a country for address verification + */ + get: operations["miscellaneous_avs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/___internal___": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Internal path for schema generation + * @description This path is internal and used to ensure that schemas like WebhookEvent are considered 'used' for SDK generation and linting. + */ + get: operations["misc_generateWebhookEventTypes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; } export type webhooks = Record; export interface components { - schemas: { - WebhookEvent: { - /** @description The type of event that occurred. */ - event?: string; - /** @description The payload of the event. */ - data?: Record; - } & ( - | { - /** @enum {string} */ - event: "charge.success"; - data: components["schemas"]["data"]; - } - | { - /** @enum {string} */ - event: "transfer.success"; - data: components["schemas"]["data-2"]; - } - | { - /** @enum {string} */ - event: "transfer.failed"; - data: components["schemas"]["data-2"]; - } - | { - /** @enum {string} */ - event: "transfer.reversed"; - data: components["schemas"]["data-2"]; - } - | { - /** @enum {string} */ - event: "subscription.create"; - data: components["schemas"]["data-3"]; - } - | { - /** @enum {string} */ - event: "subscription.disable"; - data: components["schemas"]["data-3"]; - } - | { - /** @enum {string} */ - event: "subscription.not_renew"; - data: components["schemas"]["data-3"]; - } - | { - /** @enum {string} */ - event: "invoice.create"; - data: components["schemas"]["data-4"]; - } - | { - /** @enum {string} */ - event: "invoice.update"; - data: components["schemas"]["data-4"]; - } - | { - /** @enum {string} */ - event: "invoice.failed"; - data: components["schemas"]["data-4"]; - } - | { - /** @enum {string} */ - event: "dedicatedaccount.assign.success"; - data: components["schemas"]["data-5"]; - } - | { - /** @enum {string} */ - event: "dedicatedaccount.assign.failed"; - data: components["schemas"]["data-5"]; - } - | { - /** @enum {string} */ - event: "refund.processed"; - data: components["schemas"]["data-6"]; - } - | { - /** @enum {string} */ - event: "refund.failed"; - data: components["schemas"]["data-6"]; - } - | { - /** @enum {string} */ - event: "charge.dispute.create"; - data: components["schemas"]["data-7"]; - } - | { - /** @enum {string} */ - event: "charge.dispute.resolve"; - data: components["schemas"]["data-7"]; - } - ); - /** - * @description List of all support currencies - * @example GHS - * @enum {string} - */ - Currency: "GHS" | "KES" | "NGN" | "ZAR" | "USD" | "XOF"; - /** - * @example { - * "subaccount": "ACCT_6uujpqtzmnufzkw", - * "share": 50 - * } - */ - SplitSubaccounts: { - /** @description Subaccount code of the customer or partner */ - subaccount?: string; - /** @description The percentage or flat quota of the customer or partner */ - share?: number; - }; - /** - * @description Split configuration for transactions - * @example { - * "name": "Halfsies", - * "type": "percentage", - * "currency": "NGN", - * "subaccounts": [ - * { - * "subaccount": "ACCT_6uujpqtzmnufzkw", - * "share": 50 - * } - * ] - * } - */ - SplitCreate: { - /** @description Name of the transaction split */ - name: string; - /** - * @description The type of transaction split you want to create. - * @enum {string} - */ - type: "percentage" | "flat"; - /** @description A list of object containing subaccount code and number of shares */ - subaccounts: components["schemas"]["SplitSubaccounts"][]; - /** - * @description The transaction currency - * @enum {string} - */ - currency: "NGN" | "GHS" | "ZAR" | "USD" | "XOF"; - /** - * @description This allows you specify how the transaction charge should be processed - * @enum {string} - */ - bearer_type?: "subaccount" | "account" | "all-proportional" | "all"; - /** @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 */ - bearer_subaccount?: string; - }; - /** - * @description Initialize a transaction - * @example { - * "email": "test@demo.com", - * "amount": 10000 - * } - */ - TransactionInitialize: { - /** @description Customer's email address */ - email: string; - /** - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - * - * Minimum amounts: - * - NGN: ₦50.00 (5000 kobo) - * - GHS: ₵0.10 (10 pesewas) - * - ZAR: R1.00 (100 cents) - * - KES: Ksh 3.00 (300 cents) - * - USD: $2.00 (200 cents) - * - XOF: 1.00 (1 XOF) - */ - amount: number | string; - currency?: components["schemas"]["Currency"]; - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference?: string; - /** @description An array of payment channels to control what channels you want to make available to the user to make a payment with */ - channels?: ( - | "apple_pay" - | "bank" - | "bank_transfer" - | "capitec_pay" - | "card" - | "eft" - | "mobile_money" - | "payattitude" - | "qr" - | "ussd" - )[]; - /** @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 */ - callback_url?: string; - /** - * @description If transaction is to create a subscription to a predefined plan, provide plan code here. - * This would invalidate the value provided in amount - */ - plan?: string; - /** @description Number of times to charge customer during subscription to plan */ - invoice_limit?: number; - /** @description The split code of the transaction split */ - split_code?: string; - split?: components["schemas"]["SplitCreate"]; - /** @description The code for the subaccount that owns the payment */ - subaccount?: string; - /** - * @description A flat fee to charge the subaccount for a transaction. - * This overrides the split percentage set when the subaccount was created - */ - transaction_charge?: number; - /** - * @description The bearer of the transaction charge - * @enum {string} - */ - bearer?: "account" | "subaccount"; - /** @description Used to replace the email address shown on the Checkout */ - label?: string; - /** @description JSON object or stringified JSON of custom data */ - metadata?: string | Record | number; - }; - TransactionInitializeResponse: { - status: boolean; - message: string; - data: { - authorization_url: string; - access_code: string; - reference: string; - }; - }; - /** @description Extra diagnostic information to help resolve an error */ - ErrorMeta: { - /** @description A suggested next action to take to resolve the error */ - nextStep?: string; - }; - /** - * @description Error response returned when a transaction is initialized with incorrect parameters - * @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 - * } - */ - TransactionInitializeBadRequestModel: { - /** @description An indicator for the state of the request */ - status?: boolean; - /** @description A short description of the error */ - message?: string; - meta?: components["schemas"]["ErrorMeta"]; - /** - * @description A tag to indicate the type of the error - * @enum {string} - */ - type?: "validation_error" | "processor_error" | "api_error"; - /** @description The error code */ - code?: string; - /** @description An indicator for error mapping for the request */ - errorCodeMappingNotFound?: boolean; - }; - /** @description Standard error response returned when a Paystack API request fails. */ - Error: { - /** @description An indicator for the state of the request */ - status?: boolean; - /** @description A short description of the error */ - message?: string; - meta?: components["schemas"]["ErrorMeta"]; - /** - * @description A category describing the kind of error that occurred - * @enum {string} - */ - type?: "api_error" | "validation_error" | "processor_error"; - /** @description A Paystack-defined machine-readable code for the error */ - code?: string; - /** @description An indicator for error mapping for the request */ - errorCodeMappingNotFound?: boolean; - }; - /** - * @example { - * "email": "jb@email.com", - * "amount": 30000, - * "authorization_code": "AUTH_df1l5ehnym" - * } - */ - TransactionChargeAuthorization: { - /** @description Customer's email address */ - email: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount: unknown; - /** @description Valid authorization code to charge */ - authorization_code: string; - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference?: string; - currency?: components["schemas"]["Currency"]; - /** @description Send us 'card' or 'bank' or 'card','bank' as an array to specify what options to show the user paying */ - channels?: ("card" | "bank")[]; - /** @description The split code of the transaction split */ - split_code?: string; - split?: components["schemas"]["SplitCreate"]; - /** @description The code for the subaccount that owns the payment */ - subaccount?: string; - /** - * @description A flat fee to charge the subaccount for a transaction. - * This overrides the split percentage set when the subaccount was created - */ - transaction_charge?: number; - /** - * @description The bearer of the transaction charge - * @enum {string} - */ - bearer?: "account" | "subaccount"; - /** @description Stringified JSON object of custom data */ - metadata?: string | Record; - /** @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. */ - queue?: boolean; - }; - ChargeAuthorizationResponse: { - status: boolean; - message: string; - data: { - amount: number; - currency: string; - transaction_date: string; - status: string; - reference: string; - domain: string; - metadata: - | ( - | string - | { - [key: string]: unknown; - } - ) - | null; - gateway_response: string; - message: string | null; - channel: string; - ip_address: unknown; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + schemas: { + WebhookEvent: { + /** @description The type of event that occurred. */ + event?: string; + /** @description The payload of the event. */ + data?: Record; + } & ({ + /** @enum {string} */ + event: "charge.success"; + data: components["schemas"]["data"]; + } | { + /** @enum {string} */ + event: "transfer.success"; + data: components["schemas"]["data-2"]; + } | { + /** @enum {string} */ + event: "transfer.failed"; + data: components["schemas"]["data-2"]; + } | { + /** @enum {string} */ + event: "transfer.reversed"; + data: components["schemas"]["data-2"]; + } | { + /** @enum {string} */ + event: "subscription.create"; + data: components["schemas"]["data-3"]; + } | { + /** @enum {string} */ + event: "subscription.disable"; + data: components["schemas"]["data-3"]; + } | { + /** @enum {string} */ + event: "subscription.not_renew"; + data: components["schemas"]["data-3"]; + } | { + /** @enum {string} */ + event: "invoice.create"; + data: components["schemas"]["data-4"]; + } | { + /** @enum {string} */ + event: "invoice.update"; + data: components["schemas"]["data-4"]; + } | { + /** @enum {string} */ + event: "invoice.failed"; + data: components["schemas"]["data-4"]; + } | { + /** @enum {string} */ + event: "dedicatedaccount.assign.success"; + data: components["schemas"]["data-5"]; + } | { + /** @enum {string} */ + event: "dedicatedaccount.assign.failed"; + data: components["schemas"]["data-5"]; + } | { + /** @enum {string} */ + event: "refund.processed"; + data: components["schemas"]["data-6"]; + } | { + /** @enum {string} */ + event: "refund.failed"; + data: components["schemas"]["data-6"]; + } | { + /** @enum {string} */ + event: "charge.dispute.create"; + data: components["schemas"]["data-7"]; + } | { + /** @enum {string} */ + event: "charge.dispute.resolve"; + data: components["schemas"]["data-7"]; + }); + /** + * @description List of all support currencies + * @example GHS + * @enum {string} + */ + Currency: "GHS" | "KES" | "NGN" | "ZAR" | "USD" | "XOF"; + /** + * @example { + * "subaccount": "ACCT_6uujpqtzmnufzkw", + * "share": 50 + * } + */ + SplitSubaccounts: { + /** @description Subaccount code of the customer or partner */ + subaccount?: string; + /** @description The percentage or flat quota of the customer or partner */ + share?: number; + }; + /** + * @description Split configuration for transactions + * @example { + * "name": "Halfsies", + * "type": "percentage", + * "currency": "NGN", + * "subaccounts": [ + * { + * "subaccount": "ACCT_6uujpqtzmnufzkw", + * "share": 50 + * } + * ] + * } + */ + SplitCreate: { + /** @description Name of the transaction split */ + name: string; + /** + * @description The type of transaction split you want to create. + * @enum {string} + */ + type: "percentage" | "flat"; + /** @description A list of object containing subaccount code and number of shares */ + subaccounts: components["schemas"]["SplitSubaccounts"][]; + /** + * @description The transaction currency + * @enum {string} + */ + currency: "NGN" | "GHS" | "ZAR" | "USD" | "XOF"; + /** + * @description This allows you specify how the transaction charge should be processed + * @enum {string} + */ + bearer_type?: "subaccount" | "account" | "all-proportional" | "all"; + /** @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 */ + bearer_subaccount?: string; + }; + /** + * @description Initialize a transaction + * @example { + * "email": "test@demo.com", + * "amount": 10000 + * } + */ + TransactionInitialize: { + /** @description Customer's email address */ + email: string; + /** + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + * + * Minimum amounts: + * - NGN: ₦50.00 (5000 kobo) + * - GHS: ₵0.10 (10 pesewas) + * - ZAR: R1.00 (100 cents) + * - KES: Ksh 3.00 (300 cents) + * - USD: $2.00 (200 cents) + * - XOF: 1.00 (1 XOF) + */ + amount: number | string; + currency?: components["schemas"]["Currency"]; + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference?: string; + /** @description An array of payment channels to control what channels you want to make available to the user to make a payment with */ + channels?: ("apple_pay" | "bank" | "bank_transfer" | "capitec_pay" | "card" | "eft" | "mobile_money" | "payattitude" | "qr" | "ussd")[]; + /** @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 */ + callback_url?: string; + /** + * @description If transaction is to create a subscription to a predefined plan, provide plan code here. + * This would invalidate the value provided in amount + */ + plan?: string; + /** @description Number of times to charge customer during subscription to plan */ + invoice_limit?: number; + /** @description The split code of the transaction split */ + split_code?: string; + split?: components["schemas"]["SplitCreate"]; + /** @description The code for the subaccount that owns the payment */ + subaccount?: string; + /** + * @description A flat fee to charge the subaccount for a transaction. + * This overrides the split percentage set when the subaccount was created + */ + transaction_charge?: number; + /** + * @description The bearer of the transaction charge + * @enum {string} + */ + bearer?: "account" | "subaccount"; + /** @description Used to replace the email address shown on the Checkout */ + label?: string; + /** @description JSON object or stringified JSON of custom data */ + metadata?: string | Record | number; + }; + TransactionInitializeResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number | null; - authorization: { - authorization_code: string; - bin: string | null; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - }; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: { - [key: string]: unknown; - } | null; - risk_action: string; - international_format_phone?: string | null; - }; - plan: unknown; - id: number; - }; - }; - /** - * @example { - * "email": "tap@email.com", - * "amount": 40510, - * "authorization_code": "AUTH_df1l5ehnym", - * "currency": "NGN" - * } - */ - TransactionPartialDebit: { - /** @description Customer's email address */ - email: string; - /** - * Format: int64 - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - */ - amount: number | string; - /** @description Valid authorization code to charge */ - authorization_code: string; - /** - * @description Specified as NGN or GHS - * @enum {string} - */ - currency: "NGN" | "GHS"; - /** @description Minimum amount to charge */ - at_least?: string; - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference?: string; - }; - TransactionPartialDebitResponse: { - status: boolean; - message: string; - data: { - amount: number; - currency: string; - transaction_date: string; - status: string; - reference: string; - domain: string; - metadata: (string | Record) | null; - gateway_response: string; - message: unknown; - channel: string; - ip_address: unknown; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + data: { + authorization_url: string; + access_code: string; + reference: string; + }; + }; + /** @description Extra diagnostic information to help resolve an error */ + ErrorMeta: { + /** @description A suggested next action to take to resolve the error */ + nextStep?: string; + }; + /** + * @description Error response returned when a transaction is initialized with incorrect parameters + * @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 + * } + */ + TransactionInitializeBadRequestModel: { + /** @description An indicator for the state of the request */ + status?: boolean; + /** @description A short description of the error */ + message?: string; + meta?: components["schemas"]["ErrorMeta"]; + /** + * @description A tag to indicate the type of the error + * @enum {string} + */ + type?: "validation_error" | "processor_error" | "api_error"; + /** @description The error code */ + code?: string; + /** @description An indicator for error mapping for the request */ + errorCodeMappingNotFound?: boolean; + }; + /** @description Standard error response returned when a Paystack API request fails. */ + Error: { + /** @description An indicator for the state of the request */ + status?: boolean; + /** @description A short description of the error */ + message?: string; + meta?: components["schemas"]["ErrorMeta"]; + /** + * @description A category describing the kind of error that occurred + * @enum {string} + */ + type?: "api_error" | "validation_error" | "processor_error"; + /** @description A Paystack-defined machine-readable code for the error */ + code?: string; + /** @description An indicator for error mapping for the request */ + errorCodeMappingNotFound?: boolean; + }; + /** + * @example { + * "email": "jb@email.com", + * "amount": 30000, + * "authorization_code": "AUTH_df1l5ehnym" + * } + */ + TransactionChargeAuthorization: { + /** @description Customer's email address */ + email: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount: unknown; + /** @description Valid authorization code to charge */ + authorization_code: string; + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference?: string; + currency?: components["schemas"]["Currency"]; + /** @description Send us 'card' or 'bank' or 'card','bank' as an array to specify what options to show the user paying */ + channels?: ("card" | "bank")[]; + /** @description The split code of the transaction split */ + split_code?: string; + split?: components["schemas"]["SplitCreate"]; + /** @description The code for the subaccount that owns the payment */ + subaccount?: string; + /** + * @description A flat fee to charge the subaccount for a transaction. + * This overrides the split percentage set when the subaccount was created + */ + transaction_charge?: number; + /** + * @description The bearer of the transaction charge + * @enum {string} + */ + bearer?: "account" | "subaccount"; + /** @description Stringified JSON object of custom data */ + metadata?: string | Record; + /** @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. */ + queue?: boolean; + }; + ChargeAuthorizationResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - }; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - plan: number; - requested_amount: number; - id: number; - }; - }; - TransactionCheckAuthorization: { - /** @description Customer's email address */ - email: string; - /** - * Format: int32 - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, send the amount multiplied by 100 even though the currency does not use fractional subunits. - */ - amount: number; - /** @description Valid authorization code to charge */ - authorization_code?: string; - /** @description The transaction currency */ - currency?: string; - }; - Response: { - status?: boolean; - message?: string; - data?: Record; - }; - VerifyResponse: { - status: boolean; - message: string; - data: { - /** Format: int64 */ - id: number; - domain: string; - status: string; - reference: string; - receipt_number: string | null; - amount: number; - message: string | null; - gateway_response: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: (string | Record | number) | null; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + data: { + amount: number; + currency: string; + transaction_date: string; + status: string; + reference: string; + domain: string; + metadata: (string | { + [key: string]: unknown; + }) | null; + gateway_response: string; + message: string | null; + channel: string; + ip_address: unknown; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number | null; + authorization: { + authorization_code: string; + bin: string | null; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + }; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: { + [key: string]: unknown; + } | null; + risk_action: string; + international_format_phone?: string | null; + }; + plan: unknown; + id: number; + }; + }; + /** + * @example { + * "email": "tap@email.com", + * "amount": 40510, + * "authorization_code": "AUTH_df1l5ehnym", + * "currency": "NGN" + * } + */ + TransactionPartialDebit: { + /** @description Customer's email address */ + email: string; + /** + * Format: int64 + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + */ + amount: number | string; + /** @description Valid authorization code to charge */ + authorization_code: string; + /** + * @description Specified as NGN or GHS + * @enum {string} + */ + currency: "NGN" | "GHS"; + /** @description Minimum amount to charge */ + at_least?: string; + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference?: string; + }; + TransactionPartialDebitResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number | null; - fees_split: unknown; - authorization: { - authorization_code?: string; - bin?: string | null; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: string; - account_name?: string | null; - receiver_bank_account_number?: string | null; - receiver_bank?: string | null; - }; - customer: { - /** Format: int64 */ - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - plan: (string | Record) | null; - split: Record | null; - order_id: unknown; - paidAt: string | null; - createdAt: string; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - connect: unknown; - transaction_date: string; - plan_object: { - id?: number; - name?: string; - plan_code?: string; - description?: unknown; - amount?: number; - interval?: string; - send_invoices?: boolean; - send_sms?: boolean; - currency?: string; - } & (Record | (unknown & unknown)); - subaccount: Record | null; - }; - }; - TransactionListResponseArray: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message: unknown; - gateway_response: string; - paid_at: string | null; - created_at: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: - | ( - | string - | { + data: { + amount: number; + currency: string; + transaction_date: string; + status: string; + reference: string; + domain: string; + metadata: (string | Record) | null; + gateway_response: string; + message: unknown; + channel: string; + ip_address: unknown; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + }; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + plan: number; + requested_amount: number; + id: number; + }; + }; + TransactionCheckAuthorization: { + /** @description Customer's email address */ + email: string; + /** + * Format: int32 + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, send the amount multiplied by 100 even though the currency does not use fractional subunits. + */ + amount: number; + /** @description Valid authorization code to charge */ + authorization_code?: string; + /** @description The transaction currency */ + currency?: string; + }; + Response: { + status?: boolean; + message?: string; + data?: Record; + }; + VerifyResponse: { + status: boolean; + message: string; + data: { + /** Format: int64 */ + id: number; + domain: string; + status: string; + reference: string; + receipt_number: string | null; + amount: number; + message: string | null; + gateway_response: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: (string | Record | number) | null; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number | null; + fees_split: unknown; + authorization: { + authorization_code?: string; + bin?: string | null; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: string; + account_name?: string | null; + receiver_bank_account_number?: string | null; + receiver_bank?: string | null; + }; + customer: { + /** Format: int64 */ + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + plan: (string | Record) | null; + split: Record | null; + order_id: unknown; + paidAt: string | null; + createdAt: string; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + connect: unknown; + transaction_date: string; + plan_object: { + id?: number; + name?: string; + plan_code?: string; + description?: unknown; + amount?: number; + interval?: string; + send_invoices?: boolean; + send_sms?: boolean; + currency?: string; + } & (Record | (unknown & unknown)); + subaccount: Record | null; + }; + }; + TransactionListResponseArray: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message: unknown; + gateway_response: string; + paid_at: string | null; + created_at: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: (string | { [key: string]: unknown; - } - ) - | null; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; - message: string; - time: number; - }[]; - } | null; - fees: number | null; - fees_split: number | null; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - phone: string | null; - metadata: Record | null; - customer_code: string; - risk_action: string; - }; - authorization: { - authorization_code: string | null; - bin: string | null; - last4: string | null; - exp_month: string | null; - exp_year: string | null; - channel: string | null; - card_type: string | null; - bank: string | null; - country_code: string | null; - brand: string | null; - reusable: boolean; - signature: string | null; - account_name: string | null; - }; - plan: Record; - split: Record; - subaccount: Record; - order_id: unknown; - requested_amount: number; - source: { - source?: string; - type?: string; - identifier?: string | null; - entry_point?: string; - } | null; - connect: Record | null; - pos_transaction_data: unknown; - }; - Meta: { - total: number; - skipped: number; - perPage: number | string; - page: number; - pageCount: number; - }; - MetaWithVolume: components["schemas"]["Meta"] & { - total_volume: number; - }; - CursorMeta: { - next: string | null; - previous: string | null; - perPage: number; - }; - TransactionListResponse: { - status: boolean; - message: string; - data: components["schemas"]["TransactionListResponseArray"][]; - meta: components["schemas"]["MetaWithVolume"] | components["schemas"]["CursorMeta"]; - }; - TransactionFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number: unknown; - amount: number; - message: unknown; - gateway_response: string; - helpdesk_link: unknown; - paid_at: string; - created_at: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: - | ( - | string - | { - [key: string]: unknown; - } - ) - | null; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + }) | null; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number | null; + fees_split: number | null; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + phone: string | null; + metadata: Record | null; + customer_code: string; + risk_action: string; + }; + authorization: { + authorization_code: string | null; + bin: string | null; + last4: string | null; + exp_month: string | null; + exp_year: string | null; + channel: string | null; + card_type: string | null; + bank: string | null; + country_code: string | null; + brand: string | null; + reusable: boolean; + signature: string | null; + account_name: string | null; + }; + plan: Record; + split: Record; + subaccount: Record; + order_id: unknown; + requested_amount: number; + source: { + source?: string; + type?: string; + identifier?: string | null; + entry_point?: string; + } | null; + connect: Record | null; + pos_transaction_data: unknown; + }; + Meta: { + total: number; + skipped: number; + perPage: number | string; + page: number; + pageCount: number; + }; + MetaWithVolume: components["schemas"]["Meta"] & { + total_volume: number; + }; + CursorMeta: { + next: string | null; + previous: string | null; + perPage: number; + }; + TransactionListResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - receiver_bank_account_number?: string | null; - receiver_bank?: string | null; - }; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - subaccount: Record | null; - split: Record | null; - order_id: unknown; - requested_amount: number; - pos_transaction_data: unknown; - source: { - type?: string; - source?: string; - identifier?: string | null; - } | null; - fees_breakdown: unknown; - connect: unknown; - }; - }; - TransactionTimelineResponse: { - status: boolean; - message: string; - data: Record; - }; - TransactionTotalVolumeByCurrencyArray: { - currency: string; - amount: number; - }; - TransactionPendingTransfersByCurrencyArray: { - currency: string; - amount: number; - }; - TransactionTotalsResponse: { - status: boolean; - message: string; - data: { - total_transactions: number; - total_volume: number; - total_volume_by_currency: components["schemas"]["TransactionTotalVolumeByCurrencyArray"][]; - pending_transfers: number; - pending_transfers_by_currency: components["schemas"]["TransactionPendingTransfersByCurrencyArray"][]; - }; - }; - TransactionExportResponse: { - status: boolean; - message: string; - data: { - path: string; - expiresAt: string; - }; - }; - /** - * @example { - * "email": "customer@email.com", - * "amount": 350000, - * "authorization_code": "AUTH_df1l5ehnym" - * } - */ - ChargeCreate: { - /** @description Customer's email address */ - email: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount: number; - /** @description An authorization code to charge. */ - authorization_code?: string; - /** @description 4-digit PIN (send with a non-reusable authorization code) */ - pin?: string; - /** @description Unique transaction reference. Only -, .`, = and alphanumeric characters allowed. */ - reference?: string; - /** - * Format: date - * @description The customer's birthday in the format YYYY-MM-DD e.g 2017-05-16 - */ - birthday?: string; - /** - * @description This is the unique identifier of the device a user uses in making payment. - * Only -, .`, = and alphanumeric characters are allowed. - */ - device_id?: string; - /** @description JSON object or stringified JSON of custom data */ - metadata?: string | Record | number; - }; - /** @description The bank object if charging a bank account */ - Bank: { - /** @description Customer's bank code */ - code?: string; - /** @description Customer's account number */ - account_number?: string; - }; - /** @description Details of the mobile service provider */ - MobileMoney: { - /** @description Customer's phone number */ - phone?: string; - /** @description The telco provider of customer's phone number. This can be fetched from the List Bank endpoint */ - provider?: string; - }; - /** @description The USSD code for the provider to charge */ - USSD: { - /** - * @description The three-digit USSD code. - * @enum {string} - */ - type?: "737" | "919" | "822" | "966"; - }; - /** @description Details of the EFT provider */ - EFT: { - /** @description The EFT provider */ - provider?: string; - }; - ChargeCreateResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number?: string | null; - amount: number; - message: string | null; - gateway_response: string; - paid_at?: string; - created_at?: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: - | ( - | string - | { - [key: string]: unknown; - } - ) - | null; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + data: components["schemas"]["TransactionListResponseArray"][]; + meta: components["schemas"]["MetaWithVolume"] | components["schemas"]["CursorMeta"]; + }; + TransactionFetchResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split?: number | null; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - receiver_bank_account_number?: string | null; - receiver_bank?: string | null; - }; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - plan: unknown; - split?: Record | null; - order_id?: unknown; - requested_amount?: number; - pos_transaction_data?: unknown; - source?: Record | null; - fees_breakdown?: Record | null; - connect?: Record | null; - transaction_date: string; - plan_object?: Record; - subaccount?: Record; - }; - }; - /** - * @example { - * "pin": "1234", - * "reference": "5bwib5v6anhe9xa" - * } - */ - ChargeSubmitPin: { - /** @description Customer's PIN for the ongoing transaction */ - pin: string; - /** @description Transaction reference that requires the PIN */ - reference: string; - }; - ChargeSubmitPinResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message?: string | null; - gateway_response: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: Record | null; - log: unknown; - fees: number | null; - fees_split: unknown; - authorization: { - authorization_code?: string | null; - bin?: string; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: unknown; - account_name?: unknown; - }; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: unknown; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - split: Record | null; - order_id: string | null; - paidAt: string | null; - createdAt: string; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: Record | null; - connect: Record | null; - transaction_date: string; - plan_object: Record; - subaccount: Record; - }; - }; - /** - * @example { - * "otp": "123456", - * "reference": "5bwib5v6anhe9xa" - * } - */ - ChargeSubmitOTP: { - /** @description Customer's OTP for ongoing transaction */ - otp: string; - /** @description The reference of the ongoing transaction */ - reference: string; - }; - ChargeSubmitOtpResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message?: string | null; - gateway_response: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: Record | null; - log: unknown; - fees: number | null; - fees_split: unknown; - authorization: { - authorization_code?: string | null; - bin?: string; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: unknown; - account_name?: unknown; - }; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: unknown; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - split: Record | null; - order_id: string | null; - paidAt: string | null; - createdAt: string; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: Record | null; - connect: Record | null; - transaction_date: string; - plan_object: Record; - subaccount: Record; - }; - }; - /** - * @example { - * "phone": "08012345678", - * "reference": "5bwib5v6anhe9xa" - * } - */ - ChargeSubmitPhone: { - /** @description Customer's mobile number */ - phone: string; - /** @description The reference of the ongoing transaction */ - reference: string; - }; - ChargeSubmitPhoneResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message?: string | null; - gateway_response: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: Record | null; - log: unknown; - fees: number | null; - fees_split: unknown; - authorization: { - authorization_code?: string | null; - bin?: string; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: unknown; - account_name?: unknown; - }; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: unknown; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - split: Record | null; - order_id: string | null; - paidAt: string | null; - createdAt: string; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: Record | null; - connect: Record | null; - transaction_date: string; - plan_object: Record; - subaccount: Record; - }; - }; - /** - * @example { - * "birthday": "1961-09-21", - * "reference": "5bwib5v6anhe9xa" - * } - */ - ChargeSubmitBirthday: { - /** - * Format: date - * @description Customer's birthday in the format YYYY-MM-DD e.g 2016-09-21 - */ - birthday: string; - /** @description The reference of the ongoing transaction */ - reference: string; - }; - ChargeSubmitBirthdayResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message?: string | null; - gateway_response: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: Record | null; - log: unknown; - fees: number | null; - fees_split: unknown; - authorization: { - authorization_code?: string | null; - bin?: string; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: unknown; - account_name?: unknown; - }; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: unknown; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - split: Record | null; - order_id: string | null; - paidAt: string | null; - createdAt: string; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: Record | null; - connect: Record | null; - transaction_date: string; - plan_object: Record; - subaccount: Record; - }; - }; - /** - * @example { - * "address": "140 N 2ND ST", - * "city": "Stroudsburg", - * "state": "PA", - * "zip_code": "18360", - * "reference": "5bwib5v6anhe9xa" - * } - */ - ChargeSubmitAddress: { - /** @description Customer's address */ - address: string; - /** @description Customer's city */ - city: string; - /** @description Customer's state */ - state: string; - /** @description Customer's zipcode */ - zip_code: string; - /** @description The reference of the ongoing transaction */ - reference: string; - }; - ChargeCheckPendingResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message?: string | null; - gateway_response: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: Record | null; - log: unknown; - fees: number | null; - fees_split: unknown; - authorization: { - authorization_code?: string | null; - bin?: string; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: unknown; - account_name?: unknown; - }; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: unknown; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - split: Record | null; - order_id: string | null; - paidAt: string | null; - createdAt: string; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: Record | null; - connect: Record | null; - transaction_date: string; - plan_object: Record; - subaccount: Record; - }; - }; - BulkChargeListResponseArray: { - domain: string; - batch_code: string; - status: string; - id: number; - createdAt: string; - updatedAt: string; - }; - BulkChargeListResponse: { - status: boolean; - message: string; - data: components["schemas"]["BulkChargeListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @description A list of charge object - * @example { - * "authorization": "AUTH_ncx8hews93", - * "amount": 250000, - * "reference": "dam1266638dhhd" - * } - */ - BulkChargeInitiate: { - /** @description Customer's card authorization code */ - authorization: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount: number; - /** @description A unique identifier containing lowercase letters `(a-z)`, digits `(0-9)` and these symbols: dash (`-`), underscore(`_`) */ - reference?: string; - /** @description A flag to indicate if you want us to try recouping lower amounts when the customer has insufficient fund */ - attempt_partial_debit?: boolean; - /** - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - * Minimum amount to charge if the attempt_partial_debit flag is set. - */ - at_least?: number; - /** @description JSON object of custom data */ - metadata?: Record; - }; - BulkChargeInitiateResponse: { - status: boolean; - message: string; - data: { - batch_code: string; - reference: string; - id: number; - integration: number; - domain: string; - status: string; - total_charges: number; - pending_charges: number; - createdAt: string; - updatedAt: string; - }; - }; - BulkChargeFetchResponse: { - status: boolean; - message: string; - data: { - batch_code: string; - id: number; - domain: string; - status: string; - total_charges: number; - pending_charges: number; - createdAt: string; - updatedAt: string; - }; - }; - MetadataCustomFieldsArray: { - value: string; - display_name: string; - variable_name: string; - }; - BulkChargeFetchBulkBatchChargesResponseArray: { - integration: number; - bulkcharge: number; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string; - metadata: { - calling_code?: string; - }; - risk_action: string; - international_format_phone: string; - }; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: unknown; - }; - domain: string; - amount: number; - at_least: number; - currency: string; - reference: string; - metadata: { - custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; - }; - status: string; - message: string; - attempt_partial_debit: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - BulkChargeFetchBulkBatchChargesResponse: { - status: boolean; - message: string; - data: components["schemas"]["BulkChargeFetchBulkBatchChargesResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - BulkChargePauseResponse: { - status: boolean; - message: string; - }; - BulkChargeResumeResponse: { - status: boolean; - message: string; - }; - SubaccountListResponseArray: { - id: number; - subaccount_code: string; - business_name: string; - description: string | null; - primary_contact_name: string | null; - primary_contact_email: string | null; - primary_contact_phone: string | null; - metadata: unknown; - percentage_charge: number; - settlement_bank: string; - bank_id: number; - account_number: string; - currency: string; - active: number; - }; - SubaccountListResponse: { - status: boolean; - message: string; - data: components["schemas"]["SubaccountListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "business_name": "Oasis", - * "account_number": "0123456047", - * "settlement_bank": "058", - * "percentage_charge": 30 - * } - */ - SubaccountCreate: { - /** @description Name of business for subaccount */ - business_name: string; - /** @description Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. */ - settlement_bank: string; - /** @description Bank account number */ - account_number: string; - /** - * Format: float - * @description The percentage the main account receives from each payment made to the subaccount - */ - percentage_charge: number; - /** @description A description for this subaccount */ - description?: string; - /** @description A contact email for the subaccount */ - primary_contact_email?: string; - /** @description The name of the contact person for this subaccount */ - primary_contact_name?: string; - /** @description A phone number to call for this subaccount */ - primary_contact_phone?: string; - /** @description Stringified JSON object or JSON object of custom data */ - metadata?: string | Record; - }; - SubaccountCreateResponse: { - status: boolean; - message: string; - data: { - business_name: string; - account_name?: string | null; - description?: string | null; - primary_contact_name?: string | null; - primary_contact_email?: string | null; - primary_contact_phone?: string | null; - metadata?: unknown; - account_number: string; - percentage_charge: number; - settlement_bank: string; - currency: string; - bank: number; - integration: number; - domain: string; - product: string; - managed_by_integration?: number; - subaccount_code: string; - is_verified: boolean; - settlement_schedule: string; - active: boolean; - migrate: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - SubaccountFetchResponse: { - status: boolean; - message: string; - data: { - integration: number; - account_name: string | null; - bank: number; - managed_by_integration: number; - domain: string; - subaccount_code: string; - business_name: string; - description: string | null; - primary_contact_name: string | null; - primary_contact_email: string | null; - primary_contact_phone: string | null; - metadata: Record | null; - percentage_charge: number; - is_verified: boolean; - settlement_bank: string; - account_number: string; - settlement_schedule: string; - active: boolean; - migrate: boolean; - currency: string; - product: string; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "business_name": "Sandalwood" - * } - */ - SubaccountUpdate: { - /** @description Name of business for subaccount */ - business_name?: string; - /** @description Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. */ - settlement_bank?: string; - /** @description Bank account number */ - account_number?: string; - /** @description Activate or deactivate a subaccount */ - active?: boolean; - /** - * Format: float - * @description The percentage the main account receives from each payment made to the subaccount - */ - percentage_charge?: number; - /** @description A description for this subaccount */ - description?: string; - /** @description A contact email for the subaccount */ - primary_contact_email?: string; - /** @description The name of the contact person for this subaccount */ - primary_contact_name?: string; - /** @description A phone number to call for this subaccount */ - primary_contact_phone?: string; - /** @description Stringified JSON object or JSON object of custom data */ - metadata?: string | Record | number; - }; - SubaccountUpdateResponse: { - status: boolean; - message: string; - data: { - domain: string; - subaccount_code: string; - account_name?: string | null; - business_name: string; - description?: string | null; - primary_contact_name?: string | null; - primary_contact_email?: string | null; - primary_contact_phone?: string | null; - metadata?: unknown; - percentage_charge: number; - is_verified: boolean; - settlement_bank: string; - account_number: string; - settlement_schedule: string; - active: boolean; - migrate: boolean; - currency: string; - product: string; - id: number; - integration: number; - bank: number; - managed_by_integration: number; - createdAt: string; - updatedAt: string; - }; - }; - SplitSubaccountsArray: { - subaccount: { - id: number; - subaccount_code: string; - business_name: string; - description: string; - primary_contact_name: string; - primary_contact_email: string; - primary_contact_phone: string; - metadata: string; - settlement_bank: string; - currency: string; - account_number: string; - }; - share: number; - }; - SplitListResponseArray: { - id: number; - name: string; - type: string; - currency: string; - integration: number; - domain: string; - split_code: string; - active: boolean; - bearer_type: string; - bearer_subaccount: number | null; - createdAt: string; - updatedAt: string; - is_dynamic: boolean; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - total_subaccounts: number; - }; - SplitListResponse: { - status: boolean; - message: string; - data: components["schemas"]["SplitListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - SplitCreateResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - type: string; - currency: string; - integration: number; - domain: string; - split_code: string; - active: boolean; - bearer_type: string; - bearer_subaccount?: number; - createdAt: string; - updatedAt: string; - is_dynamic: boolean; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - total_subaccounts: number; - }; - }; - SplitFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - type: string; - currency: string; - integration: number; - domain: string; - split_code: string; - active: boolean; - bearer_type: string; - bearer_subaccount: number; - createdAt: string; - updatedAt: string; - is_dynamic: boolean; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - total_subaccounts: number; - }; - }; - SplitUpdate: { - /** @description Name of the transaction split */ - name?: string; - /** @description Toggle status of split. When true, the split is active, else it's inactive */ - active?: boolean; - /** - * @description This allows you specify how the transaction charge should be processed - * @enum {string} - */ - bearer_type?: "subaccount" | "account" | "all-proportional" | "all"; - /** @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 */ - bearer_subaccount?: string; - }; - SplitUpdateResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - type: string; - currency: string; - integration: number; - domain: string; - split_code: string; - active: boolean; - bearer_type: string; - bearer_subaccount: number; - createdAt: string; - updatedAt: string; - is_dynamic: boolean; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - total_subaccounts: number; - }; - }; - SplitAddUpdateSubaccountResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - type: string; - currency: string; - integration: number; - domain: string; - split_code: string; - active: boolean; - bearer_type: string; - bearer_subaccount: number; - createdAt: string; - updatedAt: string; - is_dynamic: boolean; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - total_subaccounts: number; - }; - }; - /** - * @example { - * "subaccount": "ACCT_eg4sob4590pq9vb" - * } - */ - SplitSubaccountRemove: { - /** @description This is the sub account code */ - subaccount: string; - }; - SplitRemoveSubaccountResponse: { - status: boolean; - message: string; - }; - /** - * @description The parameters needed to perform the specified action - * @example { - * "id": 7895939, - * "reference": "4634337895939" - * } - */ - TerminalSendEventData: { - /** - * Format: int64 - * @description The invoice or transaction ID you want to push to the Terminal - */ - id?: number; - /** @description The offline_reference from the Payment Request response */ - reference?: string; - }; - /** - * @example { - * "type": "invoice", - * "action": "process", - * "data": { - * "id": 7895939, - * "reference": "4634337895939" - * } - * } - */ - TerminalSendEvent: { - /** - * @description The type of event to push - * @enum {string} - */ - type?: "invoice" | "transaction"; - /** - * @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. - * @enum {string} - */ - action?: "process" | "view" | "print"; - data?: components["schemas"]["TerminalSendEventData"]; - }; - TerminalGetStatusResponse: { - status: boolean; - message: string; - data: { - online: boolean; - available: boolean; - }; - }; - TerminalListsResponseArray: { - id: number; - serial_number: string | null; - device_make: string | null; - terminal_id: string; - integration: number; - domain: string; - name: string | null; - address: string | null; - status: string; - }; - TerminalListsResponse: { - status: boolean; - message: string; - data: components["schemas"]["TerminalListsResponseArray"][]; - meta: components["schemas"]["CursorMeta"]; - }; - TerminalGetResponse: { - status: boolean; - message: string; - data: { - id: number; - serial_number: string; - device_make: string | null; - terminal_id: string; - integration: number; - domain: string; - name: string | null; - address: string | null; - status: string; - split_code: string | null; - }; - }; - /** - * @example { - * "name": "Oreos", - * "address": "Somewhere on earth" - * } - */ - TerminalUpate: { - /** @description The new name for the Terminal */ - name?: string; - /** @description The new address for the Terminal */ - address?: string; - }; - TerminalUpdateResponse: { - status: boolean; - message: string; - }; - /** - * @description Model for activating and deactivating a debug Terminal - * @example { - * "serial_number": "1111150412230003899" - * } - */ - TerminalActivationToggle: { - /** @description Device Serial Number */ - serial_number: string; - }; - TerminalCommissionDeviceResponse: { - status: boolean; - message: string; - }; - TerminalDecommissionDeviceResponse: { - status: boolean; - message: string; - }; - VirtualTerminalListResponseArray: { - id: number; - code: string; - name: string; - integration: number; - domain: string; - paymentMethods: unknown[]; - active: boolean; - created_at: string; - currency: string; - }; - VirtualTerminalListResponse: { - status: boolean; - message: string; - data: components["schemas"]["VirtualTerminalListResponseArray"][]; - meta: components["schemas"]["CursorMeta"]; - }; - /** - * @example { - * "name": "Sample Terminal", - * "destinations": [ - * { - * "target": "+2548012345678", - * "name": "John Doe" - * }, - * { - * "target": "+2548098765432", - * "name": "Jane Smith" - * } - * ] - * } - */ - VirtualTerminalCreate: { - /** @description Name of the Virtual Terminal */ - name: string; - /** @description An array of objects containing the notification recipients for payments to the Virtual Terminal. Each object includes a target parameter for the Whatsapp phone number to send notifications to, and a name parameter for a descriptive label. */ - destinations: { - /** @description The Whatsapp phone number to send notifications to */ - target?: string; - /** @description A descriptive label for the destination */ - name?: string; - }[]; - /** @description Stringified JSON object of custom data. Kindly check the Metadata page for more information */ - metadata?: Record; - /** @description The transaction currency for the Virtual Terminal. Defaults to your integration currency */ - currency?: string; - /** @description An array of objects representing custom fields to display on the form. Each object contains a display_name parameter, representing what will be displayed on the Virtual Terminal page, and variable_name parameter for referencing the custom field programmatically */ - custom_fields?: { - display_name?: string; - variable_name?: string; - }[]; - }; - VirtualTerminalCreateResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - integration: number; - domain: string; - code: string; - paymentMethods: unknown[]; - active: boolean; - metadata: unknown; - destinations: { - target?: string; - type?: string; - name?: string; - }[]; - currency: string; - }; - }; - VirtualTerminalFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - code: string; - name: string; - integration: number; - domain: string; - paymentMethods: unknown[]; - active: boolean; - created_at: string; - connect_account_id: unknown; - destinations: { - target?: string; - type?: string; - name?: string; - created_at?: string; - }[]; - currency: string; - }; - }; - /** - * @example { - * "name": "Lagos_Mainland_Zone_1" - * } - */ - VirtualTerminalUpdate: { - /** @description Name of the virtual terminal */ - name: string; - }; - VirtualTerminalUpdateResponse: { - status: boolean; - message: string; - data: { - id: number; - code: string; - name: string; - integration: number; - domain: string; - paymentMethods: unknown[]; - active: boolean; - created_at: string; - connect_account_id: unknown; - destinations: { - target?: string; - type?: string; - name?: string; - created_at?: string; - }[]; - currency: string; - }; - }; - VirtualTerminalDeactivateResponse: { - status: boolean; - message: string; - }; - /** - * @example { - * "destinations": [ - * { - * "target": "+2548012345678", - * "name": "John Doe" - * }, - * { - * "target": "+2548098765432", - * "name": "Jane Smith" - * } - * ] - * } - */ - VirtualTerminalDestinationAssign: { - /** @description Array of objects containing recipients for payment notifications for the Virtual Terminal. */ - destinations: { - /** @description The WhatsApp number to receive payment notifications */ - target?: string; - /** @description The name of the associated WhatsApp number */ - name?: string; - }[]; - }; - VirtualTerminalDestinationAssignResponse: { - status: boolean; - message: string; - data: { - integration: number; - target: string; - name: string; - type: string; - id: number; - createdAt: string; - updatedAt: string; - }[]; - }; - /** - * @example { - * "targets": [ - * "+2548012345678", - * "+2548098765432" - * ] - * } - */ - VirtualTerminalDestinationUnassign: { - /** @description Array of destination targets to unassign */ - targets: string[]; - }; - VirtualTerminalDestinationUnassignResponse: { - status: boolean; - message: string; - }; - /** - * @example { - * "split_code": "SPL_1234567890abcdef" - * } - */ - VirtualTerminalAddSplitCode: { - /** @description The split code to assign to the virtual terminal */ - split_code: string; - }; - VirtualTerminalAddSplitCodeResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - type: string; - currency: string; - integration: number; - domain: string; - split_code: string; - active: boolean; - bearer_type: string; - bearer_subaccount: unknown; - createdAt: string; - updatedAt: string; - is_dynamic: boolean; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - total_subaccounts: number; - }; - }; - /** - * @example { - * "split_code": "SPL_1234567890abcdef" - * } - */ - VirtualTerminalDeleteSplitCode: { - /** @description The split code to assign to the virtual terminal */ - split_code: string; - }; - VirtualTerminalDeleteSplitCodeResponse: { - status: boolean; - message: string; - }; - CustomerListResponseArray: { - integration: number; - first_name: string | null; - last_name: string | null; - email: string; - phone: string | null; - metadata: Record | null; - domain: string; - customer_code: string; - risk_action: string; - id: number; - createdAt: string; - updatedAt: string; - }; - CustomerListResponse: { - status: boolean; - message: string; - data: components["schemas"]["CustomerListResponseArray"][]; - meta: components["schemas"]["Meta"] | components["schemas"]["CursorMeta"]; - }; - /** - * @example { - * "email": "rock@sandy.com", - * "first_name": "Rock", - * "last_name": "Sandy" - * } - */ - CustomerCreate: { - /** @description Customer's email address */ - email: string; - /** @description Customer's first name */ - first_name?: string; - /** @description Customer's last name */ - last_name?: string; - /** @description Customer's phone number */ - phone?: string; - /** @description Stringified JSON object or JSON object of custom data */ - metadata?: string | Record; - }; - CustomerCreateResponse: { - status: boolean; - message: string; - data: { - email: string; - integration: number; - domain: string; - customer_code: string; - id: number; - identified: boolean; - identifications: unknown; - createdAt: string; - updatedAt: string; - }; - }; - CustomerFetchResponse: { - status: boolean; - message: string; - data: { - transactions: unknown[]; - subscriptions: unknown[]; - authorizations: unknown[]; - first_name: string | null; - last_name: string | null; - email: string; - phone: string | null; - metadata: { - [key: string]: unknown; - } | null; - domain: string; - customer_code: string; - risk_action: string; - id: number; - integration: number; - createdAt: string; - updatedAt: string; - total_transactions: number; - total_transaction_value: unknown[]; - dedicated_account: unknown; - dedicated_accounts?: unknown[] | null; - identified: boolean; - identifications: unknown; - }; - }; - /** - * @example { - * "first_name": "Cecilia", - * "last_name": "Jones" - * } - */ - CustomerUpdate: { - /** @description Customer's first name */ - first_name?: string; - /** @description Customer's last name */ - last_name?: string; - /** @description Customer's phone number */ - phone?: string; - /** @description Stringified JSON object or JSON object of custom data */ - metadata?: string | Record | number; - }; - CustomerUpdateResponse: { - status: boolean; - message: string; - data: { - integration: number; - first_name: string; - last_name: string; - email: string; - phone: string | null; - metadata: Record | null; - identified: boolean; - identifications: unknown; - domain: string; - customer_code: string; - id: number; - transactions: unknown[]; - subscriptions: unknown[]; - authorizations: unknown[]; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "customer": "CUS_c6wqvwmvwopw4ms", - * "risk_action": "deny" - * } - */ - CustomerRiskAction: { - /** @description The customer code from the response of the customer creation */ - customer: string; - /** - * @description This determines the fraud rules that should be applied to the customer - * @default default - * @enum {string} - */ - risk_action: "allow" | "deny" | "default"; - }; - CustomerWhitelistBlacklistResponse: { - status: boolean; - message: string; - data: { - transactions: unknown[]; - subscriptions: unknown[]; - authorizations: unknown[]; - first_name: string | null; - last_name: string | null; - email: string; - phone: string | null; - metadata: Record | null; - domain: string; - customer_code: string; - risk_action: string; - id: number; - integration: number; - createdAt: string; - updatedAt: string; - identified: boolean; - identifications: unknown; - }; - }; - /** - * @example { - * "first_name": "Jabal", - * "last_name": "Cedar", - * "country": "NG", - * "type": "bank_account", - * "account_number": "0123456789", - * "bank_code": "007", - * "bvn": "20012345677" - * } - */ - CustomerValidate: { - /** @description Customer's first name */ - first_name: string; - /** @description Customer's middle name */ - middle_name?: string; - /** @description Customer's last name */ - last_name: string; - /** - * @description Predefined types of identification. - * @default bank_account - */ - type: string; - /** @description Customer's identification number. */ - value?: string; - /** @description Two-letter country code of identification issuer */ - country: string; - /** @description Customer's Bank Verification Number */ - bvn: string; - /** @description You can get the list of bank codes by calling the List Banks endpoint (https://api.paystack.co/bank). */ - bank_code: string; - /** @description Customer's bank account number. */ - account_number: string; - }; - CustomerValidateResponse: { - status: boolean; - message: string; - }; - CustomerAuthorizationInitializeAccount: { - /** - * @description The customer's account number - * @example 0123456789 - */ - number: string; - /** - * @description The code representing the customer's bank - * @example 058 - */ - bank_code: string; - }; - CustomerAuthorizationInitializeAddress: { - /** - * @description The customer's street - * @example 123 Main Street - */ - street: string; - /** - * @description The customer's city - * @example Lagos - */ - city: string; - /** - * @description The customer's state - * @example Lagos - */ - state: string; - }; - CustomerAuthorizationInitializeRequest: { - /** - * @description Customer's email address - * @example ravi@demo.com - */ - email: string; - /** - * @description direct_debit is the only supported option for now - * @example direct_debit - * @enum {string} - */ - channel: "direct_debit"; - /** - * @description Fully qualified url (e.g. https://example.com/) to redirect your customer to - * @example http://test.url.com - */ - callback_url?: string; - account?: components["schemas"]["CustomerAuthorizationInitializeAccount"]; - address?: components["schemas"]["CustomerAuthorizationInitializeAddress"]; - }; - CustomerAuthorizationInitializeResponseData: { - /** @example https://checkout.paystack.com/82t4mp5b5mfn51h */ - redirect_url: string; - /** @example 82t4mp5b5mfn51h */ - access_code: string; - /** @example dfbzfotsrbv4n5s82t4mp5b5mfn51h */ - reference: string; - }; - CustomerAuthorizationInitializeResponse: { - /** @example true */ - status: boolean; - /** @example Authorization initialized */ - message: string; - data: components["schemas"]["CustomerAuthorizationInitializeResponseData"]; - }; - CustomerAuthorizationVerifyResponseCustomer: { - /** @example CUS_24lze1c8i2zl76y */ - code: string; - /** @example ravi@demo.com */ - email: string; - }; - CustomerAuthorizationVerifyResponseData: { - /** @example AUTH_JV4T9Wawdj */ - authorization_code: string; - /** @example direct_debit */ - channel: string; - /** @example Guaranty Trust Bank */ - bank: string; - /** @example true */ - active: boolean; - customer: components["schemas"]["CustomerAuthorizationVerifyResponseCustomer"]; - }; - CustomerAuthorizationVerifyResponse: { - /** @example true */ - status: boolean; - /** @example Authorization retrieved successfully */ - message: string; - data: components["schemas"]["CustomerAuthorizationVerifyResponseData"]; - }; - /** - * @example { - * "authorization_code": "AUTH_xxxIjkZVj5" - * } - */ - CustomerDeactivateAuthorization: { - /** @description Authorization code to be deactivated */ - authorization_code: string; - }; - CustomerDeactivateAuthorizationResponse: { - status: boolean; - message: string; - }; - CustomerInitializeDirectDebitAccount: { - /** - * @description The customer's account number - * @example 0123456789 - */ - number: string; - /** - * @description The code representing the customer's bank - * @example 058 - */ - bank_code: string; - }; - CustomerInitializeDirectDebitAddress: { - /** - * @description The customer's street - * @example Some Where - */ - street: string; - /** - * @description The customer's city - * @example Ikeja - */ - city: string; - /** - * @description The customer's state - * @example Lagos - */ - state: string; - }; - CustomerInitializeDirectDebitRequest: { - account: components["schemas"]["CustomerInitializeDirectDebitAccount"]; - address: components["schemas"]["CustomerInitializeDirectDebitAddress"]; - }; - CustomerInitializeDirectDebitResponseData: { - /** @example https://link.paystack.com/ll6b0szngj1f27k */ - redirect_url: string; - /** @example ll6b0szngj1f27k */ - access_code: string; - /** @example 1er945lpy4txyki */ - reference: string; - }; - CustomerInitializeDirectDebitResponse: { - /** @example true */ - status: boolean; - /** @example Authorization initialized */ - message: string; - data: components["schemas"]["CustomerInitializeDirectDebitResponseData"]; - }; - CustomerDirectDebitActivationChargeRequest: { - /** - * @description The authorization ID gotten from the initiation response - * @example 1069309917 - */ - authorization_id: number; - }; - CustomerDirectDebitActivationChargeResponse: { - /** @example true */ - status: boolean; - /** @example Mandate is queued for retry */ - message: string; - }; - CustomerFetchMandateAuthorizationsResponseData: { - /** @example 164098 */ - id: number; - /** @example active */ - status: string; - /** @example 512003 */ - mandate_id: number; - /** @example 110049014 */ - authorization_id: number; - /** @example AUTH_8Lol0pNt14 */ - authorization_code: string; - /** @example 463433 */ - integration_id: number; - /** @example 0123456789 */ - account_number: string; - /** @example 032 */ - bank_code: string; - /** @example null */ - bank_name?: string | null; - customer: { - /** @example 43975700 */ - id?: number; - /** @example CUS_2eusy8uwe34s23fy */ - customer_code?: string; - /** @example customer@email.com */ - email?: string; - /** @example Smith */ - first_name?: string; - /** @example Bel */ - last_name?: string; - }; - /** - * Format: date-time - * @example 2024-09-27T10:57:53.824Z - */ - authorized_at: string; - }; - CustomerFetchMandateAuthorizationsResponseMeta: { - /** @example 50 */ - per_page: number; - /** @example null */ - next?: string | null; - /** @example 1 */ - count: number; - /** @example 1 */ - total: number; - }; - CustomerFetchMandateAuthorizationsResponse: { - /** @example true */ - status: boolean; - /** @example Mandate authorizations retrieved successfully */ - message: string; - data: components["schemas"]["CustomerFetchMandateAuthorizationsResponseData"][]; - meta: components["schemas"]["CustomerFetchMandateAuthorizationsResponseMeta"]; - }; - DirectDebitActivationChargeRequest: { - /** - * @description Array of customer IDs to trigger activation charge for - * @example [ - * 28958104, - * 983697220 - * ] - */ - customer_ids: number[]; - }; - DirectDebitActivationChargeResponse: { - /** @example true */ - status: boolean; - /** @example Mandate is queued for retry */ - message: string; - }; - DedicatedNubanListResponseArray: { - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - risk_action: string; - international_format_phone: string | null; - }; - bank: { - name: string; - id: number; - slug: string; - }; - id: number; - account_name: string; - account_number: string; - created_at: string; - updated_at: string; - currency: string; - split_config: - | ( - | string - | { - subaccount: string; - } - ) - | null; - active: boolean; - assigned: boolean; - }; - DedicatedNubanListResponse: { - status: boolean; - message: string; - data: components["schemas"]["DedicatedNubanListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "customer": "CUS_bo732eugpb2qrg6", - * "preferred_bank": "titan-paystack" - * } - */ - DedicatedVirtualAccountCreate: { - /** @description The code for the previously created customer */ - customer: string; - /** @description The bank slug for preferred bank. To get a list of available banks, use the List Providers endpoint */ - preferred_bank?: string; - /** @description Subaccount code of the account you want to split the transaction with */ - subaccount?: string; - /** @description Split code consisting of the lists of accounts you want to split the transaction with */ - split_code?: string; - /** @description JSON object or stringified JSON of custom data */ - metadata?: string | Record | number; - }; - DedicatedNubanCreateResponse: { - status: boolean; - message: string; - data: { - bank: { - name: string; - id: number; - slug: string; - }; - account_name: string; - account_number: string; - assigned: boolean; - currency: string; - metadata: unknown; - active: boolean; - id: number; - created_at: string; - updated_at: string; - assignment: { - integration: number; - assignee_id: number; - assignee_type: string; - expired: boolean; - account_type: string; - assigned_at: string; - expired_at: unknown; - }; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - }; - }; - /** - * @example { - * "email": "salmon.orange@email.com", - * "first_name": "Salmon", - * "last_name": "Orange", - * "phone": "+2348100000000", - * "preferred_bank": "titan-paystack", - * "country": "NG" - * } - */ - DedicatedVirtualAccountAssign: { - /** @description Customer's email address */ - email: string; - /** @description Customer's first name */ - first_name: string; - /** @description Customer's last name */ - last_name: string; - /** @description Customer's phone name */ - phone: string; - /** - * @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 - */ - preferred_bank: string; - /** - * @description The two letter code country - * @enum {string} - */ - country: "NG" | "GH"; - /** @description Customer's account number */ - account_number?: string; - /** @description Customer's Bank Verification Number */ - bvn?: string; - /** @description Customer's bank code */ - bank_code?: string; - /** @description Subaccount code of the account you want to split the transaction with */ - subaccount?: string; - /** @description Split code consisting of the lists of accounts you want to split the transaction with */ - split_code?: string; - }; - DedicatedNubanFetchResponse: { - status: boolean; - message: string; - data: { - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - bank: { - name: string; - id: number; - slug: string; - }; - id: number; - account_name: string; - account_number: string; - created_at: string; - updated_at: string; - currency: string; - split_config: (string | Record) | null; - active: boolean; - assigned: boolean; - }; - }; - DedicatedNubanDeactivateResponse: { - status: boolean; - message: string; - data: { - bank: { - name: string; - id: number; - slug: string; - }; - account_name: string; - account_number: string; - assigned: boolean; - currency: string; - metadata: unknown; - active: boolean; - id: number; - created_at: string; - updated_at: string; - assignment: { - assignee_id: number; - assignee_type: string; - assigned_at: string; - integration: number; - account_type: string; - }; - }; - }; - /** - * @example { - * "account_number": "0033322211", - * "split_code": "SPL_e7jnRLtzla" - * } - */ - DedicatedVirtualAccountSplit: { - /** @description Valid Dedicated virtual account */ - account_number: string; - /** @description Subaccount code of the account you want to split the transaction with */ - subaccount?: string; - /** @description Split code consisting of the lists of accounts you want to split the transaction with */ - split_code?: string; - }; - /** - * @example { - * "account_number": "0033322211" - * } - */ - DedicatedVirtualAccountRemoveSplit: { - /** @description Valid Dedicated virtual account */ - account_number: string; - }; - ApplePayDomainsResponse: { - status: boolean; - message: string; - data: { - domainNames: string[]; - }; - }; - /** - * @example { - * "domainName": "example.com" - * } - */ - ApplePayParam: { - /** @description The domain or subdomain for your application */ - domainName: string; - }; - /** - * @example { - * "status": true, - * "message": "Domain successfully registered on Apple Pay" - * } - */ - ApplePayCreateOkModel: { - /** @description An indicator */ - status?: boolean; - /** @description A short description of the response */ - message?: string; - }; - CapitecPayRequeryResponse: { - status: boolean; - type: string; - code: string; - data: { - status: string; - }; - message: string; - }; - PreAuthorizationInitialize: { - /** @description Amount should be in the subunit of the supported currency */ - amount: string; - /** @description Customer's email address */ - email: string; - /** - * @description Only ZAR is supported for now - * @enum {string} - */ - currency: "ZAR"; - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference?: string; - /** @description Fully qualified url, e.g. https://example.com/ . Use this to override the callback url provided on the dashboard for this transaction */ - callback_url?: string; - /** @description Stringified JSON object of custom data. */ - metadata?: string | Record; - /** @description The split code of the transaction split. e.g. SPL_98WF13Eb3w */ - split_code?: string; - /** @description The code for the subaccount that owns the payment. e.g. ACCT_8f4s1eq7ml6rlzj */ - subaccount?: string; - /** @description An amount used to override the split configuration for a single split payment. If set, the amount specified goes to the main account regardless of the split configuration. */ - transaction_charge?: number; - /** - * @description Specifies who will pay the Paystack transaction charges for this transaction. Either account or subaccount (defaults to account). - * @enum {string} - */ - bearer?: "account" | "subaccount"; - /** - * @description Specify the action to take on the expiry date. It’s either capture or release. Defaults to release. - * @enum {string} - */ - expire_action?: "capture" | "release"; - /** @description The number of days until the expire_action is executed. The minimum is 1 day and maximum 30 days. Defaults to 5 days. */ - expire_after_days?: number; - }; - PreAuthorizationInitializeResponse: { - status: boolean; - message: string; - data: { - authorization_url: string; - access_code: string; - reference: string; - }; - }; - PreAuthorizationCapture: { - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference: string; - /** - * @description Only ZAR is supported for now - * @enum {string} - */ - currency: "ZAR"; - /** @description Amount should be in the subunit of the supported currency */ - amount: string; - }; - FormulaSubaccountsArray: { - original_share: number; - fees: number; - share: number; - subaccount_code: string; - id: number; - name: string; - integration: string; - }; - ShareSubaccountsArray: { - amount: number; - original_share: number; - fees: number; - subaccount_code: string; - id: number; - integration: string; - }; - PreAuthorizationCaptureResponse: { - status: boolean; - message: string; - data: { - amount: number; - status: string; - gateway_response: string; - transaction: { - currency: string; - transaction_date: string; - status: string; - reference: string; - domain: string; - metadata: - | ( - | string - | { + data: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number: unknown; + amount: number; + message: unknown; + gateway_response: string; + helpdesk_link: unknown; + paid_at: string; + created_at: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: (string | { [key: string]: unknown; - } - ) - | null; - gateway_response: string; - message: string | null; - channel: string; - fees: number; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - }; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - id: number; - split?: { - id: number; - name: string; - split_code: string; - formula: { - type: string; - bearer_type: string; - bearer_subaccount: number; - subaccounts: components["schemas"]["FormulaSubaccountsArray"][]; - integration: number; - }; - shares: { - paystack: number; - subaccounts: components["schemas"]["ShareSubaccountsArray"][]; - integration: number; - original_share: number; - fees: number; - }; - }; - }; - amount_released?: number; - split_code: string | null; - split: { - type: string; - bearer_type: string; - subaccounts: components["schemas"]["SplitSubaccountsArray"][]; - } | null; - }; - }; - PreAuthorizationReserve: { - /** @description Customer's email address */ - email: string; - /** @description Amount should be in the subunit of the supported currency */ - amount: string; - /** @description This is the code that is used to charge and identify a customer's previously used card */ - authorization_code: string; - /** - * @description Only ZAR is supported for now - * @enum {string} - */ - currency: "ZAR"; - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference?: string; - }; - PreAuthorizationReserveWithAuthCodeResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message: string; - created_at: string; - released_at: string | null; - authorized_at: string | null; - expiry_date: string | null; - currency: string; - metadata: Record | null; - fees: number; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - }; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - merchant_id: number; - merchant_name: string; - expire_action: string; - split_code: string | null; - split: Record | null; - }; - }; - PreAuthorizationVerifyResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message: string; - currency: string; - redirecturl?: string; - }; - }; - PreAuthorizationRelease: { - /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ - reference: string; - }; - PreAuthorizationReleaseResponse: { - status: boolean; - message: string; - data: { - status: string; - reference: string; - }; - }; - PreAuthorizationListResponseArray: { - domain: string; - status: string; - reference: string; - amount: number; - created_at: string; - transaction_id: string | null; - captured_at: string | null; - released_at: string | null; - currency: string; - fees: number; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - id: number; - }; - PreAuthorizationListResponse: { - status: boolean; - message: string; - data: components["schemas"]["PreAuthorizationListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - PlanListResponseArray: { - subscriptions: unknown[]; - integration: number; - domain: string; - name: string; - plan_code: string; - description: unknown; - amount: number; - interval: string; - invoice_limit: number; - send_invoices: boolean; - send_sms: boolean; - hosted_page: boolean; - hosted_page_url: unknown; - hosted_page_summary: unknown; - currency: string; - id: number; - createdAt: string; - updatedAt: string; - }; - PlanListResponse: { - status: boolean; - message: string; - data: components["schemas"]["PlanListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "name": "Basic", - * "amount": 150000, - * "interval": "monthly" - * } - */ - PlanCreate: { - /** @description Name of plan */ - name: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount: number; - /** - * @description Payment interval - * @enum {string} - */ - interval: "daily" | "weekly" | "monthly" | "biannually" | "annually"; - /** @description A description for this plan */ - description?: string; - /** @description Set to false if you don't want invoices to be sent to your customers */ - send_invoices?: boolean; - /** @description Set to false if you don't want text messages to be sent to your customers */ - send_sms?: boolean; - /** @description Currency in which amount is set. Allowed values are NGN, GHS, ZAR, USD or XOF */ - currency?: string; - /** - * @description Number of invoices to raise during subscription to this plan. - * Can be overridden by specifying an invoice_limit while subscribing. - */ - invoice_limit?: number; - /** @description Stringified JSON object or JSON object of custom data */ - metadata?: string | Record | number; - }; - PlanCreateResponse: { - status: boolean; - message: string; - data: { - currency: string; - name: string; - amount: number; - interval: string; - integration: number; - domain: string; - plan_code: string; - send_invoices: boolean; - send_sms: boolean; - hosted_page: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - PlanFetchResponse: { - status: boolean; - message: string; - data: { - subscriptions: unknown[]; - integration: number; - domain: string; - name: string; - plan_code: string; - description: unknown; - amount: number; - interval: string; - invoice_limit?: number | null; - send_invoices: boolean; - send_sms: boolean; - hosted_page: boolean; - hosted_page_url: unknown; - hosted_page_summary: unknown; - currency: string; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "name": "Starter" - * } - */ - PlanUpdate: { - /** @description Name of plan */ - name?: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, send the amount multiplied by 100 even though the currency does not use fractional subunits. */ - amount?: number; - /** - * @description Payment interval - * @enum {string} - */ - interval?: "daily" | "weekly" | "monthly" | "biannually" | "annually"; - /** @description A description for this plan */ - description?: string; - /** @description Stringified JSON object or JSON object of custom data */ - metadata?: string | Record | number; - /** @description Set to false if you don't want invoices to be sent to your customers */ - send_invoices?: boolean; - /** @description Set to false if you don't want text messages to be sent to your customers */ - send_sms?: boolean; - /** @description Currency in which amount is set. Allowed values are NGN, GHS, ZAR, USD or XOF */ - currency?: string; - /** - * @description Number of invoices to raise during subscription to this plan. - * Can be overridden by specifying an invoice_limit while subscribing. - */ - invoice_limit?: number; - }; - PlanUpdateResponse: { - status: boolean; - message: string; - }; - SubscriptionListResponseArray: { - id: number; - domain: string; - status: string; - start: number; - quantity: number; - subscription_code: string; - email_token: string; - amount: number; - cron_expression: string | null; - next_payment_date: string | null; - open_invoice: unknown; - createdAt: string; - integration: number; - plan: { - id: number; - domain: string; - name: string; - plan_code: string; - description: unknown; - amount: number; - interval: string; - send_invoices: boolean; - send_sms: boolean; - currency: string; - integration: number; - createdAt: string; - updatedAt: string; - }; - authorization: { - authorization_code: string; - bin: string | null; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string | null; - bank: string; - country_code: string; - brand: string; - reusable: number; - signature: string | null; - account_name: unknown; - }; - customer: { - first_name: string; - last_name: string; - email: string; - phone: string; - metadata: unknown; - domain: string; - customer_code: string; - risk_action: string; - id: number; - integration: number; - createdAt: string; - updatedAt: string; - }; - }; - SubscriptionListResponse: { - status: boolean; - message: string; - data: components["schemas"]["SubscriptionListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "customer": "CUS_xnxdt6s1zg1f4nx", - * "plan": "PLN_gx2wn530m0i3w3m" - * } - */ - SubscriptionCreate: { - /** @description Customer's email address or customer code */ - customer: string; - /** @description Plan code */ - plan: string; - /** - * @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 - */ - authorization?: string; - /** - * Format: date-time - * @description Set the date for the first debit. (ISO 8601 format) e.g. 2017-05-16T00:30:13+01:00 - */ - start_date?: string; - }; - SubscriptionCreateResponse: { - status: boolean; - message: string; - data: { - customer: number; - plan: number; - integration: number; - domain: string; - start: number; - status: string; - quantity: number; - amount: number; - authorization: { - authorization_code?: string; - bin?: string; - last4?: string; - exp_month?: string; - exp_year?: string; - channel?: string; - card_type?: string; - bank?: string; - country_code?: string; - brand?: string; - reusable?: boolean; - signature?: string; - account_name?: unknown; - }; - subscription_code: string; - email_token: string; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - SubscriptionFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - status: string; - subscription_code: string; - email_token: string; - amount: number; - cron_expression: string; - next_payment_date: string; - open_invoice: unknown; - createdAt: string; - integration: number; - plan: { - domain: string; - id: number; - integration: number; - name: string; - plan_code: string; - description: unknown; - amount: number; - interval: string; - send_invoices: boolean; - send_sms: boolean; - hosted_page: boolean; - hosted_page_url: unknown; - hosted_page_summary: unknown; - currency: string; - createdAt: string; - updatedAt: string; - }; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: unknown; - }; - customer: { - domain: string; - id: number; - integration: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record; - createdAt: string; - updatedAt: string; - risk_action?: string; - international_format_phone?: string | null; - }; - start: number; - quantity: number; - invoices: unknown[]; - }; - }; - /** - * @example { - * "code": "SUB_vsyqdmlzble3uii", - * "token": "d7gofp6yppn3qz7" - * } - */ - SubscriptionToggle: { - /** @description Subscription code */ - code: string; - /** @description Email token */ - token: string; - }; - SubscriptionDisableResponse: { - status: boolean; - message: string; - }; - TransferRecipientListResponseArray: { - active: boolean; - createdAt: string; - currency: string; - description?: string | null; - domain: string; - email?: string | null; - id: number; - integration?: number; - metadata?: Record | null; - name: string; - recipient_code: string; - type: string; - updatedAt: string; - is_deleted?: boolean; - isDeleted?: boolean; - details: { - authorization_code: string | null; - account_number: string | null; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - }; - TransferRecipientListResponse: { - status: boolean; - message: string; - data: components["schemas"]["TransferRecipientListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "type": "nuban", - * "name": "Smith Taplo", - * "account_number": "01000000010", - * "bank_code": "058" - * } - */ - TransferRecipientCreate: { - /** - * @description Recipient Type - * @enum {string} - */ - type: "nuban" | "ghipss" | "mobile_money" | "basa" | "authorization"; - /** @description The recipient's name according to their account registration. */ - name: string; - /** @description Recipient's bank account number */ - account_number: string; - /** @description Recipient's bank code. You can get the list of Bank Codes by calling the List Banks endpoint */ - bank_code: string; - /** @description A description for this recipient */ - description?: string; - /** @description Currency for the account receiving the transfer */ - currency?: string; - /** @description An authorization code from a previous transaction */ - authorization_code?: string; - /** @description JSON object or stringified JSON of custom data */ - metadata?: string | Record | number; - }; - TransferRecipientCreateResponse: { - status: boolean; - message: string; - data: { - active: boolean; - createdAt: string; - currency: string; - description?: string | null; - domain: string; - email?: string | null; - id: number; - integration?: number; - metadata?: Record | null; - name: string; - recipient_code: string; - type: string; - updatedAt: string; - is_deleted?: boolean; - isDeleted?: boolean; - details: { - authorization_code: string | null; - account_number: string | null; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - }; - }; - TransferRecipientBulk: { - /** @description A list of transfer recipient object. */ - batch: components["schemas"]["TransferRecipientCreate"][]; - }; - ErrorRecordsArray: { - type: string; - name: string; - description: string; - account_number: string; - bank_code: string; - currency: string; - email: string; - }; - TransferRecipientErrorsArray: { - message: string; - records: components["schemas"]["ErrorRecordsArray"][]; - }; - TransferRecipientBulkCreateResponse: { - status: boolean; - message: string; - data: { - success: unknown[]; - errors: components["schemas"]["TransferRecipientErrorsArray"][]; - }; - }; - TransferRecipientFetchResponse: { - status: boolean; - message: string; - data: { - integration?: number; - domain: string; - type: string; - currency: string; - name: string; - details: { - account_number: string | null; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - description?: string | null; - metadata?: Record | null; - recipient_code: string; - active: boolean; - recipient_account?: string | null; - institution_code?: string | null; - email?: string | null; - id: number; - isDeleted?: boolean; - is_deleted?: boolean; - createdAt: string; - updatedAt: string; - }; - }; - TransferRecipientUpdate: { - /** @description Recipient's name */ - name?: string; - /** @description Recipient's email address */ - email?: string; - /** @description JSON object or stringified JSON of custom data */ - metadata?: string | Record | number; - }; - TransferRecipientUpdateResponse: { - status: boolean; - message: string; - data: { - type: string; - name: string; - metadata: Record | null; - domain: string; - details: { - account_number: string; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - currency: string; - recipient_code: string; - active: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - TransferRecipientDeleteResponse: { - status: boolean; - message: string; - }; - TransferListResponseArray: { - amount: number; - createdAt: string; - currency: string; - domain: string; - failures: unknown; - id: number; - integration: number; - reason: string; - reference: string; - source: string; - source_details: Record | null; - status: string; - titan_code: string | null; - transfer_code: string; - updatedAt: string; - recipient: { - active: boolean; - createdAt: string; - currency: string; - description?: string | null; - domain: string; - email?: string | null; - id: number; - integration: number; - metadata?: Record | null; - name: string; - recipient_code: string; - type: string; - updatedAt: string; - is_deleted?: boolean; - isDeleted?: boolean; - details: { - authorization_code: unknown; - account_number: string; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - }; - }; - TransferListResponse: { - status: boolean; - message: string; - data: components["schemas"]["TransferListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "amount": 120000, - * "recipient": "RCP_gd9vgag7n5lr5ix", - * "reference": "acv_9ee55786-2323-4760-98e2-6380c9cb3f68" - * } - */ - TransferBase: { - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount: number; - /** @description The transfer recipient's code */ - recipient: string; - /** @description To ensure idempotency, you need to provide e a unique identifier for the request. The identifier should be a lowercase alphanumeric string with only -,_ symbols allowed. */ - reference: string; - /** @description The reason or narration for the transfer. */ - reason?: string; - /** @description JSON object or stringified JSON of custom data */ - metadata?: string | Record | number; - }; - /** @description Transfer initiation model */ - TransferInitiate: components["schemas"]["TransferBase"] & { - /** - * @description The source of funds to send from - * @default balance - */ - source: string; - /** - * @description Specify the currency of the transfer. - * @default NGN - * @enum {string} - */ - currency: "NGN" | "ZAR" | "KES" | "GHS"; - }; - TransferCreateResponse: { - status: boolean; - message: string; - data: { - transfersessionid: unknown[]; - transfertrials: unknown[]; - domain: string; - amount: number; - currency: string; - reference: string; - source: string; - source_details: unknown; - reason: string; - status: string; - failures: unknown; - transfer_code: string; - titan_code: unknown; - transferred_at: unknown; - id: number; - integration: number; - request: number; - recipient: number; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "transfer_code": "TRF_vsyqdmlzble3uii", - * "otp": "928783" - * } - */ - TransferFinalize: { - /** @description The transfer code you want to finalize */ - transfer_code: string; - /** @description OTP sent to business phone to verify transfer */ - otp: string; - }; - /** - * @example { - * "source": "balance", - * "transfers": [ - * { - * "amount": 120000, - * "recipient": "RCP_gd9vgag7n5lr5ix", - * "reference": "acv_9ee55786-2323-4760-98e2-6380c9cb3f68" - * } - * ] - * } - */ - TransferBulk: { - /** - * @description The source of funds for the transfer. - * @default balance - */ - source: string; - /** - * @description Specify the currency of the transfer. - * @default NGN - * @enum {string} - */ - currency: "NGN" | "ZAR" | "KES" | "GHS" | "XOF"; - /** @description A list of transfer object */ - transfers: components["schemas"]["TransferBase"][]; - }; - TransferBulkResponseArray: { - reference: string; - recipient: string; - amount: number; - transfer_code: string; - currency: string; - status: string; - }; - TransferBulkResponse: { - status: boolean; - message: string; - data: components["schemas"]["TransferBulkResponseArray"][]; - }; - TransferFeesBreakdownArray: { - amount: string; - formula: unknown; - type: string; - }; - TransferFetchResponse: { - status: boolean; - message: string; - data: { - amount: number; - createdAt: string; - currency: string; - domain: string; - failures: Record | null; - id: number; - integration: number; - reason: string; - reference: string; - source: string; - source_details: Record | null; - status: string; - titan_code: string | null; - transfer_code: string; - request: number; - transferred_at: string | null; - updatedAt: string; - recipient: { - active: boolean; - createdAt: string; - currency: string; - description?: string | null; - domain: string; - email?: string | null; - id: number; - integration: number; - metadata?: Record | null; - name: string; - recipient_code: string; - type: string; - updatedAt: string; - is_deleted?: boolean; - isDeleted?: boolean; - details: { - authorization_code: unknown; - account_number: string; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - }; - session: { - provider: string | null; - id: string | null; - }; - fee_charged: number; - fees_breakdown: components["schemas"]["TransferFeesBreakdownArray"][] | null; - gateway_response: string | null; - }; - }; - TransferVerifyResponse: { - status: boolean; - message: string; - data: { - amount: number; - createdAt: string; - currency: string; - domain: string; - failures: Record | null; - id: number; - integration: number; - reason: string; - reference: string; - source: string; - source_details: Record | null; - status: string; - titan_code: string | null; - transfer_code: string; - transferred_at: string | null; - updatedAt: string; - recipient: { - active: boolean; - createdAt: string; - currency: string; - description?: string | null; - domain: string; - email?: string | null; - id: number; - integration: number; - metadata?: Record | null; - name: string; - recipient_code: string; - type: string; - updatedAt: string; - is_deleted?: boolean; - isDeleted?: boolean; - details: { - authorization_code: unknown; - account_number: string; - account_name: string; - bank_code: string; - bank_name: string; - }; - }; - session: { - provider: string | null; - id: string | null; - }; - gateway_response: string | null; - }; - }; - /** - * @example { - * "transfer_code": "TRF_vsyqdmlzble3uii", - * "reason": "resend_otp" - * } - */ - TransferResendOTP: { - /** @description The transfer code that requires an OTP validation */ - transfer_code: string; - /** - * @description Specify the flag to indicate the purpose of the OTP - * @default transfer - * @enum {string} - */ - reason: "disable_otp" | "resend_otp" | "transfer"; - }; - TransferResendsOtpResponse: { - status: boolean; - message: string; - }; - TransferDisablesOtpResponse: { - status: boolean; - message: string; - }; - /** - * @example { - * "otp": "928783" - * } - */ - TransferFinalizeDisableOTP: { - /** @description OTP sent to business phone to verify disabling OTP requirement */ - otp: string; - }; - TransferFinalizeDisablesOtpResponse: { - status: boolean; - message: string; - }; - TransferEnablesOtpResponse: { - status: boolean; - message: string; - }; - BalanceCheckResponseArray: { - currency: string; - balance: number; - }; - BalanceCheckResponse: { - status: boolean; - message: string; - data: components["schemas"]["BalanceCheckResponseArray"][]; - }; - BalanceFetchLedgerResponseArray: { - integration: number; - domain: string; - balance: number; - currency: string; - difference: number; - reason: string; - model_responsible: string; - model_row: number; - id: number; - createdAt: string; - updatedAt: string; - }; - BalanceFetchLedgerResponse: { - status: boolean; - message: string; - data: components["schemas"]["BalanceFetchLedgerResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - PaymentRequestLineItemsArray: { - name: string; - amount: number; - quantity: number; - }; - PaymentRequestTaxArray: { - name: string; - amount: number; - }; - PaymentRequestListResponseArray: { - id: number; - integration: number; - domain: string; - amount: number; - currency: string; - due_date: string | null; - has_invoice: boolean; - invoice_number: number | null; - description: string | null; - pdf_url: string | null; - line_items: components["schemas"]["PaymentRequestLineItemsArray"][]; - tax: components["schemas"]["PaymentRequestTaxArray"][]; - request_code: string; - status: string; - paid: boolean; - paid_at: string | null; - metadata: Record | null; - notifications: unknown[]; - offline_reference: string; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - created_at: string; - discount: Record | null; - split_code: string | null; - }; - PaymentRequestListResponse: { - status: boolean; - message: string; - data: components["schemas"]["PaymentRequestListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "customer": "CUS_xqp6o5oja5cackf", - * "amount": 10000 - * } - */ - PaymentRequestCreate: { - /** @description Customer id or code */ - customer: string; - /** - * @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. - */ - amount: number; - /** @description Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN */ - currency?: string; - /** - * Format: date-time - * @description ISO 8601 representation of request due date - */ - due_date?: string; - /** @description A short description of the payment request */ - description?: string; - /** @description Array of line items */ - line_items?: Record[]; - /** @description Array of taxes */ - tax?: Record[]; - /** @description Indicates whether Paystack sends an email notification to customer. Defaults to true */ - send_notification?: boolean; - /** @description Indicate if request should be saved as draft. Defaults to false and overrides send_notification */ - draft?: boolean; - /** @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 */ - has_invoice?: boolean; - /** @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. */ - invoice_number?: number; - /** @description The split code of the transaction split. */ - split_code?: string; - }; - PaymentRequestCreateResponse: { - status: boolean; - message: string; - data: { - id: number; - integration: number; - domain: string; - amount: number; - currency: string; - due_date: string | null; - has_invoice: boolean; - invoice_number: number | null; - description: string | null; - line_items: unknown[]; - tax: unknown[]; - request_code: string; - status: string; - paid: boolean; - metadata: Record | null; - notifications: unknown[]; - offline_reference: string; - customer: number; - created_at: string; - discount: unknown; - split_code: string | null; - }; - }; - PaymentRequestNotificationsArray: { - sent_at: string; - channel: string; - }; - PaymentRequestViewResponse: { - status: boolean; - message: string; - data: { - domain: string; - request_code: string; - description: string | null; - line_items: components["schemas"]["PaymentRequestLineItemsArray"][]; - tax: components["schemas"]["PaymentRequestTaxArray"][]; - amount: number; - discount: number | null; - currency: string; - due_date: string | null; - status: string; - paid: boolean; - paid_at: string | null; - metadata: Record | null; - has_invoice: boolean; - invoice_number: number | null; - offline_reference: string; - pdf_url: string | null; - notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; - archived: boolean; - source: string; - payment_method: string | null; - note: string | null; - amount_paid: number | null; - split_code: string | null; - id: number; - integration: number; - customer: { - first_name: string; - last_name: string; - email: string; - phone: string | null; - metadata: Record | null; - customer_code: string; - risk_action: string; - id: number; - international_format_phone?: string | null; - }; - createdAt: string; - updatedAt: string; - pending_amount: number; - }; - }; - /** - * @example { - * "amount": 15000 - * } - */ - PaymentRequestUpdate: { - /** @description Customer id or code */ - customer?: string; - /** - * @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. - */ - amount?: number; - /** @description Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN */ - currency?: string; - /** - * Format: date-time - * @description ISO 8601 representation of request due date - */ - due_date?: string; - /** @description A short description of the payment request */ - description?: string; - /** @description Array of line items */ - line_items?: Record[]; - /** @description Array of taxes */ - tax?: Record[]; - /** @description Indicates whether Paystack sends an email notification to customer. Defaults to true */ - send_notification?: boolean; - /** @description Indicate if request should be saved as draft. Defaults to false and overrides send_notification */ - draft?: boolean; - /** @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 */ - has_invoice?: boolean; - /** @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. */ - invoice_number?: number; - /** @description The split code of the transaction split. */ - split_code?: string; - }; - PaymentRequestUpdateResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - amount: number; - currency: string; - due_date: string | null; - has_invoice: boolean; - invoice_number: number | null; - description: string | null; - pdf_url: string | null; - line_items: unknown[]; - tax: unknown[]; - request_code: string; - status: string; - paid: boolean; - paid_at: string | null; - metadata: Record | null; - notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; - offline_reference: string; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - created_at: string; - discount?: Record | null; - split_code?: string | null; - }; - }; - PaymentRequestVerifyResponse: { - status: boolean; - message: string; - data: { - id: number; - integration: { - key: string; - name: string; - logo: string; - allowed_currencies: string[]; - }; - domain: string; - amount: number; - currency: string; - due_date: string | null; - has_invoice: boolean; - invoice_number: number | null; - description: string | null; - pdf_url: string | null; - line_items: unknown[]; - tax: unknown[]; - request_code: string; - status: string; - paid: boolean; - paid_at: string | null; - metadata: Record | null; - notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; - offline_reference: string; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - created_at: string; - discount?: Record | null; - split_code?: string | null; - pending_amount: number; - }; - }; - PaymentRequestSendNotificationResponse: { - status: boolean; - message: string; - }; - PaymentRequestPendingArray: { - currency: string; - amount: number; - }; - PaymentRequestSuccessfulArray: { - currency: string; - amount: number; - }; - PaymentRequestTotalArray: { - currency: string; - amount: number; - }; - PaymentRequestTotalResponse: { - status: boolean; - message: string; - data: { - pending: components["schemas"]["PaymentRequestPendingArray"][]; - successful: components["schemas"]["PaymentRequestSuccessfulArray"][]; - total: components["schemas"]["PaymentRequestTotalArray"][]; - }; - }; - PaymentRequestFinalizeResponse: { - status: boolean; - message: string; - data: { - id: number; - domain: string; - amount: number; - currency: string; - due_date: string | null; - has_invoice: boolean; - invoice_number: number | null; - description: string | null; - pdf_url: string | null; - line_items: components["schemas"]["PaymentRequestLineItemsArray"][]; - tax: components["schemas"]["PaymentRequestTaxArray"][]; - request_code: string; - status: string; - paid: boolean; - paid_at: string | null; - metadata: Record | null; - notifications: unknown[]; - offline_reference: string; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - created_at: string; - discount?: { - type: string; - amount: number; - } | null; - split_code?: string | null; - pending_amount: number; - }; - }; - PaymentRequestArchiveResponse: { - status: boolean; - message: string; - }; - ProductListsResponseArray: { - id: number; - name: string; - description: string; - product_code: string; - slug: string; - currency: string; - price: number; - quantity: number; - quantity_sold: number; - active: boolean; - domain: string; - type: string; - in_stock: boolean; - unlimited: boolean; - metadata: { - background_color: string; - }; - files: unknown[]; - success_message: string | null; - redirect_url: string | null; - split_code: string | null; - notification_emails: string[] | null; - minimum_orderable: number; - maximum_orderable: number | null; - createdAt: string; - updatedAt: string; - digital_assets: unknown[]; - variant_options: unknown[]; - is_shippable: boolean; - shipping_fields: { - delivery_note: string; - shipping_address?: string; - shipping_fees?: unknown[]; - }; - integration: number; - low_stock_alert: number; - }; - ProductListsResponse: { - status: boolean; - message: string; - data: components["schemas"]["ProductListsResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "name": "Cups", - * "description": "Environment friendly paper cups", - * "price": 10000, - * "currency": "NGN" - * } - */ - ProductCreate: { - /** @description Name of product */ - name: string; - /** @description The description of the product */ - description: string; - /** @description Price should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the price is the same as the base units (not multiplied by 100). */ - price: number; - /** @description Currency in which price is set. Allowed values are: NGN, GHS, ZAR, USD or XOF */ - currency: string; - /** - * @description Set to true if the product has unlimited stock. Leave as false if the - * product has limited stock - */ - unlimited?: boolean; - /** @description Number of products in stock. Use if limited is true */ - quantity?: number; - /** @description The split code if sharing the transaction with partners */ - split_code?: string; - /** @description Stringified JSON object of custom data */ - metadata?: string; - }; - ProductCreateResponse: { - status: boolean; - message: string; - data: { - name: string; - description: string; - currency: string; - price: number; - quantity: number; - is_shippable: boolean; - unlimited: boolean; - integration: number; - domain: string; - metadata: { - background_color: string; - }; - slug: string; - product_code: string; - quantity_sold: number; - type: string; - shipping_fields: { - delivery_note: string; - }; - active: boolean; - in_stock: boolean; - minimum_orderable: number; - maximum_orderable: unknown; - low_stock_alert: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - ProductFetchResponse: { - status: boolean; - message: string; - data: { - digital_assets: unknown[]; - integration: number; - name: string; - description: string; - product_code: string; - price: number; - currency: string; - quantity: number; - quantity_sold: unknown; - type: string; - files: unknown[] | null; - file_path: string | null; - is_shippable: boolean; - shipping_fields: { - delivery_note: string; - shipping_address?: string; - shipping_fees?: unknown[]; - }; - unlimited: boolean; - domain: string; - active: boolean; - features: Record | null; - in_stock: boolean; - metadata: { - background_color: string; - }; - slug: string; - success_message: string | null; - redirect_url: string | null; - split_code: string | null; - notification_emails: string[] | null; - minimum_orderable: number; - maximum_orderable: number | null; - low_stock_alert: boolean; - stock_threshold: number | null; - expires_in: number | null; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "name": "Spoon", - * "description": "Environment friendly paper spoons", - * "price": 5000, - * "currency": "NGN" - * } - */ - ProductUpdate: { - /** @description Name of product */ - name?: string; - /** @description The description of the product */ - description?: string; - /** @description Price should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the price is the same as the base units (not multiplied by 100). */ - price?: number; - /** @description Currency in which price is set. Allowed values are: NGN, GHS, ZAR or USD */ - currency?: string; - /** - * @description Set to true if the product has unlimited stock. Leave as false if the - * product has limited stock - */ - unlimited?: boolean; - /** @description Number of products in stock. Use if limited is true */ - quantity?: number; - /** @description The split code if sharing the transaction with partners */ - split_code?: string; - /** @description JSON object of custom data */ - metadata?: Record; - }; - ProductUpdateResponse: { - status: boolean; - message: string; - data: { - name: string; - description: string; - product_code: string; - price: number; - currency: string; - quantity: number; - quantity_sold: unknown; - type: string; - image_path: string; - file_path: string; - is_shippable: boolean; - unlimited: boolean; - domain: string; - active: boolean; - features: unknown; - in_stock: boolean; - metadata: unknown; - id: number; - integration: number; - createdAt: string; - updatedAt: string; - }; - }; - ProductDeleteResponse: { - status: boolean; - message: string; - }; - StorefrontListResponseArray: { - id: number; - name: string; - slug: string; - description: string | null; - status: string; - currency: string; - createdAt: string; - updatedAt: string; - }; - StorefrontListResponse: { - status: boolean; - message: string; - data: components["schemas"]["StorefrontListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "name": "Obi and Sons", - * "slug": "obi_and_sons", - * "currency": "NGN" - * } - */ - StorefrontCreate: { - /** @description Name of the storefront */ - name: string; - /** @description A unique identifier to access your store. Once the storefront is created, it can be accessed from https://paystack.shop/your-slug */ - slug: string; - /** - * @description Currency for prices of products in your storefront. - * @enum {string} - */ - currency: "GHS" | "KES" | "NGN" | "USD" | "ZAR"; - /** @description The description of the storefront */ - description?: string; - }; - StorefrontCreateResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - slug: string; - description: string | null; - status: string; - currency: string; - createdAt: string; - updatedAt: string; - }; - }; - StorefrontFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - name: string; - slug: string; - description: string | null; - status: string; - currency: string; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "description": "Import and Export" - * } - */ - StorefrontUpdate: { - /** @description Name of the storefront */ - name?: string; - /** - * @description A unique identifier to access your store. Once the storefront is created, it can be accessed from - * https://paystack.shop/your-slug - */ - slug?: string; - /** @description The description of the storefront */ - description?: string; - }; - StorefrontUpdateResponse: { - status: boolean; - message: string; - }; - StorefrontDeleteResponse: { - status: boolean; - message: string; - }; - /** - * @example { - * "products": [ - * 2196244, - * 2179824 - * ] - * } - */ - StorefrontAddProducts: { - /** @description An array of product IDs */ - products: number[]; - }; - OrderListResponseArray: { - id: number; - code: string; - amount: number; - currency: string; - status: string; - customer: { - email: string; - }; - createdAt: string; - }; - OrderListResponse: { - status: boolean; - message: string; - data: components["schemas"]["OrderListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @description The collection of items that make up the order - * @example { - * "item": 2179824, - * "type": "product", - * "quantity": 200000, - * "amount": 2 - * } - */ - OrderItems: { - /** @description The product ID of the item */ - item: number; - /** @description The type of the item. `product` is currently the acceptable value */ - type: string; - /** @description The number of items to get */ - quantity: number; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount: number; - }; - /** - * @description The shipping details of the order - * @example { - * "street_line": "Somewhere on Earth", - * "city": "Atlantic", - * "state": "Pacific", - * "country": "Equator", - * "shipping_fee": 10000 - * } - */ - OrderShipping: { - /** @description The address of for the delivery */ - street_line: string; - /** @description The city of the delivery address */ - city: string; - /** @description The state of the delivery address */ - state: string; - /** @description The country of the delivery address */ - country: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - shipping_fee: number; - /** @description Extra details to be aware of for the delivery */ - delivery_note?: string; - }; - /** - * @example { - * "email": "test@email.com", - * "first_name": "Demo", - * "last_name": "User", - * "phone": "+2348031245678", - * "currency": "NGN", - * "items": [ - * { - * "item": 2179824, - * "type": "product", - * "quantity": 200000, - * "amount": 2 - * } - * ], - * "shipping": { - * "street_line": "Somewhere on Earth", - * "city": "Atlantic", - * "state": "Pacific", - * "country": "Equator", - * "shipping_fee": 10000 - * } - * } - */ - OrderCreate: { - /** @description The email of the customer placing the order */ - email: string; - /** @description The customer's first name */ - first_name: string; - /** @description The customer's last name */ - last_name: string; - /** @description The customer's mobile number */ - phone: string; - /** - * @description Currency in which amount is set - * @enum {string} - */ - currency: "GHS" | "KES" | "NGN" | "USD" | "ZAR" | "XOF"; - items: components["schemas"]["OrderItems"][]; - shipping: components["schemas"]["OrderShipping"]; - /** @description A flag to indicate if the order is for someone else */ - is_gift?: boolean; - /** @description A flag to indicate if the someone else should pay for the order */ - pay_for_me?: boolean; - }; - OrderCreateResponse: { - status: boolean; - message: string; - data: { - discounts: unknown[]; - currency: string; - shipping_address: unknown; - integration: number; - domain: string; - email: string; - customer: number; - amount: number; - pay_for_me: boolean; - shipping: { - customer: number; - integration: number; - domain: string; - fees: number; - delivery_note: unknown; - street_line: string; - city: string; - state: string; - country: string; - is_shipped: boolean; - delivery_tracking_link: unknown; - id: number; - createdAt: string; - updatedAt: string; - } | null; - shipping_fees: number; - shipping_method?: { - region: string; - fee: number; - currency: string; - }; - metadata: Record; - order_code: string; - status: string; - refunded: boolean; - is_viewed: boolean; - expiration_date: unknown; - id: number; - createdAt: string; - updatedAt: string; - items: unknown[]; - pay_for_me_code: string; - discount_amount: number; - }; - }; - OrderFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - code: string; - amount: number; - currency: string; - status: string; - customer: { - id: number; - email: string; - }; - line_items: { - product: { - id: number; - name: string; - }; - quantity: number; - amount: number; - }[]; - createdAt: string; - }; - }; - OrderFetchProductResponseArray: { - order_id: number; - transaction: number; - order_code: string; - customer: number; - first_name: string; - last_name: string; - customer_name: string; - phone: string; - email: string; - product_code: string; - product_id: number; - product_name: string; - price: number; - quantity_sold: number; - currency: string; - quantity: number; - variant_id: unknown; - variant_price: unknown; - variant_code: unknown; - amount: number; - shipping_method: unknown; - status: string; - shipping_address: unknown; - refunded: boolean; - shipping: unknown; - paid_at: string; - created_at: string; - is_shipped: boolean; - is_viewed: number; - delivery_note: unknown; - shipping_fee: unknown; - amount_paid: number; - storefront_slug: string; - }; - OrderFetchProductResponse: { - status: boolean; - message: string; - data: components["schemas"]["OrderFetchProductResponseArray"][]; - meta: components["schemas"]["Meta"] & { - quantity_sold: number; - revenue: number; - }; - }; - OrderValidateResponse: { - status: boolean; - message: string; - data: { - order_code: string; - domain: string; - currency: string; - amount: number; - email: string; - status: string; - refunded: boolean; - paid_at: unknown; - shipping_address: unknown; - metadata: unknown; - shipping_fees: number; - shipping_method: unknown; - is_viewed: boolean; - expiration_date: string; - pay_for_me: boolean; - id: number; - integration: { - key: string; - name: string; - logo: string; - allowed_currencies: unknown[]; - }; - transaction: unknown; - page: unknown; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string; - metadata: Record; - risk_action: string; - international_format_phone: string; - }; - shipping: unknown; - createdAt: string; - updatedAt: string; - payer: unknown; - }; - }; - PageListResponseArray: { - integration: number; - plan: unknown; - domain: string; - name: string; - description: string | null; - amount: number | null; - currency: string; - slug: string; - custom_fields: unknown[] | null; - type: string; - redirect_url: string | null; - success_message: string | null; - collect_phone: boolean; - active: boolean; - published: boolean; - migrate: boolean; - notification_email: unknown; - metadata: Record | null; - split_code: unknown; - id: number; - createdAt: string; - updatedAt: string; - }; - PageListResponse: { - status: boolean; - message: string; - data: components["schemas"]["PageListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - /** - * @example { - * "name": "Extra Charges", - * "amount": 200000 - * } - */ - PageCreate: { - /** @description Name of page */ - name: string; - /** @description The description of the page */ - description?: string; - /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ - amount?: number; - /** - * @description The transaction currency. Defaults to your integration currency. - * @enum {string} - */ - currency?: "NGN" | "GHS" | "ZAR" | "KES" | "USD" | "XOF"; - /** @description URL slug you would like to be associated with this page. Page will be accessible at `https://paystack.com/pay/[slug]` */ - slug?: string; - /** - * @description The type of payment page to create. Defaults to `payment` if no type is specified. - * @enum {string} - */ - type?: "payment" | "subscription" | "product" | "plan"; - /** @description The ID of the plan to subscribe customers on this payment page to when `type` is set to `subscription`. */ - plan?: string; - /** @description Specifies whether to collect a fixed amount on the payment page. If true, `amount` must be passed. */ - fixed_amount?: boolean; - /** @description The split code of the transaction split. e.g. `SPL_98WF13Eb3w` */ - split_code?: string; - /** @description JSON object of custom data */ - metadata?: Record; - /** @description If you would like Paystack to redirect to a URL upon successful payment, specify the URL here. */ - redirect_url?: string; - /** @description A success message to display to the customer after a successful transaction */ - success_message?: string; - /** @description An email address that will receive transaction notifications for this payment page */ - notification_email?: string; - /** @description Specify whether to collect phone numbers on the payment page */ - collect_phone?: boolean; - /** @description If you would like to accept custom fields, specify them here. */ - custom_fields?: Record[]; - }; - PageCreateResponse: { - status: boolean; - message: string; - data: { - name: string; - description?: string | null; - amount: number | null; - split_code?: string | null; - integration: number; - domain: string; - slug: string; - currency: string; - type: string; - collect_phone: boolean; - active: boolean; - published: boolean; - migrate: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - PageProductsArray: { - product_id: number; - name: string; - description: string; - product_code: string; - page: number; - price: number; - currency: string; - quantity: number; - type: string; - features: unknown; - is_shippable: number; - domain: string; - integration: number; - active: number; - in_stock: number; - }; - PageFetchResponse: { - status: boolean; - message: string; - data: { - integration: number; - domain: string; - name: string; - description?: string | null; - amount: number | null; - currency: string; - slug: string; - active: boolean; - id: number; - createdAt: string; - updatedAt: string; - products: components["schemas"]["PageProductsArray"][]; - }; - }; - /** - * @example { - * "name": "Backyard Sale" - * } - */ - PageUpdate: { - /** @description Name of page */ - name?: string; - /** @description The description of the page */ - description?: string; - /** @description Amount should be in the subunit of the currency */ - amount?: number; - /** @description Set to false to deactivate page url */ - active?: boolean; - }; - PageUpdateResponse: { - status: boolean; - message: string; - data: { - domain: string; - name: string; - description?: string | null; - amount: number | null; - currency: string; - slug: string; - active: boolean; - id: number; - integration: number; - createdAt: string; - updatedAt: string; - }; - }; - PageCheckSlugAvailabilityResponse: { - status: boolean; - message: string; - }; - /** - * @example { - * "products": [ - * 2196244, - * 2179824 - * ] - * } - */ - PageProduct: { - /** @description A list of IDs of products to add to a page. */ - products: number[]; - }; - PageAddProductsResponse: { - status: boolean; - message: string; - data: { - integration: number; - plan: unknown; - domain: string; - name: string; - description?: string | null; - amount: number | null; - currency: string; - slug: string; - custom_fields?: unknown; - type: string; - redirect_url?: unknown; - success_message?: unknown; - collect_phone: boolean; - active: boolean; - published: boolean; - migrate: boolean; - notification_email?: string | null; - metadata?: Record | null; - split_code?: string | null; - id: number; - createdAt: string; - updatedAt: string; - products: components["schemas"]["PageProductsArray"][]; - }; - }; - SettlementListResponseArray: { - id: number; - domain: string; - status: string; - currency: string; - integration: number; - total_amount: number; - effective_amount: number; - total_fees: number; - total_processed: number; - deductions: number | null; - /** Format: date-time */ - settlement_date: string; - settled_by: string | null; - /** Format: date-time */ - createdAt: string; - /** Format: date-time */ - updatedAt: string; - }; - SettlementListResponse: { - status: boolean; - message: string; - data: components["schemas"]["SettlementListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - SettlementTransactionsResponse: { - status: boolean; - message: string; - data: components["schemas"]["TransactionListResponseArray"][]; - meta: components["schemas"]["MetaWithVolume"]; - }; - ControlPanelFetchPaymentSessionTimeoutResponse: { - status: boolean; - message: string; - data: { - payment_session_timeout: number; - }; - }; - PaymentSession: { - /** - * @description Time in seconds before a transaction becomes invalid - * @example 30 - */ - timeout: number; - }; - ControlPanelUpdatePaymentSessionTimeoutResponse: { - status: boolean; - message: string; - data: { - payment_session_timeout: number; - }; - }; - RefundListResponseArray: { - id: number; - integration: number; - domain: string; - transaction: number; - dispute: number | null; - amount: number; - deducted_amount: number | null; - currency: string; - channel: string; - settlement: number | null; - refunded_by: string; - refunded_at: string | null; - expected_at: string; - customer_note: string; - merchant_note: string; - fully_deducted: number | null; - created_at: string; - updated_at: string; - status: string; - }; - RefundListResponse: { - status: boolean; - message: string; - data: components["schemas"]["RefundListResponseArray"][]; - }; - /** - * @example { - * "transaction": "mpkr39h74k" - * } - */ - RefundCreate: { - /** @description The reference of a previosuly completed transaction */ - transaction: string; - /** - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - * Amount to be refunded to the customer. It cannot be more than the original transaction amount. - */ - amount?: number; - /** - * @description Three-letter ISO currency - * @enum {string} - */ - currency?: "GHS" | "KES" | "NGN" | "USD" | "ZAR" | "XOF"; - /** @description Customer reason */ - customer_note?: string; - /** @description Merchant reason */ - merchant_note?: string; - }; - RefundCreateResponse: { - status: boolean; - message: string; - data: { - transaction: { - id: number; - domain: string; - reference: string; - amount: number; - paid_at: string; - channel: string; - currency: string; - authorization: { - exp_month: unknown; - exp_year: unknown; - account_name: unknown; - }; - customer: { - international_format_phone?: string | null; - }; - plan: Record; - subaccount: { - currency: unknown; - }; - split: Record; - order_id: unknown; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - }; - integration: number; - deducted_amount: number; - channel: unknown; - merchant_note: string; - customer_note: string; - status: string; - refunded_by: string; - expected_at: string; - currency: string; - domain: string; - amount: number; - fully_deducted: boolean; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @description An object that contains the customer’s account details for refund - * @example { - * "currency": "NGN", - * "account_number": "1234567890", - * "bank_id": "9" - * } - */ - RefundRetryAccountDetails: { - /** @description The currency of the customer's bank account. It should be the same as the currency the payment was made */ - currency: string; - /** @description The customer's account number */ - account_number: string; - /** @description The ID representing the customer's bank. You can get the list of bank IDs by calling the List Banks endpoint. */ - bank_id: string; - }; - RefundRetry: { - refund_account_details: components["schemas"]["RefundRetryAccountDetails"]; - }; - /** Generated schema for Root */ - RefundRetryResponse: { - status: boolean; - message: string; - data: { - integration: number; - transaction: number; - dispute: Record; - settlement: Record; - id: number; - domain: string; - currency: string; - amount: number; - status: string; - refunded_at: string | null; - expected_at: string; - channel: string; - refunded_by: string; - customer_note: string; - merchant_note: string; - deducted_amount: number; - fully_deducted: boolean; - bank_reference: string | null; - reason: string; - customer: Record; - initiated_by: string; - reversed_at: string | null; - session_id: string | null; - }; - }; - RefundFetchResponse: { - status: boolean; - message: string; - data: { - integration: number; - transaction: number; - dispute: number | null; - settlement: number | null; - domain: string; - amount: number; - deducted_amount: number; - fully_deducted: boolean; - currency: string; - channel: string; - status: string; - refunded_by: string; - refunded_at: string; - expected_at: string; - customer_note: string; - merchant_note: string; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - DisputeHistoryArray: { - status: string; - by: string; - createdAt: string; - }; - DisputeMessagesArray: { - sender: string; - body: string; - createdAt: string; - }; - DisputeListResponseArray: { - id: number; - refund_amount: number | null; - currency: string | null; - status: string; - resolution?: unknown; - domain: string; - transaction: { - id: number; - domain: string; - status: string; - reference: string; - amount: number; - message: unknown; - gateway_response: string; - paid_at?: string | null; - created_at?: string; - channel: string; - currency: string; - ip_address: string; - metadata: { - custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; - }; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + }) | null; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + receiver_bank_account_number?: string | null; + receiver_bank?: string | null; + }; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + subaccount: Record | null; + split: Record | null; + order_id: unknown; + requested_amount: number; + pos_transaction_data: unknown; + source: { + type?: string; + source?: string; + identifier?: string | null; + } | null; + fees_breakdown: unknown; + connect: unknown; + }; + }; + TransactionTimelineResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: Record; - customer: unknown; - plan: Record; - subaccount: Record; - split: Record; - order_id: unknown; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - connect: unknown; - }; - transaction_reference?: unknown; - category: string | null; - customer: { - id: number; - first_name?: string; - last_name?: string; - email: string; - customer_code: string; - phone?: string | null; - metadata?: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - bin: string | null; - last4: string | null; - dueAt?: unknown; - resolvedAt?: unknown; - evidence?: unknown; - attachments?: unknown; - note?: unknown; - history: components["schemas"]["DisputeHistoryArray"][]; - messages: components["schemas"]["DisputeMessagesArray"][]; - createdAt: string; - updatedAt: string; - }; - DisputeListResponse: { - status: boolean; - message: string; - data: components["schemas"]["DisputeListResponseArray"][]; - meta: components["schemas"]["Meta"]; - }; - DisputeFetchResponse: { - status: boolean; - message: string; - data: { - id: number; - refund_amount: number | null; - currency: string | null; - status: string; - resolution?: unknown; - domain: string; - transaction: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number?: number | null; - amount: number; - message: unknown; - gateway_response: string; - paid_at: string; - created_at: string; - channel: string; - currency: string; - ip_address: string; - metadata: { - custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; - }; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; - message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: { - receiver_bank_account_number?: unknown; - receiver_bank?: unknown; - }; - customer: { - international_format_phone?: string | null; - }; - plan: Record; - subaccount: Record; - split: Record; - order_id: unknown; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - connect: unknown; - }; - transaction_reference?: unknown; - category: string | null; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - bin: string | null; - last4: string | null; - dueAt?: unknown; - resolvedAt?: unknown; - evidence?: unknown; - attachments?: unknown; - note?: unknown; - history: components["schemas"]["DisputeHistoryArray"][]; - messages: components["schemas"]["DisputeMessagesArray"][]; - createdAt: string; - updatedAt: string; - }; - }; - /** - * @example { - * "refund_amount": 50000 - * } - */ - DisputeUpdate: { - /** @description The amount to refund, in the subunit of your currency */ - refund_amount: number; - /** @description Filename of attachment returned via response from the Dispute upload URL */ - uploaded_filename?: string; - }; - DisputeUpdateResponse: { - status: boolean; - message: string; - data: { - id: number; - refund_amount: number | null; - currency: string | null; - status: string; - resolution?: unknown; - domain: string; - transaction: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number?: number | null; - amount: number; - message: unknown; - gateway_response: string; - paid_at: string; - created_at: string; - channel: string; - currency: string; - ip_address: string; - metadata: { - custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; - }; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; - message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: { - receiver_bank_account_number?: unknown; - receiver_bank?: unknown; - }; - customer: { - international_format_phone?: string | null; - }; - plan: Record; - subaccount: Record; - split: Record; - order_id: unknown; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - connect: unknown; - }; - transaction_reference?: unknown; - category: string | null; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - bin: string | null; - last4: string | null; - dueAt?: unknown; - resolvedAt?: unknown; - evidence?: unknown; - attachments?: unknown; - note?: unknown; - history: components["schemas"]["DisputeHistoryArray"][]; - messages: components["schemas"]["DisputeMessagesArray"][]; - createdAt: string; - updatedAt: string; - }; - }; - DisputeUploadURLResponse: { - status: boolean; - message: string; - data: { - signedUrl: string; - fileName: string; - }; - }; - DisputeExportResponse: { - status: boolean; - message: string; - data: { - path: string; - expiresAt: string; - }; - }; - DisputeListTransactionResponse: { - status: boolean; - message: string; - data: { - history: components["schemas"]["DisputeHistoryArray"][]; - messages: components["schemas"]["DisputeMessagesArray"][]; - currency: string | null; - last4: string | null; - bin: string | null; - transaction_reference?: unknown; - merchant_transaction_reference: string | null; - refund_amount: number | null; - status: string; - domain: string; - resolution?: unknown; - category: string | null; - note?: unknown; - attachments?: unknown; - id: number; - integration: number; - transaction: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number?: number | null; - amount: number; - message: unknown; - gateway_response: string; - paid_at?: string | null; - created_at?: string; - channel: string; - currency: string; - ip_address: string; - metadata: { - custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; - }; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; - message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: { - receiver_bank_account_number?: unknown; - receiver_bank?: unknown; - }; - customer: { - international_format_phone?: string | null; - }; - plan: Record; - subaccount: Record; - split: Record; - order_id: unknown; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - connect: Record | null; - }; - created_by: number | null; - evidence?: unknown; - resolvedAt?: unknown; - createdAt: string; - updatedAt: string; - dueAt?: unknown; - }; - }; - /** - * @example { - * "resolution": "merchant-accepted", - * "message": "Merchant accepted", - * "refund_amount": 50000, - * "uploaded_filename": "qesp8a4df1xejihd9x5q" - * } - */ - DisputeResolve: { - /** @description Dispute resolution. Accepted values, merchant-accepted, declined */ - resolution: string; - /** @description Reason for resolving */ - message: string; - /** @description The amount to refund, in the subunit of your integration currency */ - refund_amount: number; - /** @description Filename of attachment returned via response from the Dispute upload URL */ - uploaded_filename: string; - /** @description Evidence Id for fraud claims */ - evidence?: number; - }; - DisputeResolveResponse: { - status: boolean; - message: string; - data: { - currency: string; - last4: string | null; - bin: string | null; - transaction_reference?: string | null; - merchant_transaction_reference: string | null; - refund_amount: number; - status: string; - domain: string; - resolution: string; - category: string; - note?: unknown; - attachments: string; - id: number; - integration?: number; - transaction: Record; - created_by: number; - evidence: number | null; - resolvedAt: string; - createdAt: string; - updatedAt: string; - dueAt?: unknown; - message: { - dispute: number; - sender: string; - body: string; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - }; - /** - * @example { - * "customer_email": "customer@email.com", - * "customer_name": "Mensah King", - * "customer_phone": "08012345678", - * "service_details": "claim for buying cups" - * } - */ - DisputeEvidence: { - /** @description Customer email */ - customer_email: string; - /** @description Customer name */ - customer_name: string; - /** @description Customer mobile number */ - customer_phone: string; - /** @description Details of service offered */ - service_details: string; - /** @description Delivery address */ - delivery_address?: string; - /** - * Format: date-time - * @description ISO 8601 representation of delivery date (YYYY-MM-DD) - */ - delivery_date?: string; - }; - DisputeAddEvidenceResponse: { - status: boolean; - message: string; - data: { - customer_email: string; - customer_name: string; - customer_phone: string; - service_details: string; - delivery_address: string; - delivery_date: string; - dispute: number; - id: number; - createdAt: string; - updatedAt: string; - }; - }; - MiscellaneousListBanksResponseArray: { - name: string; - slug: string; - code: string; - longcode: string; - gateway: string | null; - pay_with_bank: boolean; - supports_transfer: boolean; - available_for_direct_debit: boolean; - active: boolean; - is_deleted: boolean | null; - country: string; - currency: string; - type: string; - id: number; - createdAt: string; - updatedAt: string; - }; - MiscellaneousListBanksResponse: { - status: boolean; - message: string; - data: components["schemas"]["MiscellaneousListBanksResponseArray"][]; - }; - VerificationResolveAccountNumberResponse: { - status: boolean; - message: string; - data: { - account_number: string; - account_name: string; - }; - }; - /** - * @example { - * "account_name": "Ann Bron", - * "account_number": "0123456789", - * "account_type": "personal", - * "bank_code": "632005", - * "country_code": "ZA", - * "document_type": "identityNumber", - * "document_number": "1234567890123" - * } - */ - BankValidateRequest: { - /** @description Customer's first and last name registered with their bank */ - account_name: string; - /** @description Customer's account number */ - account_number: string; - /** - * @description The type of the customer's account number - * @enum {string} - */ - account_type: "personal" | "business"; - /** @description The bank code of the customer’s bank. You can fetch the bank codes by using our List Banks endpoint */ - bank_code: string; - /** @description The two digit ISO code of the customer’s bank */ - country_code: string; - /** - * @description Customer’s mode of identity - * @enum {string} - */ - document_type: "identityNumber" | "passportNumber" | "businessRegistrationNumber"; - /** @description Customer’s mode of identity number */ - document_number?: string; - }; - VerificationValidateAccountResponse: { - status: boolean; - message: string; - data: { - verified: boolean; - verificationMessage: string; - accountAcceptsDebits: boolean; - accountAcceptsCredits: boolean; - accountOpenForMoreThanThreeMonths: boolean; - accountHolderMatch: boolean; - accountOpen: boolean; - }; - }; - VerificationResolveCardBINResponse: { - status: boolean; - message: string; - data: { - bin: string; - brand: string; - sub_brand: string; - country_code: string; - country_name: string; - card_type: string; - bank: string; - linked_bank_id: number; - }; - }; - MiscellaneousListCountriesResponseArray: { - id: number; - active_for_dashboard_onboarding: boolean; - name: string; - iso_code: string; - default_currency_code: string; - integration_defaults: Record; - calling_code: string; - pilot_mode: boolean; - relationships: { - currency: { - type: string; - data: string[]; - supported_currencies: { - NGN: { - bank: { - bank_type: string; - branch_code: boolean; - branch_code_type: string; - account_name: boolean; - account_verification_required: boolean; - account_number_label: string; - account_number_pattern: { - exact_match: boolean; - pattern: string; - }; - documents: unknown[]; - show_account_number_tooltip: boolean; - }; - }; - USD: { - bank: { - bank_type: string; - required_fields: string[]; - branch_code: boolean; - branch_code_type: string; - account_name: boolean; - account_verification_required: boolean; - account_number_label: string; - account_number_pattern: { - exact_match: boolean; - pattern: string; - }; - documents: unknown[]; - notices: string[]; - }; - }; - }; - }; - integration_feature: { - type: string; - data: unknown[]; - }; - integration_type: { - type: string; - data: string[]; - }; - payment_method: { - type: string; - data: string[]; - }; - }; - }; - MiscellaneousListCountriesResponse: { - status: boolean; - message: string; - data: components["schemas"]["MiscellaneousListCountriesResponseArray"][]; - }; - MiscellaneousListStatesResponseArray: { - name: string; - slug: string; - abbreviation: string; - }; - MiscellaneousListStatesResponse: { - status: boolean; - message: string; - data: components["schemas"]["MiscellaneousListStatesResponseArray"][]; - }; - data: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number: unknown; - amount: number; - message: unknown; - gateway_response: string; - helpdesk_link: unknown; - paid_at: string; - created_at: string; - channel: string; - currency: string; - ip_address: string | null; - metadata: - | ( - | string - | { - [key: string]: unknown; - } - ) - | null; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; - message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: string | null; - receiver_bank_account_number?: string | null; - receiver_bank?: string | null; - }; - customer: { - id: number; - first_name: string | null; - last_name: string | null; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - plan: Record | null; - subaccount: Record | null; - split: Record | null; - order_id: unknown; - requested_amount: number; - pos_transaction_data: unknown; - source: { - type?: string; - source?: string; - identifier?: string | null; - } | null; - fees_breakdown: unknown; - connect: unknown; - }; - "data-2": { - amount: number; - createdAt: string; - currency: string; - domain: string; - failures: Record | null; - id: number; - integration: number; - reason: string; - reference: string; - source: string; - source_details: Record | null; - status: string; - titan_code: string | null; - transfer_code: string; - request: number; - transferred_at: string | null; - updatedAt: string; - recipient: { - active: boolean; - createdAt: string; - currency: string; - description?: string | null; - domain: string; - email?: string | null; - id: number; - integration: number; - metadata?: Record | null; - name: string; - recipient_code: string; - type: string; - updatedAt: string; - is_deleted?: boolean; - isDeleted?: boolean; - details: { - authorization_code: unknown; - account_number: string; - account_name: string | null; - bank_code: string; - bank_name: string; - }; - }; - session: { - provider: string | null; - id: string | null; - }; - fee_charged: number; - fees_breakdown: components["schemas"]["TransferFeesBreakdownArray"][] | null; - gateway_response: string | null; - }; - "data-3": { - id: number; - domain: string; - status: string; - subscription_code: string; - email_token: string; - amount: number; - cron_expression: string; - next_payment_date: string; - open_invoice: unknown; - createdAt: string; - integration: number; - plan: { - domain: string; - id: number; - integration: number; - name: string; - plan_code: string; - description: unknown; - amount: number; - interval: string; - send_invoices: boolean; - send_sms: boolean; - hosted_page: boolean; - hosted_page_url: unknown; - hosted_page_summary: unknown; - currency: string; - createdAt: string; - updatedAt: string; - }; - authorization: { - authorization_code: string; - bin: string; - last4: string; - exp_month: string; - exp_year: string; - channel: string; - card_type: string; - bank: string; - country_code: string; - brand: string; - reusable: boolean; - signature: string; - account_name: unknown; - }; - customer: { - domain: string; - id: number; - integration: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record; - createdAt: string; - updatedAt: string; - risk_action?: string; - international_format_phone?: string | null; - }; - start: number; - quantity: number; - invoices: unknown[]; - }; - "data-4": { - id: number; - integration: { - key: string; - name: string; - logo: string; - allowed_currencies: string[]; - }; - domain: string; - amount: number; - currency: string; - due_date: string | null; - has_invoice: boolean; - invoice_number: number | null; - description: string | null; - pdf_url: string | null; - line_items: unknown[]; - tax: unknown[]; - request_code: string; - status: string; - paid: boolean; - paid_at: string | null; - metadata: Record | null; - notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; - offline_reference: string; - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - created_at: string; - discount?: Record | null; - split_code?: string | null; - pending_amount: number; - }; - "data-5": { - customer: { - id: number; - first_name: string; - last_name: string; - email: string; - customer_code: string; - phone: string | null; - metadata: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - bank: { - name: string; - id: number; - slug: string; - }; - id: number; - account_name: string; - account_number: string; - created_at: string; - updated_at: string; - currency: string; - split_config: (string | Record) | null; - active: boolean; - assigned: boolean; - }; - "data-6": { - integration: number; - transaction: number; - dispute: number | null; - settlement: number | null; - domain: string; - amount: number; - deducted_amount: number; - fully_deducted: boolean; - currency: string; - channel: string; - status: string; - refunded_by: string; - refunded_at: string; - expected_at: string; - customer_note: string; - merchant_note: string; - id: number; - createdAt: string; - updatedAt: string; - }; - "data-7": { - id: number; - refund_amount: number | null; - currency: string | null; - status: string; - resolution?: unknown; - domain: string; - transaction: { - id: number; - domain: string; - status: string; - reference: string; - receipt_number?: number | null; - amount: number; - message: unknown; - gateway_response: string; - paid_at: string; - created_at: string; - channel: string; - currency: string; - ip_address: string; - metadata: { - custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; - }; - log: { - start_time: number; - time_spent: number; - attempts: number; - errors: number; - success: boolean; - mobile: boolean; - input: unknown[]; - history: { - type: string; + data: Record; + }; + TransactionTotalVolumeByCurrencyArray: { + currency: string; + amount: number; + }; + TransactionPendingTransfersByCurrencyArray: { + currency: string; + amount: number; + }; + TransactionTotalsResponse: { + status: boolean; + message: string; + data: { + total_transactions: number; + total_volume: number; + total_volume_by_currency: components["schemas"]["TransactionTotalVolumeByCurrencyArray"][]; + pending_transfers: number; + pending_transfers_by_currency: components["schemas"]["TransactionPendingTransfersByCurrencyArray"][]; + }; + }; + TransactionExportResponse: { + status: boolean; message: string; - time: number; - }[]; - } | null; - fees: number; - fees_split: number | null; - authorization: { - receiver_bank_account_number?: unknown; - receiver_bank?: unknown; - }; - customer: { - international_format_phone?: string | null; - }; - plan: Record; - subaccount: Record; - split: Record; - order_id: unknown; - requested_amount: number; - pos_transaction_data: unknown; - source: unknown; - fees_breakdown: unknown; - connect: unknown; - }; - transaction_reference?: unknown; - category: string | null; - customer: { - id: number; - first_name?: string | null; - last_name?: string | null; - email: string; - customer_code: string; - phone?: string | null; - metadata?: Record | null; - risk_action: string; - international_format_phone?: string | null; - }; - bin: string | null; - last4: string | null; - dueAt?: unknown; - resolvedAt?: unknown; - evidence?: unknown; - attachments?: unknown; - note?: unknown; - history: components["schemas"]["DisputeHistoryArray"][]; - messages: components["schemas"]["DisputeMessagesArray"][]; - createdAt: string; - updatedAt: string; - }; - }; - responses: { - /** @description Responses from the Transaction Initialize endpoint */ - TransactionInitializeBadRequestResponse: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionInitializeBadRequestModel"]; - }; - }; - /** @description Unauthorized operation */ - Unauthorized: { - headers: { - [name: string]: unknown; - }; - content: { + data: { + path: string; + expiresAt: string; + }; + }; /** * @example { - * "status": false, - * "message": "Invalid key" + * "email": "customer@email.com", + * "amount": 350000, + * "authorization_code": "AUTH_df1l5ehnym" * } */ - "application/json": components["schemas"]["Error"]; - }; - }; - /** @description Request successful */ - Ok: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["Response"]; - }; - }; - /** @description Entity not found */ - NotFound: { - headers: { - [name: string]: unknown; - }; - content: { + ChargeCreate: { + /** @description Customer's email address */ + email: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount: number; + /** @description An authorization code to charge. */ + authorization_code?: string; + /** @description 4-digit PIN (send with a non-reusable authorization code) */ + pin?: string; + /** @description Unique transaction reference. Only -, .`, = and alphanumeric characters allowed. */ + reference?: string; + /** + * Format: date + * @description The customer's birthday in the format YYYY-MM-DD e.g 2017-05-16 + */ + birthday?: string; + /** + * @description This is the unique identifier of the device a user uses in making payment. + * Only -, .`, = and alphanumeric characters are allowed. + */ + device_id?: string; + /** @description JSON object or stringified JSON of custom data */ + metadata?: string | Record | number; + }; + /** @description The bank object if charging a bank account */ + Bank: { + /** @description Customer's bank code */ + code?: string; + /** @description Customer's account number */ + account_number?: string; + }; + /** @description Details of the mobile service provider */ + MobileMoney: { + /** @description Customer's phone number */ + phone?: string; + /** @description The telco provider of customer's phone number. This can be fetched from the List Bank endpoint */ + provider?: string; + }; + /** @description The USSD code for the provider to charge */ + USSD: { + /** + * @description The three-digit USSD code. + * @enum {string} + */ + type?: "737" | "919" | "822" | "966"; + }; + /** @description Details of the EFT provider */ + EFT: { + /** @description The EFT provider */ + provider?: string; + }; + ChargeCreateResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number?: string | null; + amount: number; + message: string | null; + gateway_response: string; + paid_at?: string; + created_at?: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: (string | { + [key: string]: unknown; + }) | null; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split?: number | null; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + receiver_bank_account_number?: string | null; + receiver_bank?: string | null; + }; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + plan: unknown; + split?: Record | null; + order_id?: unknown; + requested_amount?: number; + pos_transaction_data?: unknown; + source?: Record | null; + fees_breakdown?: Record | null; + connect?: Record | null; + transaction_date: string; + plan_object?: Record; + subaccount?: Record; + }; + }; /** * @example { - * "status": false, - * "message": "Entity not found" + * "pin": "1234", + * "reference": "5bwib5v6anhe9xa" * } */ - "application/json": components["schemas"]["Error"]; - }; - }; - /** @description Terminal Get Status response */ - TerminalGetStatusSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TerminalGetStatusResponse"]; - }; - }; - /** @description Terminal Lists response */ - TerminalListsSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TerminalListsResponse"]; - }; - }; - /** @description Terminal Get response */ - TerminalGetSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TerminalGetResponse"]; - }; - }; - /** @description Terminal Update response */ - TerminalUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TerminalUpdateResponse"]; - }; - }; - /** @description Terminal Commission Device response */ - TerminalCommissionDeviceSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TerminalCommissionDeviceResponse"]; - }; - }; - /** @description Terminal Decommission Device response */ - TerminalDecommissionDeviceSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TerminalDecommissionDeviceResponse"]; - }; - }; - /** @description Virtual Terminal Lists response */ - VirtualTerminalListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalListResponse"]; - }; - }; - /** @description Virtual Terminal Create response */ - VirtualTerminalCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalCreateResponse"]; - }; - }; - /** @description Virtual Terminal Fetch response */ - VirtualTerminalFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalFetchResponse"]; - }; - }; - /** @description Virtual Terminal Update response */ - VirtualTerminalUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalUpdateResponse"]; - }; - }; - /** @description Virtual Terminal Deactivate response */ - VirtualTerminalDeactivateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalDeactivateResponse"]; - }; - }; - /** @description Virtual Terminal Deactivate response */ - VirtualTerminalDestinationAssignSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalDestinationAssignResponse"]; - }; - }; - /** @description Virtual Terminal unassign response */ - VirtualTerminalDestinationUnassignSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalDestinationUnassignResponse"]; - }; - }; - /** @description Virtual Terminal Split Assign response */ - VirtualTerminalAddSplitCodeSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalAddSplitCodeResponse"]; - }; - }; - /** @description Virtual Terminal Split Remove response */ - VirtualTerminalDeleteSplitCodeSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VirtualTerminalDeleteSplitCodeResponse"]; - }; - }; - /** @description Customer Authorization Initialize response */ - CustomerAuthorizationInitializeSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerAuthorizationInitializeResponse"]; - }; - }; - /** @description Customer Authorization Verify response */ - CustomerAuthorizationVerifySuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerAuthorizationVerifyResponse"]; - }; - }; - /** @description Customer Initialize Direct Debit response */ - CustomerInitializeDirectDebitSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerInitializeDirectDebitResponse"]; - }; - }; - /** @description Customer Direct Debit Activation Charge response */ - CustomerDirectDebitActivationChargeSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerDirectDebitActivationChargeResponse"]; - }; - }; - /** @description Customer Fetch Mandate Authorizations response */ - CustomerFetchMandateAuthorizationsSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerFetchMandateAuthorizationsResponse"]; - }; - }; - /** @description Direct Debit Activation Charge response */ - DirectDebitActivationChargeSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DirectDebitActivationChargeResponse"]; - }; - }; - /** @description Apple Pay registered domains retrieved */ - ApplePayDomainsSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ApplePayDomainsResponse"]; - }; - }; - /** @description Responses from the Transaction Initialize endpoint */ - ApplePayOkResponse: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ApplePayCreateOkModel"]; - }; - }; - /** @description Plan List response */ - PlanListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PlanListResponse"]; - }; - }; - /** @description Plan Create response */ - PlanCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PlanCreateResponse"]; - }; - }; - /** @description Plan Fetch response */ - PlanFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PlanFetchResponse"]; - }; - }; - /** @description Plan Update response */ - PlanUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PlanUpdateResponse"]; - }; - }; - /** @description Subscription List response */ - SubscriptionListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubscriptionListResponse"]; - }; - }; - /** @description Subscription Create response */ - SubscriptionCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubscriptionCreateResponse"]; - }; - }; - /** @description Subscription Fetch response */ - SubscriptionFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubscriptionFetchResponse"]; - }; - }; - /** @description Subscription Disable response */ - SubscriptionDisableSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubscriptionDisableResponse"]; - }; - }; - /** @description Payment Request List response */ - PaymentRequestListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestListResponse"]; - }; - }; - /** @description Payment Request Create response */ - PaymentRequestCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestCreateResponse"]; - }; - }; - /** @description Payment Request fetch response */ - PaymentRequestViewSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestViewResponse"]; - }; - }; - /** @description Payment Request Update response */ - PaymentRequestUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestUpdateResponse"]; - }; - }; - /** @description Payment Request Verify response */ - PaymentRequestVerifySuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestVerifyResponse"]; - }; - }; - /** @description Payment Request Send Notification response */ - PaymentRequestSendNotificationSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestSendNotificationResponse"]; - }; - }; - /** @description Payment Request Total response */ - PaymentRequestTotalSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestTotalResponse"]; - }; - }; - /** @description Payment Request Finalize response */ - PaymentRequestFinalizeSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestFinalizeResponse"]; - }; - }; - /** @description Payment Request Archive response */ - PaymentRequestArchiveSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaymentRequestArchiveResponse"]; - }; - }; - /** @description Product Lists response */ - ProductListsSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ProductListsResponse"]; - }; - }; - /** @description Product Create response */ - ProductCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ProductCreateResponse"]; - }; - }; - /** @description Product Fetch response */ - ProductFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ProductFetchResponse"]; - }; - }; - /** @description Product Update response */ - ProductUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ProductUpdateResponse"]; - }; - }; - /** @description Product Delete response */ - ProductDeleteSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ProductDeleteResponse"]; - }; - }; - /** @description Storefront List response */ - StorefrontListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["StorefrontListResponse"]; - }; - }; - /** @description Storefront Create response */ - StorefrontCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["StorefrontCreateResponse"]; - }; - }; - /** @description Storefront Fetch response */ - StorefrontFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["StorefrontFetchResponse"]; - }; - }; - /** @description Storefront Update response */ - StorefrontUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["StorefrontUpdateResponse"]; - }; - }; - /** @description Storefront Delete response */ - StorefrontDeleteSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["StorefrontDeleteResponse"]; - }; - }; - /** @description Order List response */ - OrderListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["OrderListResponse"]; - }; - }; - /** @description Order Create response */ - OrderCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["OrderCreateResponse"]; - }; - }; - /** @description Order Fetch response */ - OrderFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["OrderFetchResponse"]; - }; - }; - /** @description Order Fetch Product response */ - OrderFetchProductSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["OrderFetchProductResponse"]; - }; - }; - /** @description Order Validate response */ - OrderValidateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["OrderValidateResponse"]; - }; - }; - /** @description Page List response */ - PageListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PageListResponse"]; - }; - }; - /** @description Page Create response */ - PageCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PageCreateResponse"]; - }; - }; - /** @description Page Fetch response */ - PageFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PageFetchResponse"]; - }; - }; - /** @description Page Update response */ - PageUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PageUpdateResponse"]; - }; - }; - /** @description Page Check Slug Availability response */ - PageCheckSlugAvailabilitySuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PageCheckSlugAvailabilityResponse"]; - }; - }; - /** @description Page Add Products response */ - PageAddProductsSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PageAddProductsResponse"]; - }; - }; - /** @description Refund List response */ - RefundListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["RefundListResponse"]; - }; - }; - /** @description Refund Create response */ - RefundCreateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["RefundCreateResponse"]; - }; - }; - /** @description Refund Create response */ - RefundRetrySuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["RefundRetryResponse"]; - }; - }; - /** @description Refund Fetch response */ - RefundFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["RefundFetchResponse"]; - }; - }; - /** @description Dispute List response */ - DisputeListSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeListResponse"]; - }; - }; - /** @description Dispute Fetch response */ - DisputeFetchSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeFetchResponse"]; - }; - }; - /** @description Dispute Update response */ - DisputeUpdateSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeUpdateResponse"]; - }; - }; - /** @description Dispute Upload URL response */ - DisputeUploadURLSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeUploadURLResponse"]; - }; - }; - /** @description Dispute Export response */ - DisputeExportSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeExportResponse"]; - }; - }; - /** @description Dispute List Transaction response */ - DisputeListTransactionSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeListTransactionResponse"]; - }; - }; - /** @description Dispute Resolve response */ - DisputeResolveSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeResolveResponse"]; - }; - }; - /** @description Dispute Add Evidence response */ - DisputeAddEvidenceSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DisputeAddEvidenceResponse"]; - }; - }; - /** @description Miscellaneous List Banks response */ - MiscellaneousListBanksSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MiscellaneousListBanksResponse"]; - }; - }; - /** @description Verification Resolve Account Number response */ - VerificationResolveAccountNumberSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VerificationResolveAccountNumberResponse"]; - }; - }; - /** @description Verification Validate Account response */ - VerificationValidateAccountSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VerificationValidateAccountResponse"]; - }; - }; - /** @description Verification Resolve Card B I N response */ - VerificationResolveCardBINSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VerificationResolveCardBINResponse"]; - }; - }; - /** @description Miscellaneous List Countries response */ - MiscellaneousListCountriesSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MiscellaneousListCountriesResponse"]; - }; - }; - /** @description Miscellaneous List States response */ - MiscellaneousListStatesSuccess: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MiscellaneousListStatesResponse"]; - }; - }; - }; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} -export type $defs = Record; -export interface operations { - transaction_initialize: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransactionInitialize"]; - "application/x-www-form-urlencoded": components["schemas"]["TransactionInitialize"]; - }; - }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionInitializeResponse"]; - }; - }; - 400: components["responses"]["TransactionInitializeBadRequestResponse"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_chargeAuthorization: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransactionChargeAuthorization"]; - "application/x-www-form-urlencoded": components["schemas"]["TransactionChargeAuthorization"]; - }; - }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeAuthorizationResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_partialDebit: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransactionPartialDebit"]; - "application/x-www-form-urlencoded": components["schemas"]["TransactionPartialDebit"]; - }; - }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionPartialDebitResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_checkAuthorization: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": components["schemas"]["TransactionCheckAuthorization"]; - "application/json": components["schemas"]["TransactionCheckAuthorization"]; - }; - }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_verify: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The transaction reference to verify - * @example re4lyvq3s3 - */ - reference: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["VerifyResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_list: { - parameters: { - query?: { - /** - * @description A flag to indicate if cursor based pagination should be used - * @example true - */ - use_cursor?: boolean; - /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the next set of data */ - next?: string; - /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the previous set of data */ - previous?: string; - /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ - perPage?: number; - /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ - page?: number; - /** @description A timestamp from which to start listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - /** @description Filter transaction by status */ - status?: "success" | "failed" | "abandoned" | "reversed"; - /** @description The origin of the payment */ - source?: "merchantApi" | "checkout" | "pos" | "virtualTerminal"; - /** @description The Terminal ID for the transactions you want to retrieve */ - terminalid?: string; - /** @description Filter transactions by a virtual account number */ - virtual_account_number?: string; - /** @description Specify an ID for the customer whose transactions you want to retrieve */ - customer?: number; - /** - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - * Filter transactions by a specific amount. - */ - amount?: number; - /** @description The settlement ID to filter for settled transactions */ - settlement?: number; - /** @description The payment method the customer used to complete the transaction */ - channel?: "card" | "pos" | "bank" | "dedicated_nuban" | "ussd" | "bank_transfer"; - /** @description Filter transaction by subaccount code */ - subaccount_code?: string; - /** @description Filter transaction by split code */ - split_code?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the transaction to fetch - * @example 4099260516 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_event: { - parameters: { - query?: never; - header?: never; - path: { - /** @description The ID of the transaction */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_session: { - parameters: { - query?: never; - header?: never; - path: { - /** @description The ID of the transaction */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_timeline: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID or the reference of the transaction - * @example 3936799950 - */ - id_or_reference: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionTimelineResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transaction_totals: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** - * @description The start date - * @example 2024-06-01T00:00:01Z - */ - from?: string; - /** - * @description The end date - * @example 2024-06-30T13:36:54Z - */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionTotalsResponse"]; + ChargeSubmitPin: { + /** @description Customer's PIN for the ongoing transaction */ + pin: string; + /** @description Transaction reference that requires the PIN */ + reference: string; }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; + ChargeSubmitPinResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message?: string | null; + gateway_response: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: Record | null; + log: unknown; + fees: number | null; + fees_split: unknown; + authorization: { + authorization_code?: string | null; + bin?: string; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: unknown; + account_name?: unknown; + }; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: unknown; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + split: Record | null; + order_id: string | null; + paidAt: string | null; + createdAt: string; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: Record | null; + connect: Record | null; + transaction_date: string; + plan_object: Record; + subaccount: Record; + }; }; - content?: never; - }; - }; - }; - transaction_export: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; /** - * @description The start date - * @example 2024-06-01T00:00:01Z + * @example { + * "otp": "123456", + * "reference": "5bwib5v6anhe9xa" + * } */ - from?: string; + ChargeSubmitOTP: { + /** @description Customer's OTP for ongoing transaction */ + otp: string; + /** @description The reference of the ongoing transaction */ + reference: string; + }; + ChargeSubmitOtpResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message?: string | null; + gateway_response: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: Record | null; + log: unknown; + fees: number | null; + fees_split: unknown; + authorization: { + authorization_code?: string | null; + bin?: string; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: unknown; + account_name?: unknown; + }; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: unknown; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + split: Record | null; + order_id: string | null; + paidAt: string | null; + createdAt: string; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: Record | null; + connect: Record | null; + transaction_date: string; + plan_object: Record; + subaccount: Record; + }; + }; /** - * @description The end date - * @example 2024-06-30T13:36:54Z + * @example { + * "phone": "08012345678", + * "reference": "5bwib5v6anhe9xa" + * } */ - to?: string; + ChargeSubmitPhone: { + /** @description Customer's mobile number */ + phone: string; + /** @description The reference of the ongoing transaction */ + reference: string; + }; + ChargeSubmitPhoneResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message?: string | null; + gateway_response: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: Record | null; + log: unknown; + fees: number | null; + fees_split: unknown; + authorization: { + authorization_code?: string | null; + bin?: string; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: unknown; + account_name?: unknown; + }; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: unknown; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + split: Record | null; + order_id: string | null; + paidAt: string | null; + createdAt: string; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: Record | null; + connect: Record | null; + transaction_date: string; + plan_object: Record; + subaccount: Record; + }; + }; /** - * @description Filter by the status of the transaction - * @example success + * @example { + * "birthday": "1961-09-21", + * "reference": "5bwib5v6anhe9xa" + * } */ - status?: "success" | "failed" | "abandoned" | "reversed" | "all"; + ChargeSubmitBirthday: { + /** + * Format: date + * @description Customer's birthday in the format YYYY-MM-DD e.g 2016-09-21 + */ + birthday: string; + /** @description The reference of the ongoing transaction */ + reference: string; + }; + ChargeSubmitBirthdayResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message?: string | null; + gateway_response: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: Record | null; + log: unknown; + fees: number | null; + fees_split: unknown; + authorization: { + authorization_code?: string | null; + bin?: string; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: unknown; + account_name?: unknown; + }; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: unknown; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + split: Record | null; + order_id: string | null; + paidAt: string | null; + createdAt: string; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: Record | null; + connect: Record | null; + transaction_date: string; + plan_object: Record; + subaccount: Record; + }; + }; /** - * @description Filter by customer ID - * @example 123172416 + * @example { + * "address": "140 N 2ND ST", + * "city": "Stroudsburg", + * "state": "PA", + * "zip_code": "18360", + * "reference": "5bwib5v6anhe9xa" + * } */ - customer?: number; - /** @description Specify the transaction currency to export */ - currency?: string; + ChargeSubmitAddress: { + /** @description Customer's address */ + address: string; + /** @description Customer's city */ + city: string; + /** @description Customer's state */ + state: string; + /** @description Customer's zipcode */ + zip_code: string; + /** @description The reference of the ongoing transaction */ + reference: string; + }; + ChargeCheckPendingResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message?: string | null; + gateway_response: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: Record | null; + log: unknown; + fees: number | null; + fees_split: unknown; + authorization: { + authorization_code?: string | null; + bin?: string; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: unknown; + account_name?: unknown; + }; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: unknown; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + split: Record | null; + order_id: string | null; + paidAt: string | null; + createdAt: string; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: Record | null; + connect: Record | null; + transaction_date: string; + plan_object: Record; + subaccount: Record; + }; + }; + BulkChargeListResponseArray: { + domain: string; + batch_code: string; + status: string; + id: number; + createdAt: string; + updatedAt: string; + }; + BulkChargeListResponse: { + status: boolean; + message: string; + data: components["schemas"]["BulkChargeListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; /** - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - * Filter transactions by amount. + * @description A list of charge object + * @example { + * "authorization": "AUTH_ncx8hews93", + * "amount": 250000, + * "reference": "dam1266638dhhd" + * } */ - amount?: number; - /** @description Set to true to export only settled transactions. false for pending transactions. Leave undefined to export all transactions */ - settled?: boolean; + BulkChargeInitiate: { + /** @description Customer's card authorization code */ + authorization: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount: number; + /** @description A unique identifier containing lowercase letters `(a-z)`, digits `(0-9)` and these symbols: dash (`-`), underscore(`_`) */ + reference?: string; + /** @description A flag to indicate if you want us to try recouping lower amounts when the customer has insufficient fund */ + attempt_partial_debit?: boolean; + /** + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + * Minimum amount to charge if the attempt_partial_debit flag is set. + */ + at_least?: number; + /** @description JSON object of custom data */ + metadata?: Record; + }; + BulkChargeInitiateResponse: { + status: boolean; + message: string; + data: { + batch_code: string; + reference: string; + id: number; + integration: number; + domain: string; + status: string; + total_charges: number; + pending_charges: number; + createdAt: string; + updatedAt: string; + }; + }; + BulkChargeFetchResponse: { + status: boolean; + message: string; + data: { + batch_code: string; + id: number; + domain: string; + status: string; + total_charges: number; + pending_charges: number; + createdAt: string; + updatedAt: string; + }; + }; + MetadataCustomFieldsArray: { + value: string; + display_name: string; + variable_name: string; + }; + BulkChargeFetchBulkBatchChargesResponseArray: { + integration: number; + bulkcharge: number; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string; + metadata: { + calling_code?: string; + }; + risk_action: string; + international_format_phone: string; + }; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: unknown; + }; + domain: string; + amount: number; + at_least: number; + currency: string; + reference: string; + metadata: { + custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; + }; + status: string; + message: string; + attempt_partial_debit: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + BulkChargeFetchBulkBatchChargesResponse: { + status: boolean; + message: string; + data: components["schemas"]["BulkChargeFetchBulkBatchChargesResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + BulkChargePauseResponse: { + status: boolean; + message: string; + }; + BulkChargeResumeResponse: { + status: boolean; + message: string; + }; + SubaccountListResponseArray: { + id: number; + subaccount_code: string; + business_name: string; + description: string | null; + primary_contact_name: string | null; + primary_contact_email: string | null; + primary_contact_phone: string | null; + metadata: unknown; + percentage_charge: number; + settlement_bank: string; + bank_id: number; + account_number: string; + currency: string; + active: number; + }; + SubaccountListResponse: { + status: boolean; + message: string; + data: components["schemas"]["SubaccountListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; /** - * @description Filter by the settlement ID - * @example 5687910 + * @example { + * "business_name": "Oasis", + * "account_number": "0123456047", + * "settlement_bank": "058", + * "percentage_charge": 30 + * } + */ + SubaccountCreate: { + /** @description Name of business for subaccount */ + business_name: string; + /** @description Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. */ + settlement_bank: string; + /** @description Bank account number */ + account_number: string; + /** + * Format: float + * @description The percentage the main account receives from each payment made to the subaccount + */ + percentage_charge: number; + /** @description A description for this subaccount */ + description?: string; + /** @description A contact email for the subaccount */ + primary_contact_email?: string; + /** @description The name of the contact person for this subaccount */ + primary_contact_name?: string; + /** @description A phone number to call for this subaccount */ + primary_contact_phone?: string; + /** @description Stringified JSON object or JSON object of custom data */ + metadata?: string | Record; + }; + SubaccountCreateResponse: { + status: boolean; + message: string; + data: { + business_name: string; + account_name?: string | null; + description?: string | null; + primary_contact_name?: string | null; + primary_contact_email?: string | null; + primary_contact_phone?: string | null; + metadata?: unknown; + account_number: string; + percentage_charge: number; + settlement_bank: string; + currency: string; + bank: number; + integration: number; + domain: string; + product: string; + managed_by_integration?: number; + subaccount_code: string; + is_verified: boolean; + settlement_schedule: string; + active: boolean; + migrate: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + SubaccountFetchResponse: { + status: boolean; + message: string; + data: { + integration: number; + account_name: string | null; + bank: number; + managed_by_integration: number; + domain: string; + subaccount_code: string; + business_name: string; + description: string | null; + primary_contact_name: string | null; + primary_contact_email: string | null; + primary_contact_phone: string | null; + metadata: Record | null; + percentage_charge: number; + is_verified: boolean; + settlement_bank: string; + account_number: string; + settlement_schedule: string; + active: boolean; + migrate: boolean; + currency: string; + product: string; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "business_name": "Sandalwood" + * } + */ + SubaccountUpdate: { + /** @description Name of business for subaccount */ + business_name?: string; + /** @description Bank code for the bank. You can get the list of Bank Codes by calling the List Banks endpoint. */ + settlement_bank?: string; + /** @description Bank account number */ + account_number?: string; + /** @description Activate or deactivate a subaccount */ + active?: boolean; + /** + * Format: float + * @description The percentage the main account receives from each payment made to the subaccount + */ + percentage_charge?: number; + /** @description A description for this subaccount */ + description?: string; + /** @description A contact email for the subaccount */ + primary_contact_email?: string; + /** @description The name of the contact person for this subaccount */ + primary_contact_name?: string; + /** @description A phone number to call for this subaccount */ + primary_contact_phone?: string; + /** @description Stringified JSON object or JSON object of custom data */ + metadata?: string | Record | number; + }; + SubaccountUpdateResponse: { + status: boolean; + message: string; + data: { + domain: string; + subaccount_code: string; + account_name?: string | null; + business_name: string; + description?: string | null; + primary_contact_name?: string | null; + primary_contact_email?: string | null; + primary_contact_phone?: string | null; + metadata?: unknown; + percentage_charge: number; + is_verified: boolean; + settlement_bank: string; + account_number: string; + settlement_schedule: string; + active: boolean; + migrate: boolean; + currency: string; + product: string; + id: number; + integration: number; + bank: number; + managed_by_integration: number; + createdAt: string; + updatedAt: string; + }; + }; + SplitSubaccountsArray: { + subaccount: { + id: number; + subaccount_code: string; + business_name: string; + description: string; + primary_contact_name: string; + primary_contact_email: string; + primary_contact_phone: string; + metadata: string; + settlement_bank: string; + currency: string; + account_number: string; + }; + share: number; + }; + SplitListResponseArray: { + id: number; + name: string; + type: string; + currency: string; + integration: number; + domain: string; + split_code: string; + active: boolean; + bearer_type: string; + bearer_subaccount: number | null; + createdAt: string; + updatedAt: string; + is_dynamic: boolean; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + total_subaccounts: number; + }; + SplitListResponse: { + status: boolean; + message: string; + data: components["schemas"]["SplitListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + SplitCreateResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + type: string; + currency: string; + integration: number; + domain: string; + split_code: string; + active: boolean; + bearer_type: string; + bearer_subaccount?: number; + createdAt: string; + updatedAt: string; + is_dynamic: boolean; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + total_subaccounts: number; + }; + }; + SplitFetchResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + type: string; + currency: string; + integration: number; + domain: string; + split_code: string; + active: boolean; + bearer_type: string; + bearer_subaccount: number; + createdAt: string; + updatedAt: string; + is_dynamic: boolean; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + total_subaccounts: number; + }; + }; + SplitUpdate: { + /** @description Name of the transaction split */ + name?: string; + /** @description Toggle status of split. When true, the split is active, else it's inactive */ + active?: boolean; + /** + * @description This allows you specify how the transaction charge should be processed + * @enum {string} + */ + bearer_type?: "subaccount" | "account" | "all-proportional" | "all"; + /** @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 */ + bearer_subaccount?: string; + }; + SplitUpdateResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + type: string; + currency: string; + integration: number; + domain: string; + split_code: string; + active: boolean; + bearer_type: string; + bearer_subaccount: number; + createdAt: string; + updatedAt: string; + is_dynamic: boolean; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + total_subaccounts: number; + }; + }; + SplitAddUpdateSubaccountResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + type: string; + currency: string; + integration: number; + domain: string; + split_code: string; + active: boolean; + bearer_type: string; + bearer_subaccount: number; + createdAt: string; + updatedAt: string; + is_dynamic: boolean; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + total_subaccounts: number; + }; + }; + /** + * @example { + * "subaccount": "ACCT_eg4sob4590pq9vb" + * } + */ + SplitSubaccountRemove: { + /** @description This is the sub account code */ + subaccount: string; + }; + SplitRemoveSubaccountResponse: { + status: boolean; + message: string; + }; + /** + * @description The parameters needed to perform the specified action + * @example { + * "id": 7895939, + * "reference": "4634337895939" + * } + */ + TerminalSendEventData: { + /** + * Format: int64 + * @description The invoice or transaction ID you want to push to the Terminal + */ + id?: number; + /** @description The offline_reference from the Payment Request response */ + reference?: string; + }; + /** + * @example { + * "type": "invoice", + * "action": "process", + * "data": { + * "id": 7895939, + * "reference": "4634337895939" + * } + * } + */ + TerminalSendEvent: { + /** + * @description The type of event to push + * @enum {string} + */ + type?: "invoice" | "transaction"; + /** + * @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. + * @enum {string} + */ + action?: "process" | "view" | "print"; + data?: components["schemas"]["TerminalSendEventData"]; + }; + TerminalGetStatusResponse: { + status: boolean; + message: string; + data: { + online: boolean; + available: boolean; + }; + }; + TerminalListsResponseArray: { + id: number; + serial_number: string | null; + device_make: string | null; + terminal_id: string; + integration: number; + domain: string; + name: string | null; + address: string | null; + status: string; + }; + TerminalListsResponse: { + status: boolean; + message: string; + data: components["schemas"]["TerminalListsResponseArray"][]; + meta: components["schemas"]["CursorMeta"]; + }; + TerminalGetResponse: { + status: boolean; + message: string; + data: { + id: number; + serial_number: string; + device_make: string | null; + terminal_id: string; + integration: number; + domain: string; + name: string | null; + address: string | null; + status: string; + split_code: string | null; + }; + }; + /** + * @example { + * "name": "Oreos", + * "address": "Somewhere on earth" + * } + */ + TerminalUpate: { + /** @description The new name for the Terminal */ + name?: string; + /** @description The new address for the Terminal */ + address?: string; + }; + TerminalUpdateResponse: { + status: boolean; + message: string; + }; + /** + * @description Model for activating and deactivating a debug Terminal + * @example { + * "serial_number": "1111150412230003899" + * } + */ + TerminalActivationToggle: { + /** @description Device Serial Number */ + serial_number: string; + }; + TerminalCommissionDeviceResponse: { + status: boolean; + message: string; + }; + TerminalDecommissionDeviceResponse: { + status: boolean; + message: string; + }; + VirtualTerminalListResponseArray: { + id: number; + code: string; + name: string; + integration: number; + domain: string; + paymentMethods: unknown[]; + active: boolean; + created_at: string; + currency: string; + }; + VirtualTerminalListResponse: { + status: boolean; + message: string; + data: components["schemas"]["VirtualTerminalListResponseArray"][]; + meta: components["schemas"]["CursorMeta"]; + }; + /** + * @example { + * "name": "Sample Terminal", + * "destinations": [ + * { + * "target": "+2548012345678", + * "name": "John Doe" + * }, + * { + * "target": "+2548098765432", + * "name": "Jane Smith" + * } + * ] + * } + */ + VirtualTerminalCreate: { + /** @description Name of the Virtual Terminal */ + name: string; + /** @description An array of objects containing the notification recipients for payments to the Virtual Terminal. Each object includes a target parameter for the Whatsapp phone number to send notifications to, and a name parameter for a descriptive label. */ + destinations: { + /** @description The Whatsapp phone number to send notifications to */ + target?: string; + /** @description A descriptive label for the destination */ + name?: string; + }[]; + /** @description Stringified JSON object of custom data. Kindly check the Metadata page for more information */ + metadata?: Record; + /** @description The transaction currency for the Virtual Terminal. Defaults to your integration currency */ + currency?: string; + /** @description An array of objects representing custom fields to display on the form. Each object contains a display_name parameter, representing what will be displayed on the Virtual Terminal page, and variable_name parameter for referencing the custom field programmatically */ + custom_fields?: { + display_name?: string; + variable_name?: string; + }[]; + }; + VirtualTerminalCreateResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + integration: number; + domain: string; + code: string; + paymentMethods: unknown[]; + active: boolean; + metadata: unknown; + destinations: { + target?: string; + type?: string; + name?: string; + }[]; + currency: string; + }; + }; + VirtualTerminalFetchResponse: { + status: boolean; + message: string; + data: { + id: number; + code: string; + name: string; + integration: number; + domain: string; + paymentMethods: unknown[]; + active: boolean; + created_at: string; + connect_account_id: unknown; + destinations: { + target?: string; + type?: string; + name?: string; + created_at?: string; + }[]; + currency: string; + }; + }; + /** + * @example { + * "name": "Lagos_Mainland_Zone_1" + * } + */ + VirtualTerminalUpdate: { + /** @description Name of the virtual terminal */ + name: string; + }; + VirtualTerminalUpdateResponse: { + status: boolean; + message: string; + data: { + id: number; + code: string; + name: string; + integration: number; + domain: string; + paymentMethods: unknown[]; + active: boolean; + created_at: string; + connect_account_id: unknown; + destinations: { + target?: string; + type?: string; + name?: string; + created_at?: string; + }[]; + currency: string; + }; + }; + VirtualTerminalDeactivateResponse: { + status: boolean; + message: string; + }; + /** + * @example { + * "destinations": [ + * { + * "target": "+2548012345678", + * "name": "John Doe" + * }, + * { + * "target": "+2548098765432", + * "name": "Jane Smith" + * } + * ] + * } + */ + VirtualTerminalDestinationAssign: { + /** @description Array of objects containing recipients for payment notifications for the Virtual Terminal. */ + destinations: { + /** @description The WhatsApp number to receive payment notifications */ + target?: string; + /** @description The name of the associated WhatsApp number */ + name?: string; + }[]; + }; + VirtualTerminalDestinationAssignResponse: { + status: boolean; + message: string; + data: { + integration: number; + target: string; + name: string; + type: string; + id: number; + createdAt: string; + updatedAt: string; + }[]; + }; + /** + * @example { + * "targets": [ + * "+2548012345678", + * "+2548098765432" + * ] + * } + */ + VirtualTerminalDestinationUnassign: { + /** @description Array of destination targets to unassign */ + targets: string[]; + }; + VirtualTerminalDestinationUnassignResponse: { + status: boolean; + message: string; + }; + /** + * @example { + * "split_code": "SPL_1234567890abcdef" + * } + */ + VirtualTerminalAddSplitCode: { + /** @description The split code to assign to the virtual terminal */ + split_code: string; + }; + VirtualTerminalAddSplitCodeResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + type: string; + currency: string; + integration: number; + domain: string; + split_code: string; + active: boolean; + bearer_type: string; + bearer_subaccount: unknown; + createdAt: string; + updatedAt: string; + is_dynamic: boolean; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + total_subaccounts: number; + }; + }; + /** + * @example { + * "split_code": "SPL_1234567890abcdef" + * } + */ + VirtualTerminalDeleteSplitCode: { + /** @description The split code to assign to the virtual terminal */ + split_code: string; + }; + VirtualTerminalDeleteSplitCodeResponse: { + status: boolean; + message: string; + }; + CustomerListResponseArray: { + integration: number; + first_name: string | null; + last_name: string | null; + email: string; + phone: string | null; + metadata: Record | null; + domain: string; + customer_code: string; + risk_action: string; + id: number; + createdAt: string; + updatedAt: string; + }; + CustomerListResponse: { + status: boolean; + message: string; + data: components["schemas"]["CustomerListResponseArray"][]; + meta: components["schemas"]["Meta"] | components["schemas"]["CursorMeta"]; + }; + /** + * @example { + * "email": "rock@sandy.com", + * "first_name": "Rock", + * "last_name": "Sandy" + * } + */ + CustomerCreate: { + /** @description Customer's email address */ + email: string; + /** @description Customer's first name */ + first_name?: string; + /** @description Customer's last name */ + last_name?: string; + /** @description Customer's phone number */ + phone?: string; + /** @description Stringified JSON object or JSON object of custom data */ + metadata?: string | Record; + }; + CustomerCreateResponse: { + status: boolean; + message: string; + data: { + email: string; + integration: number; + domain: string; + customer_code: string; + id: number; + identified: boolean; + identifications: unknown; + createdAt: string; + updatedAt: string; + }; + }; + CustomerFetchResponse: { + status: boolean; + message: string; + data: { + transactions: unknown[]; + subscriptions: unknown[]; + authorizations: unknown[]; + first_name: string | null; + last_name: string | null; + email: string; + phone: string | null; + metadata: { + [key: string]: unknown; + } | null; + domain: string; + customer_code: string; + risk_action: string; + id: number; + integration: number; + createdAt: string; + updatedAt: string; + total_transactions: number; + total_transaction_value: unknown[]; + dedicated_account: unknown; + dedicated_accounts?: unknown[] | null; + identified: boolean; + identifications: unknown; + }; + }; + /** + * @example { + * "first_name": "Cecilia", + * "last_name": "Jones" + * } + */ + CustomerUpdate: { + /** @description Customer's first name */ + first_name?: string; + /** @description Customer's last name */ + last_name?: string; + /** @description Customer's phone number */ + phone?: string; + /** @description Stringified JSON object or JSON object of custom data */ + metadata?: string | Record | number; + }; + CustomerUpdateResponse: { + status: boolean; + message: string; + data: { + integration: number; + first_name: string; + last_name: string; + email: string; + phone: string | null; + metadata: Record | null; + identified: boolean; + identifications: unknown; + domain: string; + customer_code: string; + id: number; + transactions: unknown[]; + subscriptions: unknown[]; + authorizations: unknown[]; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "customer": "CUS_c6wqvwmvwopw4ms", + * "risk_action": "deny" + * } + */ + CustomerRiskAction: { + /** @description The customer code from the response of the customer creation */ + customer: string; + /** + * @description This determines the fraud rules that should be applied to the customer + * @default default + * @enum {string} + */ + risk_action: "allow" | "deny" | "default"; + }; + CustomerWhitelistBlacklistResponse: { + status: boolean; + message: string; + data: { + transactions: unknown[]; + subscriptions: unknown[]; + authorizations: unknown[]; + first_name: string | null; + last_name: string | null; + email: string; + phone: string | null; + metadata: Record | null; + domain: string; + customer_code: string; + risk_action: string; + id: number; + integration: number; + createdAt: string; + updatedAt: string; + identified: boolean; + identifications: unknown; + }; + }; + /** + * @example { + * "first_name": "Jabal", + * "last_name": "Cedar", + * "country": "NG", + * "type": "bank_account", + * "account_number": "0123456789", + * "bank_code": "007", + * "bvn": "20012345677" + * } + */ + CustomerValidate: { + /** @description Customer's first name */ + first_name: string; + /** @description Customer's middle name */ + middle_name?: string; + /** @description Customer's last name */ + last_name: string; + /** + * @description Predefined types of identification. + * @default bank_account + */ + type: string; + /** @description Customer's identification number. */ + value?: string; + /** @description Two-letter country code of identification issuer */ + country: string; + /** @description Customer's Bank Verification Number */ + bvn: string; + /** @description You can get the list of bank codes by calling the List Banks endpoint (https://api.paystack.co/bank). */ + bank_code: string; + /** @description Customer's bank account number. */ + account_number: string; + }; + CustomerValidateResponse: { + status: boolean; + message: string; + }; + CustomerAuthorizationInitializeAccount: { + /** + * @description The customer's account number + * @example 0123456789 + */ + number: string; + /** + * @description The code representing the customer's bank + * @example 058 + */ + bank_code: string; + }; + CustomerAuthorizationInitializeAddress: { + /** + * @description The customer's street + * @example 123 Main Street + */ + street: string; + /** + * @description The customer's city + * @example Lagos + */ + city: string; + /** + * @description The customer's state + * @example Lagos + */ + state: string; + }; + CustomerAuthorizationInitializeRequest: { + /** + * @description Customer's email address + * @example ravi@demo.com + */ + email: string; + /** + * @description direct_debit is the only supported option for now + * @example direct_debit + * @enum {string} + */ + channel: "direct_debit"; + /** + * @description Fully qualified url (e.g. https://example.com/) to redirect your customer to + * @example http://test.url.com + */ + callback_url?: string; + account?: components["schemas"]["CustomerAuthorizationInitializeAccount"]; + address?: components["schemas"]["CustomerAuthorizationInitializeAddress"]; + }; + CustomerAuthorizationInitializeResponseData: { + /** @example https://checkout.paystack.com/82t4mp5b5mfn51h */ + redirect_url: string; + /** @example 82t4mp5b5mfn51h */ + access_code: string; + /** @example dfbzfotsrbv4n5s82t4mp5b5mfn51h */ + reference: string; + }; + CustomerAuthorizationInitializeResponse: { + /** @example true */ + status: boolean; + /** @example Authorization initialized */ + message: string; + data: components["schemas"]["CustomerAuthorizationInitializeResponseData"]; + }; + CustomerAuthorizationVerifyResponseCustomer: { + /** @example CUS_24lze1c8i2zl76y */ + code: string; + /** @example ravi@demo.com */ + email: string; + }; + CustomerAuthorizationVerifyResponseData: { + /** @example AUTH_JV4T9Wawdj */ + authorization_code: string; + /** @example direct_debit */ + channel: string; + /** @example Guaranty Trust Bank */ + bank: string; + /** @example true */ + active: boolean; + customer: components["schemas"]["CustomerAuthorizationVerifyResponseCustomer"]; + }; + CustomerAuthorizationVerifyResponse: { + /** @example true */ + status: boolean; + /** @example Authorization retrieved successfully */ + message: string; + data: components["schemas"]["CustomerAuthorizationVerifyResponseData"]; + }; + /** + * @example { + * "authorization_code": "AUTH_xxxIjkZVj5" + * } + */ + CustomerDeactivateAuthorization: { + /** @description Authorization code to be deactivated */ + authorization_code: string; + }; + CustomerDeactivateAuthorizationResponse: { + status: boolean; + message: string; + }; + CustomerInitializeDirectDebitAccount: { + /** + * @description The customer's account number + * @example 0123456789 + */ + number: string; + /** + * @description The code representing the customer's bank + * @example 058 + */ + bank_code: string; + }; + CustomerInitializeDirectDebitAddress: { + /** + * @description The customer's street + * @example Some Where + */ + street: string; + /** + * @description The customer's city + * @example Ikeja + */ + city: string; + /** + * @description The customer's state + * @example Lagos + */ + state: string; + }; + CustomerInitializeDirectDebitRequest: { + account: components["schemas"]["CustomerInitializeDirectDebitAccount"]; + address: components["schemas"]["CustomerInitializeDirectDebitAddress"]; + }; + CustomerInitializeDirectDebitResponseData: { + /** @example https://link.paystack.com/ll6b0szngj1f27k */ + redirect_url: string; + /** @example ll6b0szngj1f27k */ + access_code: string; + /** @example 1er945lpy4txyki */ + reference: string; + }; + CustomerInitializeDirectDebitResponse: { + /** @example true */ + status: boolean; + /** @example Authorization initialized */ + message: string; + data: components["schemas"]["CustomerInitializeDirectDebitResponseData"]; + }; + CustomerDirectDebitActivationChargeRequest: { + /** + * @description The authorization ID gotten from the initiation response + * @example 1069309917 + */ + authorization_id: number; + }; + CustomerDirectDebitActivationChargeResponse: { + /** @example true */ + status: boolean; + /** @example Mandate is queued for retry */ + message: string; + }; + CustomerFetchMandateAuthorizationsResponseData: { + /** @example 164098 */ + id: number; + /** @example active */ + status: string; + /** @example 512003 */ + mandate_id: number; + /** @example 110049014 */ + authorization_id: number; + /** @example AUTH_8Lol0pNt14 */ + authorization_code: string; + /** @example 463433 */ + integration_id: number; + /** @example 0123456789 */ + account_number: string; + /** @example 032 */ + bank_code: string; + /** @example null */ + bank_name?: string | null; + customer: { + /** @example 43975700 */ + id?: number; + /** @example CUS_2eusy8uwe34s23fy */ + customer_code?: string; + /** @example customer@email.com */ + email?: string; + /** @example Smith */ + first_name?: string; + /** @example Bel */ + last_name?: string; + }; + /** + * Format: date-time + * @example 2024-09-27T10:57:53.824Z + */ + authorized_at: string; + }; + CustomerFetchMandateAuthorizationsResponseMeta: { + /** @example 50 */ + per_page: number; + /** @example null */ + next?: string | null; + /** @example 1 */ + count: number; + /** @example 1 */ + total: number; + }; + CustomerFetchMandateAuthorizationsResponse: { + /** @example true */ + status: boolean; + /** @example Mandate authorizations retrieved successfully */ + message: string; + data: components["schemas"]["CustomerFetchMandateAuthorizationsResponseData"][]; + meta: components["schemas"]["CustomerFetchMandateAuthorizationsResponseMeta"]; + }; + DirectDebitActivationChargeRequest: { + /** + * @description Array of customer IDs to trigger activation charge for + * @example [ + * 28958104, + * 983697220 + * ] + */ + customer_ids: number[]; + }; + DirectDebitActivationChargeResponse: { + /** @example true */ + status: boolean; + /** @example Mandate is queued for retry */ + message: string; + }; + DedicatedNubanListResponseArray: { + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + risk_action: string; + international_format_phone: string | null; + }; + bank: { + name: string; + id: number; + slug: string; + }; + id: number; + account_name: string; + account_number: string; + created_at: string; + updated_at: string; + currency: string; + split_config: (string | { + subaccount: string; + }) | null; + active: boolean; + assigned: boolean; + }; + DedicatedNubanListResponse: { + status: boolean; + message: string; + data: components["schemas"]["DedicatedNubanListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "customer": "CUS_bo732eugpb2qrg6", + * "preferred_bank": "titan-paystack" + * } */ - settlement?: number; - /** @description Specify a payment page's id to export only transactions conducted on said page */ - payment_page?: number; + DedicatedVirtualAccountCreate: { + /** @description The code for the previously created customer */ + customer: string; + /** @description The bank slug for preferred bank. To get a list of available banks, use the List Providers endpoint */ + preferred_bank?: string; + /** @description Subaccount code of the account you want to split the transaction with */ + subaccount?: string; + /** @description Split code consisting of the lists of accounts you want to split the transaction with */ + split_code?: string; + /** @description JSON object or stringified JSON of custom data */ + metadata?: string | Record | number; + }; + DedicatedNubanCreateResponse: { + status: boolean; + message: string; + data: { + bank: { + name: string; + id: number; + slug: string; + }; + account_name: string; + account_number: string; + assigned: boolean; + currency: string; + metadata: unknown; + active: boolean; + id: number; + created_at: string; + updated_at: string; + assignment: { + integration: number; + assignee_id: number; + assignee_type: string; + expired: boolean; + account_type: string; + assigned_at: string; + expired_at: unknown; + }; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + }; + }; /** - * @deprecated - * @description Filter by subaccount code - * @example ACCT_dskvlw3y3dMukmt + * @example { + * "email": "salmon.orange@email.com", + * "first_name": "Salmon", + * "last_name": "Orange", + * "phone": "+2348100000000", + * "preferred_bank": "titan-paystack", + * "country": "NG" + * } */ - subaccount_code?: string; - }; - header?: never; - path?: never; - cookie?: never; + DedicatedVirtualAccountAssign: { + /** @description Customer's email address */ + email: string; + /** @description Customer's first name */ + first_name: string; + /** @description Customer's last name */ + last_name: string; + /** @description Customer's phone name */ + phone: string; + /** + * @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 + */ + preferred_bank: string; + /** + * @description The two letter code country + * @enum {string} + */ + country: "NG" | "GH"; + /** @description Customer's account number */ + account_number?: string; + /** @description Customer's Bank Verification Number */ + bvn?: string; + /** @description Customer's bank code */ + bank_code?: string; + /** @description Subaccount code of the account you want to split the transaction with */ + subaccount?: string; + /** @description Split code consisting of the lists of accounts you want to split the transaction with */ + split_code?: string; + }; + DedicatedNubanFetchResponse: { + status: boolean; + message: string; + data: { + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + bank: { + name: string; + id: number; + slug: string; + }; + id: number; + account_name: string; + account_number: string; + created_at: string; + updated_at: string; + currency: string; + split_config: (string | Record) | null; + active: boolean; + assigned: boolean; + }; + }; + DedicatedNubanDeactivateResponse: { + status: boolean; + message: string; + data: { + bank: { + name: string; + id: number; + slug: string; + }; + account_name: string; + account_number: string; + assigned: boolean; + currency: string; + metadata: unknown; + active: boolean; + id: number; + created_at: string; + updated_at: string; + assignment: { + assignee_id: number; + assignee_type: string; + assigned_at: string; + integration: number; + account_type: string; + }; + }; + }; + /** + * @example { + * "account_number": "0033322211", + * "split_code": "SPL_e7jnRLtzla" + * } + */ + DedicatedVirtualAccountSplit: { + /** @description Valid Dedicated virtual account */ + account_number: string; + /** @description Subaccount code of the account you want to split the transaction with */ + subaccount?: string; + /** @description Split code consisting of the lists of accounts you want to split the transaction with */ + split_code?: string; + }; + /** + * @example { + * "account_number": "0033322211" + * } + */ + DedicatedVirtualAccountRemoveSplit: { + /** @description Valid Dedicated virtual account */ + account_number: string; + }; + ApplePayDomainsResponse: { + status: boolean; + message: string; + data: { + domainNames: string[]; + }; + }; + /** + * @example { + * "domainName": "example.com" + * } + */ + ApplePayParam: { + /** @description The domain or subdomain for your application */ + domainName: string; + }; + /** + * @example { + * "status": true, + * "message": "Domain successfully registered on Apple Pay" + * } + */ + ApplePayCreateOkModel: { + /** @description An indicator */ + status?: boolean; + /** @description A short description of the response */ + message?: string; + }; + CapitecPayRequeryResponse: { + status: boolean; + type: string; + code: string; + data: { + status: string; + }; + message: string; + }; + PreAuthorizationInitialize: { + /** @description Amount should be in the subunit of the supported currency */ + amount: string; + /** @description Customer's email address */ + email: string; + /** + * @description Only ZAR is supported for now + * @enum {string} + */ + currency: "ZAR"; + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference?: string; + /** @description Fully qualified url, e.g. https://example.com/ . Use this to override the callback url provided on the dashboard for this transaction */ + callback_url?: string; + /** @description Stringified JSON object of custom data. */ + metadata?: string | Record; + /** @description The split code of the transaction split. e.g. SPL_98WF13Eb3w */ + split_code?: string; + /** @description The code for the subaccount that owns the payment. e.g. ACCT_8f4s1eq7ml6rlzj */ + subaccount?: string; + /** @description An amount used to override the split configuration for a single split payment. If set, the amount specified goes to the main account regardless of the split configuration. */ + transaction_charge?: number; + /** + * @description Specifies who will pay the Paystack transaction charges for this transaction. Either account or subaccount (defaults to account). + * @enum {string} + */ + bearer?: "account" | "subaccount"; + /** + * @description Specify the action to take on the expiry date. It’s either capture or release. Defaults to release. + * @enum {string} + */ + expire_action?: "capture" | "release"; + /** @description The number of days until the expire_action is executed. The minimum is 1 day and maximum 30 days. Defaults to 5 days. */ + expire_after_days?: number; + }; + PreAuthorizationInitializeResponse: { + status: boolean; + message: string; + data: { + authorization_url: string; + access_code: string; + reference: string; + }; + }; + PreAuthorizationCapture: { + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference: string; + /** + * @description Only ZAR is supported for now + * @enum {string} + */ + currency: "ZAR"; + /** @description Amount should be in the subunit of the supported currency */ + amount: string; + }; + FormulaSubaccountsArray: { + original_share: number; + fees: number; + share: number; + subaccount_code: string; + id: number; + name: string; + integration: string; + }; + ShareSubaccountsArray: { + amount: number; + original_share: number; + fees: number; + subaccount_code: string; + id: number; + integration: string; + }; + PreAuthorizationCaptureResponse: { + status: boolean; + message: string; + data: { + amount: number; + status: string; + gateway_response: string; + transaction: { + currency: string; + transaction_date: string; + status: string; + reference: string; + domain: string; + metadata: (string | { + [key: string]: unknown; + }) | null; + gateway_response: string; + message: string | null; + channel: string; + fees: number; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + }; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + id: number; + split?: { + id: number; + name: string; + split_code: string; + formula: { + type: string; + bearer_type: string; + bearer_subaccount: number; + subaccounts: components["schemas"]["FormulaSubaccountsArray"][]; + integration: number; + }; + shares: { + paystack: number; + subaccounts: components["schemas"]["ShareSubaccountsArray"][]; + integration: number; + original_share: number; + fees: number; + }; + }; + }; + amount_released?: number; + split_code: string | null; + split: { + type: string; + bearer_type: string; + subaccounts: components["schemas"]["SplitSubaccountsArray"][]; + } | null; + }; + }; + PreAuthorizationReserve: { + /** @description Customer's email address */ + email: string; + /** @description Amount should be in the subunit of the supported currency */ + amount: string; + /** @description This is the code that is used to charge and identify a customer's previously used card */ + authorization_code: string; + /** + * @description Only ZAR is supported for now + * @enum {string} + */ + currency: "ZAR"; + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference?: string; + }; + PreAuthorizationReserveWithAuthCodeResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message: string; + created_at: string; + released_at: string | null; + authorized_at: string | null; + expiry_date: string | null; + currency: string; + metadata: Record | null; + fees: number; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + }; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + merchant_id: number; + merchant_name: string; + expire_action: string; + split_code: string | null; + split: Record | null; + }; + }; + PreAuthorizationVerifyResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message: string; + currency: string; + redirecturl?: string; + }; + }; + PreAuthorizationRelease: { + /** @description Unique transaction reference. Only -, ., = and alphanumeric characters allowed. */ + reference: string; + }; + PreAuthorizationReleaseResponse: { + status: boolean; + message: string; + data: { + status: string; + reference: string; + }; + }; + PreAuthorizationListResponseArray: { + domain: string; + status: string; + reference: string; + amount: number; + created_at: string; + transaction_id: string | null; + captured_at: string | null; + released_at: string | null; + currency: string; + fees: number; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + id: number; + }; + PreAuthorizationListResponse: { + status: boolean; + message: string; + data: components["schemas"]["PreAuthorizationListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + PlanListResponseArray: { + subscriptions: unknown[]; + integration: number; + domain: string; + name: string; + plan_code: string; + description: unknown; + amount: number; + interval: string; + invoice_limit: number; + send_invoices: boolean; + send_sms: boolean; + hosted_page: boolean; + hosted_page_url: unknown; + hosted_page_summary: unknown; + currency: string; + id: number; + createdAt: string; + updatedAt: string; + }; + PlanListResponse: { + status: boolean; + message: string; + data: components["schemas"]["PlanListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "name": "Basic", + * "amount": 150000, + * "interval": "monthly" + * } + */ + PlanCreate: { + /** @description Name of plan */ + name: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount: number; + /** + * @description Payment interval + * @enum {string} + */ + interval: "daily" | "weekly" | "monthly" | "biannually" | "annually"; + /** @description A description for this plan */ + description?: string; + /** @description Set to false if you don't want invoices to be sent to your customers */ + send_invoices?: boolean; + /** @description Set to false if you don't want text messages to be sent to your customers */ + send_sms?: boolean; + /** @description Currency in which amount is set. Allowed values are NGN, GHS, ZAR, USD or XOF */ + currency?: string; + /** + * @description Number of invoices to raise during subscription to this plan. + * Can be overridden by specifying an invoice_limit while subscribing. + */ + invoice_limit?: number; + /** @description Stringified JSON object or JSON object of custom data */ + metadata?: string | Record | number; + }; + PlanCreateResponse: { + status: boolean; + message: string; + data: { + currency: string; + name: string; + amount: number; + interval: string; + integration: number; + domain: string; + plan_code: string; + send_invoices: boolean; + send_sms: boolean; + hosted_page: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + PlanFetchResponse: { + status: boolean; + message: string; + data: { + subscriptions: unknown[]; + integration: number; + domain: string; + name: string; + plan_code: string; + description: unknown; + amount: number; + interval: string; + invoice_limit?: number | null; + send_invoices: boolean; + send_sms: boolean; + hosted_page: boolean; + hosted_page_url: unknown; + hosted_page_summary: unknown; + currency: string; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "name": "Starter" + * } + */ + PlanUpdate: { + /** @description Name of plan */ + name?: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, send the amount multiplied by 100 even though the currency does not use fractional subunits. */ + amount?: number; + /** + * @description Payment interval + * @enum {string} + */ + interval?: "daily" | "weekly" | "monthly" | "biannually" | "annually"; + /** @description A description for this plan */ + description?: string; + /** @description Stringified JSON object or JSON object of custom data */ + metadata?: string | Record | number; + /** @description Set to false if you don't want invoices to be sent to your customers */ + send_invoices?: boolean; + /** @description Set to false if you don't want text messages to be sent to your customers */ + send_sms?: boolean; + /** @description Currency in which amount is set. Allowed values are NGN, GHS, ZAR, USD or XOF */ + currency?: string; + /** + * @description Number of invoices to raise during subscription to this plan. + * Can be overridden by specifying an invoice_limit while subscribing. + */ + invoice_limit?: number; + }; + PlanUpdateResponse: { + status: boolean; + message: string; + }; + SubscriptionListResponseArray: { + id: number; + domain: string; + status: string; + start: number; + quantity: number; + subscription_code: string; + email_token: string; + amount: number; + cron_expression: string | null; + next_payment_date: string | null; + open_invoice: unknown; + createdAt: string; + integration: number; + plan: { + id: number; + domain: string; + name: string; + plan_code: string; + description: unknown; + amount: number; + interval: string; + send_invoices: boolean; + send_sms: boolean; + currency: string; + integration: number; + createdAt: string; + updatedAt: string; + }; + authorization: { + authorization_code: string; + bin: string | null; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string | null; + bank: string; + country_code: string; + brand: string; + reusable: number; + signature: string | null; + account_name: unknown; + }; + customer: { + first_name: string; + last_name: string; + email: string; + phone: string; + metadata: unknown; + domain: string; + customer_code: string; + risk_action: string; + id: number; + integration: number; + createdAt: string; + updatedAt: string; + }; + }; + SubscriptionListResponse: { + status: boolean; + message: string; + data: components["schemas"]["SubscriptionListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "customer": "CUS_xnxdt6s1zg1f4nx", + * "plan": "PLN_gx2wn530m0i3w3m" + * } + */ + SubscriptionCreate: { + /** @description Customer's email address or customer code */ + customer: string; + /** @description Plan code */ + plan: string; + /** + * @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 + */ + authorization?: string; + /** + * Format: date-time + * @description Set the date for the first debit. (ISO 8601 format) e.g. 2017-05-16T00:30:13+01:00 + */ + start_date?: string; + }; + SubscriptionCreateResponse: { + status: boolean; + message: string; + data: { + customer: number; + plan: number; + integration: number; + domain: string; + start: number; + status: string; + quantity: number; + amount: number; + authorization: { + authorization_code?: string; + bin?: string; + last4?: string; + exp_month?: string; + exp_year?: string; + channel?: string; + card_type?: string; + bank?: string; + country_code?: string; + brand?: string; + reusable?: boolean; + signature?: string; + account_name?: unknown; + }; + subscription_code: string; + email_token: string; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + SubscriptionFetchResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + status: string; + subscription_code: string; + email_token: string; + amount: number; + cron_expression: string; + next_payment_date: string; + open_invoice: unknown; + createdAt: string; + integration: number; + plan: { + domain: string; + id: number; + integration: number; + name: string; + plan_code: string; + description: unknown; + amount: number; + interval: string; + send_invoices: boolean; + send_sms: boolean; + hosted_page: boolean; + hosted_page_url: unknown; + hosted_page_summary: unknown; + currency: string; + createdAt: string; + updatedAt: string; + }; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: unknown; + }; + customer: { + domain: string; + id: number; + integration: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record; + createdAt: string; + updatedAt: string; + risk_action?: string; + international_format_phone?: string | null; + }; + start: number; + quantity: number; + invoices: unknown[]; + }; + }; + /** + * @example { + * "code": "SUB_vsyqdmlzble3uii", + * "token": "d7gofp6yppn3qz7" + * } + */ + SubscriptionToggle: { + /** @description Subscription code */ + code: string; + /** @description Email token */ + token: string; + }; + SubscriptionDisableResponse: { + status: boolean; + message: string; + }; + TransferRecipientListResponseArray: { + active: boolean; + createdAt: string; + currency: string; + description?: string | null; + domain: string; + email?: string | null; + id: number; + integration?: number; + metadata?: Record | null; + name: string; + recipient_code: string; + type: string; + updatedAt: string; + is_deleted?: boolean; + isDeleted?: boolean; + details: { + authorization_code: string | null; + account_number: string | null; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + }; + TransferRecipientListResponse: { + status: boolean; + message: string; + data: components["schemas"]["TransferRecipientListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "type": "nuban", + * "name": "Smith Taplo", + * "account_number": "01000000010", + * "bank_code": "058" + * } + */ + TransferRecipientCreate: { + /** + * @description Recipient Type + * @enum {string} + */ + type: "nuban" | "ghipss" | "mobile_money" | "basa" | "authorization"; + /** @description The recipient's name according to their account registration. */ + name: string; + /** @description Recipient's bank account number */ + account_number: string; + /** @description Recipient's bank code. You can get the list of Bank Codes by calling the List Banks endpoint */ + bank_code: string; + /** @description A description for this recipient */ + description?: string; + /** @description Currency for the account receiving the transfer */ + currency?: string; + /** @description An authorization code from a previous transaction */ + authorization_code?: string; + /** @description JSON object or stringified JSON of custom data */ + metadata?: string | Record | number; + }; + TransferRecipientCreateResponse: { + status: boolean; + message: string; + data: { + active: boolean; + createdAt: string; + currency: string; + description?: string | null; + domain: string; + email?: string | null; + id: number; + integration?: number; + metadata?: Record | null; + name: string; + recipient_code: string; + type: string; + updatedAt: string; + is_deleted?: boolean; + isDeleted?: boolean; + details: { + authorization_code: string | null; + account_number: string | null; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + }; + }; + TransferRecipientBulk: { + /** @description A list of transfer recipient object. */ + batch: components["schemas"]["TransferRecipientCreate"][]; + }; + ErrorRecordsArray: { + type: string; + name: string; + description: string; + account_number: string; + bank_code: string; + currency: string; + email: string; + }; + TransferRecipientErrorsArray: { + message: string; + records: components["schemas"]["ErrorRecordsArray"][]; + }; + TransferRecipientBulkCreateResponse: { + status: boolean; + message: string; + data: { + success: unknown[]; + errors: components["schemas"]["TransferRecipientErrorsArray"][]; + }; + }; + TransferRecipientFetchResponse: { + status: boolean; + message: string; + data: { + integration?: number; + domain: string; + type: string; + currency: string; + name: string; + details: { + account_number: string | null; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + description?: string | null; + metadata?: Record | null; + recipient_code: string; + active: boolean; + recipient_account?: string | null; + institution_code?: string | null; + email?: string | null; + id: number; + isDeleted?: boolean; + is_deleted?: boolean; + createdAt: string; + updatedAt: string; + }; + }; + TransferRecipientUpdate: { + /** @description Recipient's name */ + name?: string; + /** @description Recipient's email address */ + email?: string; + /** @description JSON object or stringified JSON of custom data */ + metadata?: string | Record | number; + }; + TransferRecipientUpdateResponse: { + status: boolean; + message: string; + data: { + type: string; + name: string; + metadata: Record | null; + domain: string; + details: { + account_number: string; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + currency: string; + recipient_code: string; + active: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + TransferRecipientDeleteResponse: { + status: boolean; + message: string; + }; + TransferListResponseArray: { + amount: number; + createdAt: string; + currency: string; + domain: string; + failures: unknown; + id: number; + integration: number; + reason: string; + reference: string; + source: string; + source_details: Record | null; + status: string; + titan_code: string | null; + transfer_code: string; + updatedAt: string; + recipient: { + active: boolean; + createdAt: string; + currency: string; + description?: string | null; + domain: string; + email?: string | null; + id: number; + integration: number; + metadata?: Record | null; + name: string; + recipient_code: string; + type: string; + updatedAt: string; + is_deleted?: boolean; + isDeleted?: boolean; + details: { + authorization_code: unknown; + account_number: string; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + }; + }; + TransferListResponse: { + status: boolean; + message: string; + data: components["schemas"]["TransferListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "amount": 120000, + * "recipient": "RCP_gd9vgag7n5lr5ix", + * "reference": "acv_9ee55786-2323-4760-98e2-6380c9cb3f68" + * } + */ + TransferBase: { + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount: number; + /** @description The transfer recipient's code */ + recipient: string; + /** @description To ensure idempotency, you need to provide e a unique identifier for the request. The identifier should be a lowercase alphanumeric string with only -,_ symbols allowed. */ + reference: string; + /** @description The reason or narration for the transfer. */ + reason?: string; + /** @description JSON object or stringified JSON of custom data */ + metadata?: string | Record | number; + }; + /** @description Transfer initiation model */ + TransferInitiate: components["schemas"]["TransferBase"] & { + /** + * @description The source of funds to send from + * @default balance + */ + source: string; + /** + * @description Specify the currency of the transfer. + * @default NGN + * @enum {string} + */ + currency: "NGN" | "ZAR" | "KES" | "GHS"; + }; + TransferCreateResponse: { + status: boolean; + message: string; + data: { + transfersessionid: unknown[]; + transfertrials: unknown[]; + domain: string; + amount: number; + currency: string; + reference: string; + source: string; + source_details: unknown; + reason: string; + status: string; + failures: unknown; + transfer_code: string; + titan_code: unknown; + transferred_at: unknown; + id: number; + integration: number; + request: number; + recipient: number; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "transfer_code": "TRF_vsyqdmlzble3uii", + * "otp": "928783" + * } + */ + TransferFinalize: { + /** @description The transfer code you want to finalize */ + transfer_code: string; + /** @description OTP sent to business phone to verify transfer */ + otp: string; + }; + /** + * @example { + * "source": "balance", + * "transfers": [ + * { + * "amount": 120000, + * "recipient": "RCP_gd9vgag7n5lr5ix", + * "reference": "acv_9ee55786-2323-4760-98e2-6380c9cb3f68" + * } + * ] + * } + */ + TransferBulk: { + /** + * @description The source of funds for the transfer. + * @default balance + */ + source: string; + /** + * @description Specify the currency of the transfer. + * @default NGN + * @enum {string} + */ + currency: "NGN" | "ZAR" | "KES" | "GHS" | "XOF"; + /** @description A list of transfer object */ + transfers: components["schemas"]["TransferBase"][]; + }; + TransferBulkResponseArray: { + reference: string; + recipient: string; + amount: number; + transfer_code: string; + currency: string; + status: string; + }; + TransferBulkResponse: { + status: boolean; + message: string; + data: components["schemas"]["TransferBulkResponseArray"][]; + }; + TransferFeesBreakdownArray: { + amount: string; + formula: unknown; + type: string; + }; + TransferFetchResponse: { + status: boolean; + message: string; + data: { + amount: number; + createdAt: string; + currency: string; + domain: string; + failures: Record | null; + id: number; + integration: number; + reason: string; + reference: string; + source: string; + source_details: Record | null; + status: string; + titan_code: string | null; + transfer_code: string; + request: number; + transferred_at: string | null; + updatedAt: string; + recipient: { + active: boolean; + createdAt: string; + currency: string; + description?: string | null; + domain: string; + email?: string | null; + id: number; + integration: number; + metadata?: Record | null; + name: string; + recipient_code: string; + type: string; + updatedAt: string; + is_deleted?: boolean; + isDeleted?: boolean; + details: { + authorization_code: unknown; + account_number: string; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + }; + session: { + provider: string | null; + id: string | null; + }; + fee_charged: number; + fees_breakdown: components["schemas"]["TransferFeesBreakdownArray"][] | null; + gateway_response: string | null; + }; + }; + TransferVerifyResponse: { + status: boolean; + message: string; + data: { + amount: number; + createdAt: string; + currency: string; + domain: string; + failures: Record | null; + id: number; + integration: number; + reason: string; + reference: string; + source: string; + source_details: Record | null; + status: string; + titan_code: string | null; + transfer_code: string; + transferred_at: string | null; + updatedAt: string; + recipient: { + active: boolean; + createdAt: string; + currency: string; + description?: string | null; + domain: string; + email?: string | null; + id: number; + integration: number; + metadata?: Record | null; + name: string; + recipient_code: string; + type: string; + updatedAt: string; + is_deleted?: boolean; + isDeleted?: boolean; + details: { + authorization_code: unknown; + account_number: string; + account_name: string; + bank_code: string; + bank_name: string; + }; + }; + session: { + provider: string | null; + id: string | null; + }; + gateway_response: string | null; + }; + }; + /** + * @example { + * "transfer_code": "TRF_vsyqdmlzble3uii", + * "reason": "resend_otp" + * } + */ + TransferResendOTP: { + /** @description The transfer code that requires an OTP validation */ + transfer_code: string; + /** + * @description Specify the flag to indicate the purpose of the OTP + * @default transfer + * @enum {string} + */ + reason: "disable_otp" | "resend_otp" | "transfer"; + }; + TransferResendsOtpResponse: { + status: boolean; + message: string; + }; + TransferDisablesOtpResponse: { + status: boolean; + message: string; + }; + /** + * @example { + * "otp": "928783" + * } + */ + TransferFinalizeDisableOTP: { + /** @description OTP sent to business phone to verify disabling OTP requirement */ + otp: string; + }; + TransferFinalizeDisablesOtpResponse: { + status: boolean; + message: string; + }; + TransferEnablesOtpResponse: { + status: boolean; + message: string; + }; + BalanceCheckResponseArray: { + currency: string; + balance: number; + }; + BalanceCheckResponse: { + status: boolean; + message: string; + data: components["schemas"]["BalanceCheckResponseArray"][]; + }; + BalanceFetchLedgerResponseArray: { + integration: number; + domain: string; + balance: number; + currency: string; + difference: number; + reason: string; + model_responsible: string; + model_row: number; + id: number; + createdAt: string; + updatedAt: string; + }; + BalanceFetchLedgerResponse: { + status: boolean; + message: string; + data: components["schemas"]["BalanceFetchLedgerResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + PaymentRequestLineItemsArray: { + name: string; + amount: number; + quantity: number; + }; + PaymentRequestTaxArray: { + name: string; + amount: number; + }; + PaymentRequestListResponseArray: { + id: number; + integration: number; + domain: string; + amount: number; + currency: string; + due_date: string | null; + has_invoice: boolean; + invoice_number: number | null; + description: string | null; + pdf_url: string | null; + line_items: components["schemas"]["PaymentRequestLineItemsArray"][]; + tax: components["schemas"]["PaymentRequestTaxArray"][]; + request_code: string; + status: string; + paid: boolean; + paid_at: string | null; + metadata: Record | null; + notifications: unknown[]; + offline_reference: string; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + created_at: string; + discount: Record | null; + split_code: string | null; + }; + PaymentRequestListResponse: { + status: boolean; + message: string; + data: components["schemas"]["PaymentRequestListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "customer": "CUS_xqp6o5oja5cackf", + * "amount": 10000 + * } + */ + PaymentRequestCreate: { + /** @description Customer id or code */ + customer: string; + /** + * @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. + */ + amount: number; + /** @description Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN */ + currency?: string; + /** + * Format: date-time + * @description ISO 8601 representation of request due date + */ + due_date?: string; + /** @description A short description of the payment request */ + description?: string; + /** @description Array of line items */ + line_items?: Record[]; + /** @description Array of taxes */ + tax?: Record[]; + /** @description Indicates whether Paystack sends an email notification to customer. Defaults to true */ + send_notification?: boolean; + /** @description Indicate if request should be saved as draft. Defaults to false and overrides send_notification */ + draft?: boolean; + /** @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 */ + has_invoice?: boolean; + /** @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. */ + invoice_number?: number; + /** @description The split code of the transaction split. */ + split_code?: string; + }; + PaymentRequestCreateResponse: { + status: boolean; + message: string; + data: { + id: number; + integration: number; + domain: string; + amount: number; + currency: string; + due_date: string | null; + has_invoice: boolean; + invoice_number: number | null; + description: string | null; + line_items: unknown[]; + tax: unknown[]; + request_code: string; + status: string; + paid: boolean; + metadata: Record | null; + notifications: unknown[]; + offline_reference: string; + customer: number; + created_at: string; + discount: unknown; + split_code: string | null; + }; + }; + PaymentRequestNotificationsArray: { + sent_at: string; + channel: string; + }; + PaymentRequestViewResponse: { + status: boolean; + message: string; + data: { + domain: string; + request_code: string; + description: string | null; + line_items: components["schemas"]["PaymentRequestLineItemsArray"][]; + tax: components["schemas"]["PaymentRequestTaxArray"][]; + amount: number; + discount: number | null; + currency: string; + due_date: string | null; + status: string; + paid: boolean; + paid_at: string | null; + metadata: Record | null; + has_invoice: boolean; + invoice_number: number | null; + offline_reference: string; + pdf_url: string | null; + notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; + archived: boolean; + source: string; + payment_method: string | null; + note: string | null; + amount_paid: number | null; + split_code: string | null; + id: number; + integration: number; + customer: { + first_name: string; + last_name: string; + email: string; + phone: string | null; + metadata: Record | null; + customer_code: string; + risk_action: string; + id: number; + international_format_phone?: string | null; + }; + createdAt: string; + updatedAt: string; + pending_amount: number; + }; + }; + /** + * @example { + * "amount": 15000 + * } + */ + PaymentRequestUpdate: { + /** @description Customer id or code */ + customer?: string; + /** + * @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. + */ + amount?: number; + /** @description Specify the currency of the invoice. Allowed values are NGN, GHS, ZAR and USD. Defaults to NGN */ + currency?: string; + /** + * Format: date-time + * @description ISO 8601 representation of request due date + */ + due_date?: string; + /** @description A short description of the payment request */ + description?: string; + /** @description Array of line items */ + line_items?: Record[]; + /** @description Array of taxes */ + tax?: Record[]; + /** @description Indicates whether Paystack sends an email notification to customer. Defaults to true */ + send_notification?: boolean; + /** @description Indicate if request should be saved as draft. Defaults to false and overrides send_notification */ + draft?: boolean; + /** @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 */ + has_invoice?: boolean; + /** @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. */ + invoice_number?: number; + /** @description The split code of the transaction split. */ + split_code?: string; + }; + PaymentRequestUpdateResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + amount: number; + currency: string; + due_date: string | null; + has_invoice: boolean; + invoice_number: number | null; + description: string | null; + pdf_url: string | null; + line_items: unknown[]; + tax: unknown[]; + request_code: string; + status: string; + paid: boolean; + paid_at: string | null; + metadata: Record | null; + notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; + offline_reference: string; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + created_at: string; + discount?: Record | null; + split_code?: string | null; + }; + }; + PaymentRequestVerifyResponse: { + status: boolean; + message: string; + data: { + id: number; + integration: { + key: string; + name: string; + logo: string; + allowed_currencies: string[]; + }; + domain: string; + amount: number; + currency: string; + due_date: string | null; + has_invoice: boolean; + invoice_number: number | null; + description: string | null; + pdf_url: string | null; + line_items: unknown[]; + tax: unknown[]; + request_code: string; + status: string; + paid: boolean; + paid_at: string | null; + metadata: Record | null; + notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; + offline_reference: string; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + created_at: string; + discount?: Record | null; + split_code?: string | null; + pending_amount: number; + }; + }; + PaymentRequestSendNotificationResponse: { + status: boolean; + message: string; + }; + PaymentRequestPendingArray: { + currency: string; + amount: number; + }; + PaymentRequestSuccessfulArray: { + currency: string; + amount: number; + }; + PaymentRequestTotalArray: { + currency: string; + amount: number; + }; + PaymentRequestTotalResponse: { + status: boolean; + message: string; + data: { + pending: components["schemas"]["PaymentRequestPendingArray"][]; + successful: components["schemas"]["PaymentRequestSuccessfulArray"][]; + total: components["schemas"]["PaymentRequestTotalArray"][]; + }; + }; + PaymentRequestFinalizeResponse: { + status: boolean; + message: string; + data: { + id: number; + domain: string; + amount: number; + currency: string; + due_date: string | null; + has_invoice: boolean; + invoice_number: number | null; + description: string | null; + pdf_url: string | null; + line_items: components["schemas"]["PaymentRequestLineItemsArray"][]; + tax: components["schemas"]["PaymentRequestTaxArray"][]; + request_code: string; + status: string; + paid: boolean; + paid_at: string | null; + metadata: Record | null; + notifications: unknown[]; + offline_reference: string; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + created_at: string; + discount?: { + type: string; + amount: number; + } | null; + split_code?: string | null; + pending_amount: number; + }; + }; + PaymentRequestArchiveResponse: { + status: boolean; + message: string; + }; + ProductListsResponseArray: { + id: number; + name: string; + description: string; + product_code: string; + slug: string; + currency: string; + price: number; + quantity: number; + quantity_sold: number; + active: boolean; + domain: string; + type: string; + in_stock: boolean; + unlimited: boolean; + metadata: { + background_color: string; + }; + files: unknown[]; + success_message: string | null; + redirect_url: string | null; + split_code: string | null; + notification_emails: string[] | null; + minimum_orderable: number; + maximum_orderable: number | null; + createdAt: string; + updatedAt: string; + digital_assets: unknown[]; + variant_options: unknown[]; + is_shippable: boolean; + shipping_fields: { + delivery_note: string; + shipping_address?: string; + shipping_fees?: unknown[]; + }; + integration: number; + low_stock_alert: number; + }; + ProductListsResponse: { + status: boolean; + message: string; + data: components["schemas"]["ProductListsResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "name": "Cups", + * "description": "Environment friendly paper cups", + * "price": 10000, + * "currency": "NGN" + * } + */ + ProductCreate: { + /** @description Name of product */ + name: string; + /** @description The description of the product */ + description: string; + /** @description Price should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the price is the same as the base units (not multiplied by 100). */ + price: number; + /** @description Currency in which price is set. Allowed values are: NGN, GHS, ZAR, USD or XOF */ + currency: string; + /** + * @description Set to true if the product has unlimited stock. Leave as false if the + * product has limited stock + */ + unlimited?: boolean; + /** @description Number of products in stock. Use if limited is true */ + quantity?: number; + /** @description The split code if sharing the transaction with partners */ + split_code?: string; + /** @description Stringified JSON object of custom data */ + metadata?: string; + }; + ProductCreateResponse: { + status: boolean; + message: string; + data: { + name: string; + description: string; + currency: string; + price: number; + quantity: number; + is_shippable: boolean; + unlimited: boolean; + integration: number; + domain: string; + metadata: { + background_color: string; + }; + slug: string; + product_code: string; + quantity_sold: number; + type: string; + shipping_fields: { + delivery_note: string; + }; + active: boolean; + in_stock: boolean; + minimum_orderable: number; + maximum_orderable: unknown; + low_stock_alert: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + ProductFetchResponse: { + status: boolean; + message: string; + data: { + digital_assets: unknown[]; + integration: number; + name: string; + description: string; + product_code: string; + price: number; + currency: string; + quantity: number; + quantity_sold: unknown; + type: string; + files: unknown[] | null; + file_path: string | null; + is_shippable: boolean; + shipping_fields: { + delivery_note: string; + shipping_address?: string; + shipping_fees?: unknown[]; + }; + unlimited: boolean; + domain: string; + active: boolean; + features: Record | null; + in_stock: boolean; + metadata: { + background_color: string; + }; + slug: string; + success_message: string | null; + redirect_url: string | null; + split_code: string | null; + notification_emails: string[] | null; + minimum_orderable: number; + maximum_orderable: number | null; + low_stock_alert: boolean; + stock_threshold: number | null; + expires_in: number | null; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "name": "Spoon", + * "description": "Environment friendly paper spoons", + * "price": 5000, + * "currency": "NGN" + * } + */ + ProductUpdate: { + /** @description Name of product */ + name?: string; + /** @description The description of the product */ + description?: string; + /** @description Price should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the price is the same as the base units (not multiplied by 100). */ + price?: number; + /** @description Currency in which price is set. Allowed values are: NGN, GHS, ZAR or USD */ + currency?: string; + /** + * @description Set to true if the product has unlimited stock. Leave as false if the + * product has limited stock + */ + unlimited?: boolean; + /** @description Number of products in stock. Use if limited is true */ + quantity?: number; + /** @description The split code if sharing the transaction with partners */ + split_code?: string; + /** @description JSON object of custom data */ + metadata?: Record; + }; + ProductUpdateResponse: { + status: boolean; + message: string; + data: { + name: string; + description: string; + product_code: string; + price: number; + currency: string; + quantity: number; + quantity_sold: unknown; + type: string; + image_path: string; + file_path: string; + is_shippable: boolean; + unlimited: boolean; + domain: string; + active: boolean; + features: unknown; + in_stock: boolean; + metadata: unknown; + id: number; + integration: number; + createdAt: string; + updatedAt: string; + }; + }; + ProductDeleteResponse: { + status: boolean; + message: string; + }; + StorefrontListResponseArray: { + id: number; + name: string; + slug: string; + description: string | null; + status: string; + currency: string; + createdAt: string; + updatedAt: string; + }; + StorefrontListResponse: { + status: boolean; + message: string; + data: components["schemas"]["StorefrontListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "name": "Obi and Sons", + * "slug": "obi_and_sons", + * "currency": "NGN" + * } + */ + StorefrontCreate: { + /** @description Name of the storefront */ + name: string; + /** @description A unique identifier to access your store. Once the storefront is created, it can be accessed from https://paystack.shop/your-slug */ + slug: string; + /** + * @description Currency for prices of products in your storefront. + * @enum {string} + */ + currency: "GHS" | "KES" | "NGN" | "USD" | "ZAR"; + /** @description The description of the storefront */ + description?: string; + }; + StorefrontCreateResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + slug: string; + description: string | null; + status: string; + currency: string; + createdAt: string; + updatedAt: string; + }; + }; + StorefrontFetchResponse: { + status: boolean; + message: string; + data: { + id: number; + name: string; + slug: string; + description: string | null; + status: string; + currency: string; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "description": "Import and Export" + * } + */ + StorefrontUpdate: { + /** @description Name of the storefront */ + name?: string; + /** + * @description A unique identifier to access your store. Once the storefront is created, it can be accessed from + * https://paystack.shop/your-slug + */ + slug?: string; + /** @description The description of the storefront */ + description?: string; + }; + StorefrontUpdateResponse: { + status: boolean; + message: string; + }; + StorefrontDeleteResponse: { + status: boolean; + message: string; + }; + /** + * @example { + * "products": [ + * 2196244, + * 2179824 + * ] + * } + */ + StorefrontAddProducts: { + /** @description An array of product IDs */ + products: number[]; + }; + OrderListResponseArray: { + id: number; + code: string; + amount: number; + currency: string; + status: string; + customer: { + email: string; + }; + createdAt: string; + }; + OrderListResponse: { + status: boolean; + message: string; + data: components["schemas"]["OrderListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @description The collection of items that make up the order + * @example { + * "item": 2179824, + * "type": "product", + * "quantity": 200000, + * "amount": 2 + * } + */ + OrderItems: { + /** @description The product ID of the item */ + item: number; + /** @description The type of the item. `product` is currently the acceptable value */ + type: string; + /** @description The number of items to get */ + quantity: number; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount: number; + }; + /** + * @description The shipping details of the order + * @example { + * "street_line": "Somewhere on Earth", + * "city": "Atlantic", + * "state": "Pacific", + * "country": "Equator", + * "shipping_fee": 10000 + * } + */ + OrderShipping: { + /** @description The address of for the delivery */ + street_line: string; + /** @description The city of the delivery address */ + city: string; + /** @description The state of the delivery address */ + state: string; + /** @description The country of the delivery address */ + country: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + shipping_fee: number; + /** @description Extra details to be aware of for the delivery */ + delivery_note?: string; + }; + /** + * @example { + * "email": "test@email.com", + * "first_name": "Demo", + * "last_name": "User", + * "phone": "+2348031245678", + * "currency": "NGN", + * "items": [ + * { + * "item": 2179824, + * "type": "product", + * "quantity": 200000, + * "amount": 2 + * } + * ], + * "shipping": { + * "street_line": "Somewhere on Earth", + * "city": "Atlantic", + * "state": "Pacific", + * "country": "Equator", + * "shipping_fee": 10000 + * } + * } + */ + OrderCreate: { + /** @description The email of the customer placing the order */ + email: string; + /** @description The customer's first name */ + first_name: string; + /** @description The customer's last name */ + last_name: string; + /** @description The customer's mobile number */ + phone: string; + /** + * @description Currency in which amount is set + * @enum {string} + */ + currency: "GHS" | "KES" | "NGN" | "USD" | "ZAR" | "XOF"; + items: components["schemas"]["OrderItems"][]; + shipping: components["schemas"]["OrderShipping"]; + /** @description A flag to indicate if the order is for someone else */ + is_gift?: boolean; + /** @description A flag to indicate if the someone else should pay for the order */ + pay_for_me?: boolean; + }; + OrderCreateResponse: { + status: boolean; + message: string; + data: { + discounts: unknown[]; + currency: string; + shipping_address: unknown; + integration: number; + domain: string; + email: string; + customer: number; + amount: number; + pay_for_me: boolean; + shipping: { + customer: number; + integration: number; + domain: string; + fees: number; + delivery_note: unknown; + street_line: string; + city: string; + state: string; + country: string; + is_shipped: boolean; + delivery_tracking_link: unknown; + id: number; + createdAt: string; + updatedAt: string; + } | null; + shipping_fees: number; + shipping_method?: { + region: string; + fee: number; + currency: string; + }; + metadata: Record; + order_code: string; + status: string; + refunded: boolean; + is_viewed: boolean; + expiration_date: unknown; + id: number; + createdAt: string; + updatedAt: string; + items: unknown[]; + pay_for_me_code: string; + discount_amount: number; + }; + }; + OrderFetchResponse: { + status: boolean; + message: string; + data: { + id: number; + code: string; + amount: number; + currency: string; + status: string; + customer: { + id: number; + email: string; + }; + line_items: { + product: { + id: number; + name: string; + }; + quantity: number; + amount: number; + }[]; + createdAt: string; + }; + }; + OrderFetchProductResponseArray: { + order_id: number; + transaction: number; + order_code: string; + customer: number; + first_name: string; + last_name: string; + customer_name: string; + phone: string; + email: string; + product_code: string; + product_id: number; + product_name: string; + price: number; + quantity_sold: number; + currency: string; + quantity: number; + variant_id: unknown; + variant_price: unknown; + variant_code: unknown; + amount: number; + shipping_method: unknown; + status: string; + shipping_address: unknown; + refunded: boolean; + shipping: unknown; + paid_at: string; + created_at: string; + is_shipped: boolean; + is_viewed: number; + delivery_note: unknown; + shipping_fee: unknown; + amount_paid: number; + storefront_slug: string; + }; + OrderFetchProductResponse: { + status: boolean; + message: string; + data: components["schemas"]["OrderFetchProductResponseArray"][]; + meta: components["schemas"]["Meta"] & { + quantity_sold: number; + revenue: number; + }; + }; + OrderValidateResponse: { + status: boolean; + message: string; + data: { + order_code: string; + domain: string; + currency: string; + amount: number; + email: string; + status: string; + refunded: boolean; + paid_at: unknown; + shipping_address: unknown; + metadata: unknown; + shipping_fees: number; + shipping_method: unknown; + is_viewed: boolean; + expiration_date: string; + pay_for_me: boolean; + id: number; + integration: { + key: string; + name: string; + logo: string; + allowed_currencies: unknown[]; + }; + transaction: unknown; + page: unknown; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string; + metadata: Record; + risk_action: string; + international_format_phone: string; + }; + shipping: unknown; + createdAt: string; + updatedAt: string; + payer: unknown; + }; + }; + PageListResponseArray: { + integration: number; + plan: unknown; + domain: string; + name: string; + description: string | null; + amount: number | null; + currency: string; + slug: string; + custom_fields: unknown[] | null; + type: string; + redirect_url: string | null; + success_message: string | null; + collect_phone: boolean; + active: boolean; + published: boolean; + migrate: boolean; + notification_email: unknown; + metadata: Record | null; + split_code: unknown; + id: number; + createdAt: string; + updatedAt: string; + }; + PageListResponse: { + status: boolean; + message: string; + data: components["schemas"]["PageListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + /** + * @example { + * "name": "Extra Charges", + * "amount": 200000 + * } + */ + PageCreate: { + /** @description Name of page */ + name: string; + /** @description The description of the page */ + description?: string; + /** @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). */ + amount?: number; + /** + * @description The transaction currency. Defaults to your integration currency. + * @enum {string} + */ + currency?: "NGN" | "GHS" | "ZAR" | "KES" | "USD" | "XOF"; + /** @description URL slug you would like to be associated with this page. Page will be accessible at `https://paystack.com/pay/[slug]` */ + slug?: string; + /** + * @description The type of payment page to create. Defaults to `payment` if no type is specified. + * @enum {string} + */ + type?: "payment" | "subscription" | "product" | "plan"; + /** @description The ID of the plan to subscribe customers on this payment page to when `type` is set to `subscription`. */ + plan?: string; + /** @description Specifies whether to collect a fixed amount on the payment page. If true, `amount` must be passed. */ + fixed_amount?: boolean; + /** @description The split code of the transaction split. e.g. `SPL_98WF13Eb3w` */ + split_code?: string; + /** @description JSON object of custom data */ + metadata?: Record; + /** @description If you would like Paystack to redirect to a URL upon successful payment, specify the URL here. */ + redirect_url?: string; + /** @description A success message to display to the customer after a successful transaction */ + success_message?: string; + /** @description An email address that will receive transaction notifications for this payment page */ + notification_email?: string; + /** @description Specify whether to collect phone numbers on the payment page */ + collect_phone?: boolean; + /** @description If you would like to accept custom fields, specify them here. */ + custom_fields?: Record[]; + }; + PageCreateResponse: { + status: boolean; + message: string; + data: { + name: string; + description?: string | null; + amount: number | null; + split_code?: string | null; + integration: number; + domain: string; + slug: string; + currency: string; + type: string; + collect_phone: boolean; + active: boolean; + published: boolean; + migrate: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + PageProductsArray: { + product_id: number; + name: string; + description: string; + product_code: string; + page: number; + price: number; + currency: string; + quantity: number; + type: string; + features: unknown; + is_shippable: number; + domain: string; + integration: number; + active: number; + in_stock: number; + }; + PageFetchResponse: { + status: boolean; + message: string; + data: { + integration: number; + domain: string; + name: string; + description?: string | null; + amount: number | null; + currency: string; + slug: string; + active: boolean; + id: number; + createdAt: string; + updatedAt: string; + products: components["schemas"]["PageProductsArray"][]; + }; + }; + /** + * @example { + * "name": "Backyard Sale" + * } + */ + PageUpdate: { + /** @description Name of page */ + name?: string; + /** @description The description of the page */ + description?: string; + /** @description Amount should be in the subunit of the currency */ + amount?: number; + /** @description Set to false to deactivate page url */ + active?: boolean; + }; + PageUpdateResponse: { + status: boolean; + message: string; + data: { + domain: string; + name: string; + description?: string | null; + amount: number | null; + currency: string; + slug: string; + active: boolean; + id: number; + integration: number; + createdAt: string; + updatedAt: string; + }; + }; + PageCheckSlugAvailabilityResponse: { + status: boolean; + message: string; + }; + /** + * @example { + * "products": [ + * 2196244, + * 2179824 + * ] + * } + */ + PageProduct: { + /** @description A list of IDs of products to add to a page. */ + products: number[]; + }; + PageAddProductsResponse: { + status: boolean; + message: string; + data: { + integration: number; + plan: unknown; + domain: string; + name: string; + description?: string | null; + amount: number | null; + currency: string; + slug: string; + custom_fields?: unknown; + type: string; + redirect_url?: unknown; + success_message?: unknown; + collect_phone: boolean; + active: boolean; + published: boolean; + migrate: boolean; + notification_email?: string | null; + metadata?: Record | null; + split_code?: string | null; + id: number; + createdAt: string; + updatedAt: string; + products: components["schemas"]["PageProductsArray"][]; + }; + }; + SettlementListResponseArray: { + id: number; + domain: string; + status: string; + currency: string; + integration: number; + total_amount: number; + effective_amount: number; + total_fees: number; + total_processed: number; + deductions: number | null; + /** Format: date-time */ + settlement_date: string; + settled_by: string | null; + /** Format: date-time */ + createdAt: string; + /** Format: date-time */ + updatedAt: string; + }; + SettlementListResponse: { + status: boolean; + message: string; + data: components["schemas"]["SettlementListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + SettlementTransactionsResponse: { + status: boolean; + message: string; + data: components["schemas"]["TransactionListResponseArray"][]; + meta: components["schemas"]["MetaWithVolume"]; + }; + ControlPanelFetchPaymentSessionTimeoutResponse: { + status: boolean; + message: string; + data: { + payment_session_timeout: number; + }; + }; + PaymentSession: { + /** + * @description Time in seconds before a transaction becomes invalid + * @example 30 + */ + timeout: number; + }; + ControlPanelUpdatePaymentSessionTimeoutResponse: { + status: boolean; + message: string; + data: { + payment_session_timeout: number; + }; + }; + RefundListResponseArray: { + id: number; + integration: number; + domain: string; + transaction: number; + dispute: number | null; + amount: number; + deducted_amount: number | null; + currency: string; + channel: string; + settlement: number | null; + refunded_by: string; + refunded_at: string | null; + expected_at: string; + customer_note: string; + merchant_note: string; + fully_deducted: number | null; + created_at: string; + updated_at: string; + status: string; + }; + RefundListResponse: { + status: boolean; + message: string; + data: components["schemas"]["RefundListResponseArray"][]; + }; + /** + * @example { + * "transaction": "mpkr39h74k" + * } + */ + RefundCreate: { + /** @description The reference of a previosuly completed transaction */ + transaction: string; + /** + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + * Amount to be refunded to the customer. It cannot be more than the original transaction amount. + */ + amount?: number; + /** + * @description Three-letter ISO currency + * @enum {string} + */ + currency?: "GHS" | "KES" | "NGN" | "USD" | "ZAR" | "XOF"; + /** @description Customer reason */ + customer_note?: string; + /** @description Merchant reason */ + merchant_note?: string; + }; + RefundCreateResponse: { + status: boolean; + message: string; + data: { + transaction: { + id: number; + domain: string; + reference: string; + amount: number; + paid_at: string; + channel: string; + currency: string; + authorization: { + exp_month: unknown; + exp_year: unknown; + account_name: unknown; + }; + customer: { + international_format_phone?: string | null; + }; + plan: Record; + subaccount: { + currency: unknown; + }; + split: Record; + order_id: unknown; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + }; + integration: number; + deducted_amount: number; + channel: unknown; + merchant_note: string; + customer_note: string; + status: string; + refunded_by: string; + expected_at: string; + currency: string; + domain: string; + amount: number; + fully_deducted: boolean; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @description An object that contains the customer’s account details for refund + * @example { + * "currency": "NGN", + * "account_number": "1234567890", + * "bank_id": "9" + * } + */ + RefundRetryAccountDetails: { + /** @description The currency of the customer's bank account. It should be the same as the currency the payment was made */ + currency: string; + /** @description The customer's account number */ + account_number: string; + /** @description The ID representing the customer's bank. You can get the list of bank IDs by calling the List Banks endpoint. */ + bank_id: string; + }; + RefundRetry: { + refund_account_details: components["schemas"]["RefundRetryAccountDetails"]; + }; + /** Generated schema for Root */ + RefundRetryResponse: { + status: boolean; + message: string; + data: { + integration: number; + transaction: number; + dispute: Record; + settlement: Record; + id: number; + domain: string; + currency: string; + amount: number; + status: string; + refunded_at: string | null; + expected_at: string; + channel: string; + refunded_by: string; + customer_note: string; + merchant_note: string; + deducted_amount: number; + fully_deducted: boolean; + bank_reference: string | null; + reason: string; + customer: Record; + initiated_by: string; + reversed_at: string | null; + session_id: string | null; + }; + }; + RefundFetchResponse: { + status: boolean; + message: string; + data: { + integration: number; + transaction: number; + dispute: number | null; + settlement: number | null; + domain: string; + amount: number; + deducted_amount: number; + fully_deducted: boolean; + currency: string; + channel: string; + status: string; + refunded_by: string; + refunded_at: string; + expected_at: string; + customer_note: string; + merchant_note: string; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + DisputeHistoryArray: { + status: string; + by: string; + createdAt: string; + }; + DisputeMessagesArray: { + sender: string; + body: string; + createdAt: string; + }; + DisputeListResponseArray: { + id: number; + refund_amount: number | null; + currency: string | null; + status: string; + resolution?: unknown; + domain: string; + transaction: { + id: number; + domain: string; + status: string; + reference: string; + amount: number; + message: unknown; + gateway_response: string; + paid_at?: string | null; + created_at?: string; + channel: string; + currency: string; + ip_address: string; + metadata: { + custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; + }; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: Record; + customer: unknown; + plan: Record; + subaccount: Record; + split: Record; + order_id: unknown; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + connect: unknown; + }; + transaction_reference?: unknown; + category: string | null; + customer: { + id: number; + first_name?: string; + last_name?: string; + email: string; + customer_code: string; + phone?: string | null; + metadata?: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + bin: string | null; + last4: string | null; + dueAt?: unknown; + resolvedAt?: unknown; + evidence?: unknown; + attachments?: unknown; + note?: unknown; + history: components["schemas"]["DisputeHistoryArray"][]; + messages: components["schemas"]["DisputeMessagesArray"][]; + createdAt: string; + updatedAt: string; + }; + DisputeListResponse: { + status: boolean; + message: string; + data: components["schemas"]["DisputeListResponseArray"][]; + meta: components["schemas"]["Meta"]; + }; + DisputeFetchResponse: { + status: boolean; + message: string; + data: { + id: number; + refund_amount: number | null; + currency: string | null; + status: string; + resolution?: unknown; + domain: string; + transaction: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number?: number | null; + amount: number; + message: unknown; + gateway_response: string; + paid_at: string; + created_at: string; + channel: string; + currency: string; + ip_address: string; + metadata: { + custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; + }; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: { + receiver_bank_account_number?: unknown; + receiver_bank?: unknown; + }; + customer: { + international_format_phone?: string | null; + }; + plan: Record; + subaccount: Record; + split: Record; + order_id: unknown; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + connect: unknown; + }; + transaction_reference?: unknown; + category: string | null; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + bin: string | null; + last4: string | null; + dueAt?: unknown; + resolvedAt?: unknown; + evidence?: unknown; + attachments?: unknown; + note?: unknown; + history: components["schemas"]["DisputeHistoryArray"][]; + messages: components["schemas"]["DisputeMessagesArray"][]; + createdAt: string; + updatedAt: string; + }; + }; + /** + * @example { + * "refund_amount": 50000 + * } + */ + DisputeUpdate: { + /** @description The amount to refund, in the subunit of your currency */ + refund_amount: number; + /** @description Filename of attachment returned via response from the Dispute upload URL */ + uploaded_filename?: string; + }; + DisputeUpdateResponse: { + status: boolean; + message: string; + data: { + id: number; + refund_amount: number | null; + currency: string | null; + status: string; + resolution?: unknown; + domain: string; + transaction: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number?: number | null; + amount: number; + message: unknown; + gateway_response: string; + paid_at: string; + created_at: string; + channel: string; + currency: string; + ip_address: string; + metadata: { + custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; + }; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: { + receiver_bank_account_number?: unknown; + receiver_bank?: unknown; + }; + customer: { + international_format_phone?: string | null; + }; + plan: Record; + subaccount: Record; + split: Record; + order_id: unknown; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + connect: unknown; + }; + transaction_reference?: unknown; + category: string | null; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + bin: string | null; + last4: string | null; + dueAt?: unknown; + resolvedAt?: unknown; + evidence?: unknown; + attachments?: unknown; + note?: unknown; + history: components["schemas"]["DisputeHistoryArray"][]; + messages: components["schemas"]["DisputeMessagesArray"][]; + createdAt: string; + updatedAt: string; + }; + }; + DisputeUploadURLResponse: { + status: boolean; + message: string; + data: { + signedUrl: string; + fileName: string; + }; + }; + DisputeExportResponse: { + status: boolean; + message: string; + data: { + path: string; + expiresAt: string; + }; + }; + DisputeListTransactionResponse: { + status: boolean; + message: string; + data: { + history: components["schemas"]["DisputeHistoryArray"][]; + messages: components["schemas"]["DisputeMessagesArray"][]; + currency: string | null; + last4: string | null; + bin: string | null; + transaction_reference?: unknown; + merchant_transaction_reference: string | null; + refund_amount: number | null; + status: string; + domain: string; + resolution?: unknown; + category: string | null; + note?: unknown; + attachments?: unknown; + id: number; + integration: number; + transaction: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number?: number | null; + amount: number; + message: unknown; + gateway_response: string; + paid_at?: string | null; + created_at?: string; + channel: string; + currency: string; + ip_address: string; + metadata: { + custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; + }; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: { + receiver_bank_account_number?: unknown; + receiver_bank?: unknown; + }; + customer: { + international_format_phone?: string | null; + }; + plan: Record; + subaccount: Record; + split: Record; + order_id: unknown; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + connect: Record | null; + }; + created_by: number | null; + evidence?: unknown; + resolvedAt?: unknown; + createdAt: string; + updatedAt: string; + dueAt?: unknown; + }; + }; + /** + * @example { + * "resolution": "merchant-accepted", + * "message": "Merchant accepted", + * "refund_amount": 50000, + * "uploaded_filename": "qesp8a4df1xejihd9x5q" + * } + */ + DisputeResolve: { + /** @description Dispute resolution. Accepted values, merchant-accepted, declined */ + resolution: string; + /** @description Reason for resolving */ + message: string; + /** @description The amount to refund, in the subunit of your integration currency */ + refund_amount: number; + /** @description Filename of attachment returned via response from the Dispute upload URL */ + uploaded_filename: string; + /** @description Evidence Id for fraud claims */ + evidence?: number; + }; + DisputeResolveResponse: { + status: boolean; + message: string; + data: { + currency: string; + last4: string | null; + bin: string | null; + transaction_reference?: string | null; + merchant_transaction_reference: string | null; + refund_amount: number; + status: string; + domain: string; + resolution: string; + category: string; + note?: unknown; + attachments: string; + id: number; + integration?: number; + transaction: Record; + created_by: number; + evidence: number | null; + resolvedAt: string; + createdAt: string; + updatedAt: string; + dueAt?: unknown; + message: { + dispute: number; + sender: string; + body: string; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + }; + /** + * @example { + * "customer_email": "customer@email.com", + * "customer_name": "Mensah King", + * "customer_phone": "08012345678", + * "service_details": "claim for buying cups" + * } + */ + DisputeEvidence: { + /** @description Customer email */ + customer_email: string; + /** @description Customer name */ + customer_name: string; + /** @description Customer mobile number */ + customer_phone: string; + /** @description Details of service offered */ + service_details: string; + /** @description Delivery address */ + delivery_address?: string; + /** + * Format: date-time + * @description ISO 8601 representation of delivery date (YYYY-MM-DD) + */ + delivery_date?: string; + }; + DisputeAddEvidenceResponse: { + status: boolean; + message: string; + data: { + customer_email: string; + customer_name: string; + customer_phone: string; + service_details: string; + delivery_address: string; + delivery_date: string; + dispute: number; + id: number; + createdAt: string; + updatedAt: string; + }; + }; + MiscellaneousListBanksResponseArray: { + name: string; + slug: string; + code: string; + longcode: string; + gateway: string | null; + pay_with_bank: boolean; + supports_transfer: boolean; + available_for_direct_debit: boolean; + active: boolean; + is_deleted: boolean | null; + country: string; + currency: string; + type: string; + id: number; + createdAt: string; + updatedAt: string; + }; + MiscellaneousListBanksResponse: { + status: boolean; + message: string; + data: components["schemas"]["MiscellaneousListBanksResponseArray"][]; + }; + VerificationResolveAccountNumberResponse: { + status: boolean; + message: string; + data: { + account_number: string; + account_name: string; + }; + }; + /** + * @example { + * "account_name": "Ann Bron", + * "account_number": "0123456789", + * "account_type": "personal", + * "bank_code": "632005", + * "country_code": "ZA", + * "document_type": "identityNumber", + * "document_number": "1234567890123" + * } + */ + BankValidateRequest: { + /** @description Customer's first and last name registered with their bank */ + account_name: string; + /** @description Customer's account number */ + account_number: string; + /** + * @description The type of the customer's account number + * @enum {string} + */ + account_type: "personal" | "business"; + /** @description The bank code of the customer’s bank. You can fetch the bank codes by using our List Banks endpoint */ + bank_code: string; + /** @description The two digit ISO code of the customer’s bank */ + country_code: string; + /** + * @description Customer’s mode of identity + * @enum {string} + */ + document_type: "identityNumber" | "passportNumber" | "businessRegistrationNumber"; + /** @description Customer’s mode of identity number */ + document_number?: string; + }; + VerificationValidateAccountResponse: { + status: boolean; + message: string; + data: { + verified: boolean; + verificationMessage: string; + accountAcceptsDebits: boolean; + accountAcceptsCredits: boolean; + accountOpenForMoreThanThreeMonths: boolean; + accountHolderMatch: boolean; + accountOpen: boolean; + }; + }; + VerificationResolveCardBINResponse: { + status: boolean; + message: string; + data: { + bin: string; + brand: string; + sub_brand: string; + country_code: string; + country_name: string; + card_type: string; + bank: string; + linked_bank_id: number; + }; + }; + MiscellaneousListCountriesResponseArray: { + id: number; + active_for_dashboard_onboarding: boolean; + name: string; + iso_code: string; + default_currency_code: string; + integration_defaults: Record; + calling_code: string; + pilot_mode: boolean; + relationships: { + currency: { + type: string; + data: string[]; + supported_currencies: { + NGN: { + bank: { + bank_type: string; + branch_code: boolean; + branch_code_type: string; + account_name: boolean; + account_verification_required: boolean; + account_number_label: string; + account_number_pattern: { + exact_match: boolean; + pattern: string; + }; + documents: unknown[]; + show_account_number_tooltip: boolean; + }; + }; + USD: { + bank: { + bank_type: string; + required_fields: string[]; + branch_code: boolean; + branch_code_type: string; + account_name: boolean; + account_verification_required: boolean; + account_number_label: string; + account_number_pattern: { + exact_match: boolean; + pattern: string; + }; + documents: unknown[]; + notices: string[]; + }; + }; + }; + }; + integration_feature: { + type: string; + data: unknown[]; + }; + integration_type: { + type: string; + data: string[]; + }; + payment_method: { + type: string; + data: string[]; + }; + }; + }; + MiscellaneousListCountriesResponse: { + status: boolean; + message: string; + data: components["schemas"]["MiscellaneousListCountriesResponseArray"][]; + }; + MiscellaneousListStatesResponseArray: { + name: string; + slug: string; + abbreviation: string; + }; + MiscellaneousListStatesResponse: { + status: boolean; + message: string; + data: components["schemas"]["MiscellaneousListStatesResponseArray"][]; + }; + data: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number: unknown; + amount: number; + message: unknown; + gateway_response: string; + helpdesk_link: unknown; + paid_at: string; + created_at: string; + channel: string; + currency: string; + ip_address: string | null; + metadata: (string | { + [key: string]: unknown; + }) | null; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: string | null; + receiver_bank_account_number?: string | null; + receiver_bank?: string | null; + }; + customer: { + id: number; + first_name: string | null; + last_name: string | null; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + plan: Record | null; + subaccount: Record | null; + split: Record | null; + order_id: unknown; + requested_amount: number; + pos_transaction_data: unknown; + source: { + type?: string; + source?: string; + identifier?: string | null; + } | null; + fees_breakdown: unknown; + connect: unknown; + }; + "data-2": { + amount: number; + createdAt: string; + currency: string; + domain: string; + failures: Record | null; + id: number; + integration: number; + reason: string; + reference: string; + source: string; + source_details: Record | null; + status: string; + titan_code: string | null; + transfer_code: string; + request: number; + transferred_at: string | null; + updatedAt: string; + recipient: { + active: boolean; + createdAt: string; + currency: string; + description?: string | null; + domain: string; + email?: string | null; + id: number; + integration: number; + metadata?: Record | null; + name: string; + recipient_code: string; + type: string; + updatedAt: string; + is_deleted?: boolean; + isDeleted?: boolean; + details: { + authorization_code: unknown; + account_number: string; + account_name: string | null; + bank_code: string; + bank_name: string; + }; + }; + session: { + provider: string | null; + id: string | null; + }; + fee_charged: number; + fees_breakdown: components["schemas"]["TransferFeesBreakdownArray"][] | null; + gateway_response: string | null; + }; + "data-3": { + id: number; + domain: string; + status: string; + subscription_code: string; + email_token: string; + amount: number; + cron_expression: string; + next_payment_date: string; + open_invoice: unknown; + createdAt: string; + integration: number; + plan: { + domain: string; + id: number; + integration: number; + name: string; + plan_code: string; + description: unknown; + amount: number; + interval: string; + send_invoices: boolean; + send_sms: boolean; + hosted_page: boolean; + hosted_page_url: unknown; + hosted_page_summary: unknown; + currency: string; + createdAt: string; + updatedAt: string; + }; + authorization: { + authorization_code: string; + bin: string; + last4: string; + exp_month: string; + exp_year: string; + channel: string; + card_type: string; + bank: string; + country_code: string; + brand: string; + reusable: boolean; + signature: string; + account_name: unknown; + }; + customer: { + domain: string; + id: number; + integration: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record; + createdAt: string; + updatedAt: string; + risk_action?: string; + international_format_phone?: string | null; + }; + start: number; + quantity: number; + invoices: unknown[]; + }; + "data-4": { + id: number; + integration: { + key: string; + name: string; + logo: string; + allowed_currencies: string[]; + }; + domain: string; + amount: number; + currency: string; + due_date: string | null; + has_invoice: boolean; + invoice_number: number | null; + description: string | null; + pdf_url: string | null; + line_items: unknown[]; + tax: unknown[]; + request_code: string; + status: string; + paid: boolean; + paid_at: string | null; + metadata: Record | null; + notifications: components["schemas"]["PaymentRequestNotificationsArray"][]; + offline_reference: string; + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + created_at: string; + discount?: Record | null; + split_code?: string | null; + pending_amount: number; + }; + "data-5": { + customer: { + id: number; + first_name: string; + last_name: string; + email: string; + customer_code: string; + phone: string | null; + metadata: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + bank: { + name: string; + id: number; + slug: string; + }; + id: number; + account_name: string; + account_number: string; + created_at: string; + updated_at: string; + currency: string; + split_config: (string | Record) | null; + active: boolean; + assigned: boolean; + }; + "data-6": { + integration: number; + transaction: number; + dispute: number | null; + settlement: number | null; + domain: string; + amount: number; + deducted_amount: number; + fully_deducted: boolean; + currency: string; + channel: string; + status: string; + refunded_by: string; + refunded_at: string; + expected_at: string; + customer_note: string; + merchant_note: string; + id: number; + createdAt: string; + updatedAt: string; + }; + "data-7": { + id: number; + refund_amount: number | null; + currency: string | null; + status: string; + resolution?: unknown; + domain: string; + transaction: { + id: number; + domain: string; + status: string; + reference: string; + receipt_number?: number | null; + amount: number; + message: unknown; + gateway_response: string; + paid_at: string; + created_at: string; + channel: string; + currency: string; + ip_address: string; + metadata: { + custom_fields: components["schemas"]["MetadataCustomFieldsArray"][]; + }; + log: { + start_time: number; + time_spent: number; + attempts: number; + errors: number; + success: boolean; + mobile: boolean; + input: unknown[]; + history: { + type: string; + message: string; + time: number; + }[]; + } | null; + fees: number; + fees_split: number | null; + authorization: { + receiver_bank_account_number?: unknown; + receiver_bank?: unknown; + }; + customer: { + international_format_phone?: string | null; + }; + plan: Record; + subaccount: Record; + split: Record; + order_id: unknown; + requested_amount: number; + pos_transaction_data: unknown; + source: unknown; + fees_breakdown: unknown; + connect: unknown; + }; + transaction_reference?: unknown; + category: string | null; + customer: { + id: number; + first_name?: string | null; + last_name?: string | null; + email: string; + customer_code: string; + phone?: string | null; + metadata?: Record | null; + risk_action: string; + international_format_phone?: string | null; + }; + bin: string | null; + last4: string | null; + dueAt?: unknown; + resolvedAt?: unknown; + evidence?: unknown; + attachments?: unknown; + note?: unknown; + history: components["schemas"]["DisputeHistoryArray"][]; + messages: components["schemas"]["DisputeMessagesArray"][]; + createdAt: string; + updatedAt: string; + }; + }; + responses: { + /** @description Responses from the Transaction Initialize endpoint */ + TransactionInitializeBadRequestResponse: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionInitializeBadRequestModel"]; + }; + }; + /** @description Unauthorized operation */ + Unauthorized: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "status": false, + * "message": "Invalid key" + * } + */ + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Request successful */ + Ok: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Response"]; + }; + }; + /** @description Entity not found */ + NotFound: { + headers: { + [name: string]: unknown; + }; + content: { + /** + * @example { + * "status": false, + * "message": "Entity not found" + * } + */ + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description Terminal Get Status response */ + TerminalGetStatusSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TerminalGetStatusResponse"]; + }; + }; + /** @description Terminal Lists response */ + TerminalListsSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TerminalListsResponse"]; + }; + }; + /** @description Terminal Get response */ + TerminalGetSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TerminalGetResponse"]; + }; + }; + /** @description Terminal Update response */ + TerminalUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TerminalUpdateResponse"]; + }; + }; + /** @description Terminal Commission Device response */ + TerminalCommissionDeviceSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TerminalCommissionDeviceResponse"]; + }; + }; + /** @description Terminal Decommission Device response */ + TerminalDecommissionDeviceSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TerminalDecommissionDeviceResponse"]; + }; + }; + /** @description Virtual Terminal Lists response */ + VirtualTerminalListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalListResponse"]; + }; + }; + /** @description Virtual Terminal Create response */ + VirtualTerminalCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalCreateResponse"]; + }; + }; + /** @description Virtual Terminal Fetch response */ + VirtualTerminalFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalFetchResponse"]; + }; + }; + /** @description Virtual Terminal Update response */ + VirtualTerminalUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalUpdateResponse"]; + }; + }; + /** @description Virtual Terminal Deactivate response */ + VirtualTerminalDeactivateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalDeactivateResponse"]; + }; + }; + /** @description Virtual Terminal Deactivate response */ + VirtualTerminalDestinationAssignSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalDestinationAssignResponse"]; + }; + }; + /** @description Virtual Terminal unassign response */ + VirtualTerminalDestinationUnassignSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalDestinationUnassignResponse"]; + }; + }; + /** @description Virtual Terminal Split Assign response */ + VirtualTerminalAddSplitCodeSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalAddSplitCodeResponse"]; + }; + }; + /** @description Virtual Terminal Split Remove response */ + VirtualTerminalDeleteSplitCodeSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualTerminalDeleteSplitCodeResponse"]; + }; + }; + /** @description Customer Authorization Initialize response */ + CustomerAuthorizationInitializeSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerAuthorizationInitializeResponse"]; + }; + }; + /** @description Customer Authorization Verify response */ + CustomerAuthorizationVerifySuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerAuthorizationVerifyResponse"]; + }; + }; + /** @description Customer Initialize Direct Debit response */ + CustomerInitializeDirectDebitSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerInitializeDirectDebitResponse"]; + }; + }; + /** @description Customer Direct Debit Activation Charge response */ + CustomerDirectDebitActivationChargeSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerDirectDebitActivationChargeResponse"]; + }; + }; + /** @description Customer Fetch Mandate Authorizations response */ + CustomerFetchMandateAuthorizationsSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerFetchMandateAuthorizationsResponse"]; + }; + }; + /** @description Direct Debit Activation Charge response */ + DirectDebitActivationChargeSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DirectDebitActivationChargeResponse"]; + }; + }; + /** @description Apple Pay registered domains retrieved */ + ApplePayDomainsSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ApplePayDomainsResponse"]; + }; + }; + /** @description Responses from the Transaction Initialize endpoint */ + ApplePayOkResponse: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ApplePayCreateOkModel"]; + }; + }; + /** @description Plan List response */ + PlanListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlanListResponse"]; + }; + }; + /** @description Plan Create response */ + PlanCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlanCreateResponse"]; + }; + }; + /** @description Plan Fetch response */ + PlanFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlanFetchResponse"]; + }; + }; + /** @description Plan Update response */ + PlanUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlanUpdateResponse"]; + }; + }; + /** @description Subscription List response */ + SubscriptionListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubscriptionListResponse"]; + }; + }; + /** @description Subscription Create response */ + SubscriptionCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubscriptionCreateResponse"]; + }; + }; + /** @description Subscription Fetch response */ + SubscriptionFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubscriptionFetchResponse"]; + }; + }; + /** @description Subscription Disable response */ + SubscriptionDisableSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubscriptionDisableResponse"]; + }; + }; + /** @description Payment Request List response */ + PaymentRequestListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestListResponse"]; + }; + }; + /** @description Payment Request Create response */ + PaymentRequestCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestCreateResponse"]; + }; + }; + /** @description Payment Request fetch response */ + PaymentRequestViewSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestViewResponse"]; + }; + }; + /** @description Payment Request Update response */ + PaymentRequestUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestUpdateResponse"]; + }; + }; + /** @description Payment Request Verify response */ + PaymentRequestVerifySuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestVerifyResponse"]; + }; + }; + /** @description Payment Request Send Notification response */ + PaymentRequestSendNotificationSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestSendNotificationResponse"]; + }; + }; + /** @description Payment Request Total response */ + PaymentRequestTotalSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestTotalResponse"]; + }; + }; + /** @description Payment Request Finalize response */ + PaymentRequestFinalizeSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestFinalizeResponse"]; + }; + }; + /** @description Payment Request Archive response */ + PaymentRequestArchiveSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaymentRequestArchiveResponse"]; + }; + }; + /** @description Product Lists response */ + ProductListsSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProductListsResponse"]; + }; + }; + /** @description Product Create response */ + ProductCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProductCreateResponse"]; + }; + }; + /** @description Product Fetch response */ + ProductFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProductFetchResponse"]; + }; + }; + /** @description Product Update response */ + ProductUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProductUpdateResponse"]; + }; + }; + /** @description Product Delete response */ + ProductDeleteSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProductDeleteResponse"]; + }; + }; + /** @description Storefront List response */ + StorefrontListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StorefrontListResponse"]; + }; + }; + /** @description Storefront Create response */ + StorefrontCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StorefrontCreateResponse"]; + }; + }; + /** @description Storefront Fetch response */ + StorefrontFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StorefrontFetchResponse"]; + }; + }; + /** @description Storefront Update response */ + StorefrontUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StorefrontUpdateResponse"]; + }; + }; + /** @description Storefront Delete response */ + StorefrontDeleteSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StorefrontDeleteResponse"]; + }; + }; + /** @description Order List response */ + OrderListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OrderListResponse"]; + }; + }; + /** @description Order Create response */ + OrderCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OrderCreateResponse"]; + }; + }; + /** @description Order Fetch response */ + OrderFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OrderFetchResponse"]; + }; + }; + /** @description Order Fetch Product response */ + OrderFetchProductSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OrderFetchProductResponse"]; + }; + }; + /** @description Order Validate response */ + OrderValidateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["OrderValidateResponse"]; + }; + }; + /** @description Page List response */ + PageListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PageListResponse"]; + }; + }; + /** @description Page Create response */ + PageCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PageCreateResponse"]; + }; + }; + /** @description Page Fetch response */ + PageFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PageFetchResponse"]; + }; + }; + /** @description Page Update response */ + PageUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PageUpdateResponse"]; + }; + }; + /** @description Page Check Slug Availability response */ + PageCheckSlugAvailabilitySuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PageCheckSlugAvailabilityResponse"]; + }; + }; + /** @description Page Add Products response */ + PageAddProductsSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PageAddProductsResponse"]; + }; + }; + /** @description Refund List response */ + RefundListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RefundListResponse"]; + }; + }; + /** @description Refund Create response */ + RefundCreateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RefundCreateResponse"]; + }; + }; + /** @description Refund Create response */ + RefundRetrySuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RefundRetryResponse"]; + }; + }; + /** @description Refund Fetch response */ + RefundFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RefundFetchResponse"]; + }; + }; + /** @description Dispute List response */ + DisputeListSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeListResponse"]; + }; + }; + /** @description Dispute Fetch response */ + DisputeFetchSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeFetchResponse"]; + }; + }; + /** @description Dispute Update response */ + DisputeUpdateSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeUpdateResponse"]; + }; + }; + /** @description Dispute Upload URL response */ + DisputeUploadURLSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeUploadURLResponse"]; + }; + }; + /** @description Dispute Export response */ + DisputeExportSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeExportResponse"]; + }; + }; + /** @description Dispute List Transaction response */ + DisputeListTransactionSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeListTransactionResponse"]; + }; + }; + /** @description Dispute Resolve response */ + DisputeResolveSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeResolveResponse"]; + }; + }; + /** @description Dispute Add Evidence response */ + DisputeAddEvidenceSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisputeAddEvidenceResponse"]; + }; + }; + /** @description Miscellaneous List Banks response */ + MiscellaneousListBanksSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MiscellaneousListBanksResponse"]; + }; + }; + /** @description Verification Resolve Account Number response */ + VerificationResolveAccountNumberSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VerificationResolveAccountNumberResponse"]; + }; + }; + /** @description Verification Validate Account response */ + VerificationValidateAccountSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VerificationValidateAccountResponse"]; + }; + }; + /** @description Verification Resolve Card B I N response */ + VerificationResolveCardBINSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VerificationResolveCardBINResponse"]; + }; + }; + /** @description Miscellaneous List Countries response */ + MiscellaneousListCountriesSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MiscellaneousListCountriesResponse"]; + }; + }; + /** @description Miscellaneous List States response */ + MiscellaneousListStatesSuccess: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MiscellaneousListStatesResponse"]; + }; + }; + }; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + transaction_initialize: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransactionInitialize"]; + "application/x-www-form-urlencoded": components["schemas"]["TransactionInitialize"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionInitializeResponse"]; + }; + }; + 400: components["responses"]["TransactionInitializeBadRequestResponse"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_chargeAuthorization: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransactionChargeAuthorization"]; + "application/x-www-form-urlencoded": components["schemas"]["TransactionChargeAuthorization"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeAuthorizationResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_partialDebit: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransactionPartialDebit"]; + "application/x-www-form-urlencoded": components["schemas"]["TransactionPartialDebit"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionPartialDebitResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_checkAuthorization: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["TransactionCheckAuthorization"]; + "application/json": components["schemas"]["TransactionCheckAuthorization"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_verify: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The transaction reference to verify + * @example re4lyvq3s3 + */ + reference: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VerifyResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_list: { + parameters: { + query?: { + /** + * @description A flag to indicate if cursor based pagination should be used + * @example true + */ + use_cursor?: boolean; + /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the next set of data */ + next?: string; + /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the previous set of data */ + previous?: string; + /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ + perPage?: number; + /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ + page?: number; + /** @description A timestamp from which to start listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + /** @description Filter transaction by status */ + status?: "success" | "failed" | "abandoned" | "reversed"; + /** @description The origin of the payment */ + source?: "merchantApi" | "checkout" | "pos" | "virtualTerminal"; + /** @description The Terminal ID for the transactions you want to retrieve */ + terminalid?: string; + /** @description Filter transactions by a virtual account number */ + virtual_account_number?: string; + /** @description Specify an ID for the customer whose transactions you want to retrieve */ + customer?: number; + /** + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + * Filter transactions by a specific amount. + */ + amount?: number; + /** @description The settlement ID to filter for settled transactions */ + settlement?: number; + /** @description The payment method the customer used to complete the transaction */ + channel?: "card" | "pos" | "bank" | "dedicated_nuban" | "ussd" | "bank_transfer"; + /** @description Filter transaction by subaccount code */ + subaccount_code?: string; + /** @description Filter transaction by split code */ + split_code?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the transaction to fetch + * @example 4099260516 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_event: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the transaction */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_session: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the transaction */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_timeline: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID or the reference of the transaction + * @example 3936799950 + */ + id_or_reference: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionTimelineResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_totals: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** + * @description The start date + * @example 2024-06-01T00:00:01Z + */ + from?: string; + /** + * @description The end date + * @example 2024-06-30T13:36:54Z + */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionTotalsResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transaction_export: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** + * @description The start date + * @example 2024-06-01T00:00:01Z + */ + from?: string; + /** + * @description The end date + * @example 2024-06-30T13:36:54Z + */ + to?: string; + /** + * @description Filter by the status of the transaction + * @example success + */ + status?: "success" | "failed" | "abandoned" | "reversed" | "all"; + /** + * @description Filter by customer ID + * @example 123172416 + */ + customer?: number; + /** @description Specify the transaction currency to export */ + currency?: string; + /** + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + * Filter transactions by amount. + */ + amount?: number; + /** @description Set to true to export only settled transactions. false for pending transactions. Leave undefined to export all transactions */ + settled?: boolean; + /** + * @description Filter by the settlement ID + * @example 5687910 + */ + settlement?: number; + /** @description Specify a payment page's id to export only transactions conducted on said page */ + payment_page?: number; + /** + * @deprecated + * @description Filter by subaccount code + * @example ACCT_dskvlw3y3dMukmt + */ + subaccount_code?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransactionExportResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ChargeCreate"] & { + bank?: components["schemas"]["Bank"]; + } & { + mobile_money?: components["schemas"]["MobileMoney"]; + } & { + ussd?: components["schemas"]["USSD"]; + } & { + eft?: components["schemas"]["EFT"]; + }; + "application/x-www-form-urlencoded": components["schemas"]["ChargeCreate"] & { + bank?: components["schemas"]["Bank"]; + } & { + mobile_money?: components["schemas"]["MobileMoney"]; + } & { + ussd?: components["schemas"]["USSD"]; + } & { + eft?: components["schemas"]["EFT"]; + }; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_submitPin: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ChargeSubmitPin"]; + "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitPin"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeSubmitPinResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_submitOtp: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ChargeSubmitOTP"]; + "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitOTP"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeSubmitOtpResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_submitPhone: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ChargeSubmitPhone"]; + "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitPhone"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeSubmitPhoneResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_submitBirthday: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ChargeSubmitBirthday"]; + "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitBirthday"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeSubmitBirthdayResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_submitAddress: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ChargeSubmitAddress"]; + "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitAddress"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeCheckPendingResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + charge_check: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The reference of the ongoing transaction + * @example 5bwib5v6anhe9xa + */ + reference: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChargeCheckPendingResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + bulkCharge_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The offset to retrieve data from */ + page?: number; + /** @description A timestamp from which to start listing batches e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing batches e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkChargeListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + bulkCharge_initiate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["BulkChargeInitiate"][]; + "application/x-www-form-urlencoded": components["schemas"]["BulkChargeInitiate"][]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkChargeInitiateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + bulkCharge_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An ID or code for the charge whose batches you want to retrieve. + * @example BCH_180tl7oq7cayggh + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkChargeFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + bulkCharge_charges: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The offset to retrieve data from */ + page?: number; + /** @description Either one of these values: pending, success or failed */ + status?: "pending" | "success" | "failed"; + /** @description A timestamp from which to start listing charges e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing charges e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + }; + header?: never; + path: { + /** + * @description An ID or code for the batch whose charges you want to retrieve. + * @example BCH_180tl7oq7cayggh + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkChargeFetchBulkBatchChargesResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + bulkCharge_pause: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The batch code for the bulk charge you want to pause + * @example BCH_180tl7oq7cayggh + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkChargePauseResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + bulkCharge_resume: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The batch code for the bulk charge you want to pause + * @example BCH_180tl7oq7cayggh + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BulkChargeResumeResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subaccount_list: { + parameters: { + query?: { + /** @description Number of records to fetch per request */ + perPage?: number; + /** @description The offset to retrieve data from */ + page?: number; + /** @description A timestamp from which to start listing subaccounts e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing subaccounts e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubaccountListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subaccount_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SubaccountCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["SubaccountCreate"]; + }; + }; + responses: { + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubaccountCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subaccount_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The subaccount ID or code you want to fetch + * @example ACCT_6uujpqtzmnufzkw + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubaccountFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subaccount_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The subaccount ID or code you want to fetch + * @example ACCT_6uujpqtzmnufzkw + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SubaccountUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["SubaccountUpdate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SubaccountUpdateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + split_list: { + parameters: { + query?: { + /** + * @description Filter by subaccount code + * @example ACCT_dskvlw3y3dMukmt + */ + subaccount_code?: string; + /** @description The name of the split */ + name?: string; + /** @description The status of the split */ + active?: boolean; + /** @description Sort by name, defaults to createdAt date */ + sort_by?: string; + /** @description Number of splits per page. If not specified, we use a default value of 50. */ + perPage?: number; + /** @description Page number to view. If not specified, we use a default value of 1. */ + page?: number; + /** @description A timestamp from which to start listing splits e.g. 2019-09-24T00:00:05.000Z, 2019-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing splits e.g. 2019-09-24T00:00:05.000Z, 2019-09-21 */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SplitListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + split_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SplitCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["SplitCreate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SplitCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + split_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the split configuration to fetch + * @example 4896895 + */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SplitFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + split_update: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SplitUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["SplitUpdate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SplitUpdateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + split_addSubaccount: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the split configuration to fetch + * @example 4896895 + */ + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SplitSubaccounts"]; + "application/x-www-form-urlencoded": components["schemas"]["SplitSubaccounts"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SplitAddUpdateSubaccountResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + split_removeSubaccount: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the split configuration to fetch + * @example 4896895 + */ + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SplitSubaccountRemove"]; + "application/x-www-form-urlencoded": components["schemas"]["SplitSubaccountRemove"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SplitRemoveSubaccountResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_sendEvent: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the Terminal the event should be sent to. + * @example Z0R4orOU + */ + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TerminalSendEvent"]; + "application/x-www-form-urlencoded": components["schemas"]["TerminalSendEvent"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_fetchEventStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the Terminal the event should be sent to. + * @example Z0R4orOU + */ + terminal_id: string; + /** + * @description The ID of the event that was sent to the Terminal + * @example 616d721e8c5cd40a0cdd54a6 + */ + event_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_fetchTerminalStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the Terminal the event should be sent to. + * @example Z0R4orOU + */ + terminal_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["TerminalGetStatusSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_list: { + parameters: { + query?: { + /** @description A cursor that indicates your place in the list. It can be used to fetch the next page of the list */ + next?: string; + /** @description A cursor that indicates your place in the list. It should be used to fetch the previous page of the list after an intial next request */ + previous?: string; + /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ + perPage?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["TerminalListsSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the Terminal the event should be sent to. + * @example Z0R4orOU + */ + terminal_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["TerminalGetSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the Terminal the event should be sent to. + * @example Z0R4orOU + */ + terminal_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TerminalUpate"]; + "application/x-www-form-urlencoded": components["schemas"]["TerminalUpate"]; + }; + }; + responses: { + 200: components["responses"]["TerminalUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_commission: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TerminalActivationToggle"]; + "application/x-www-form-urlencoded": components["schemas"]["TerminalActivationToggle"]; + }; + }; + responses: { + 200: components["responses"]["TerminalCommissionDeviceSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + terminal_decommission: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TerminalActivationToggle"]; + "application/x-www-form-urlencoded": components["schemas"]["TerminalActivationToggle"]; + }; + }; + responses: { + 200: components["responses"]["TerminalDecommissionDeviceSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_list: { + parameters: { + query?: { + /** @description Filter by status ('active' or 'inactive') */ + status?: "active" | "inactive"; + /** + * @description Number of records per page + * @example 50 + */ + perPage?: number; + /** @description Search query string */ + search?: string; + /** @description Cursor for next page */ + next?: string; + /** @description Cursor for previous page */ + previous?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["VirtualTerminalListSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["VirtualTerminalCreate"]; + }; + }; + responses: { + 200: components["responses"]["VirtualTerminalCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["VirtualTerminalFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["VirtualTerminalUpdate"]; + }; + }; + responses: { + 200: components["responses"]["VirtualTerminalUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_deactivate: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["VirtualTerminalDeactivateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_destinationAssign: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["VirtualTerminalDestinationAssign"]; + "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalDestinationAssign"]; + }; + }; + responses: { + 200: components["responses"]["VirtualTerminalDestinationAssignSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_destinationUnassign: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["VirtualTerminalDestinationUnassign"]; + "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalDestinationUnassign"]; + }; + }; + responses: { + 200: components["responses"]["VirtualTerminalDestinationUnassignSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_addSplitCode: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["VirtualTerminalAddSplitCode"]; + "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalAddSplitCode"]; + }; + }; + responses: { + 200: components["responses"]["VirtualTerminalAddSplitCodeSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server Error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + virtualTerminal_deleteSplitCode: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Code of the Virtual Terminal + * @example VT_MCK5292Z + */ + code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["VirtualTerminalDeleteSplitCode"]; + "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalDeleteSplitCode"]; + }; + }; + responses: { + 200: components["responses"]["VirtualTerminalDeleteSplitCodeSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server Error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_list: { + parameters: { + query?: { + /** @description A flag to indicate if cursor based pagination should be used */ + use_cursor?: boolean; + /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the next set of data */ + next?: string; + /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the previous set of data */ + previous?: string; + /** @description A timestamp from which to start listing customers e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing customers e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ + perPage?: number; + /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerCreate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An email or customer code for the customer you want to fetch + * @example CUS_c6wqvwmvwopw4ms + */ + email_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An email or customer code for the customer you want to fetch + * @example CUS_c6wqvwmvwopw4ms + */ + email_or_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerUpdate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerUpdateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_riskAction: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerRiskAction"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerRiskAction"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerWhitelistBlacklistResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_validate: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Customer code + * @example CUS_c6wqvwmvwopw4ms + */ + customer_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerValidate"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerValidate"]; + }; + }; + responses: { + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerValidateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_initializeAuthorization: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CustomerAuthorizationInitializeRequest"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerAuthorizationInitializeRequest"]; + }; + }; + responses: { + 200: components["responses"]["CustomerAuthorizationInitializeSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_verifyAuthorization: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The reference returned in the initialization response + * @example dfbzfotsrbv4n5s82t4mp5b5mfn51h + */ + reference: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["CustomerAuthorizationVerifySuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_deactivateAuthorization: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerDeactivateAuthorization"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerDeactivateAuthorization"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CustomerDeactivateAuthorizationResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_initializeDirectDebit: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the customer to initialize the direct debit for + * @example 297346561 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerInitializeDirectDebitRequest"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerInitializeDirectDebitRequest"]; + }; + }; + responses: { + 200: components["responses"]["CustomerInitializeDirectDebitSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_directDebitActivationCharge: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The customer ID attached to the authorization + * @example 297346561 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["CustomerDirectDebitActivationChargeRequest"]; + "application/x-www-form-urlencoded": components["schemas"]["CustomerDirectDebitActivationChargeRequest"]; + }; + }; + responses: { + 200: components["responses"]["CustomerDirectDebitActivationChargeSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + customer_fetchMandateAuthorizations: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The customer ID for the authorizations to fetch + * @example 297346561 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["CustomerFetchMandateAuthorizationsSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + directdebit_triggerActivationCharge: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DirectDebitActivationChargeRequest"]; + }; + }; + responses: { + 200: components["responses"]["DirectDebitActivationChargeSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + directdebit_listMandateAuthorizations: { + parameters: { + query?: { + /** @description The cursor value of the next set of authorizations to fetch. You can get this from the meta object of the response */ + cursor?: string; + /** @description Filter by the authorization status */ + status?: "pending" | "active" | "revoked"; + /** @description The number of authorizations to fetch per request */ + per_page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["CustomerFetchMandateAuthorizationsSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_list: { + parameters: { + query?: { + /** + * @description Status of the dedicated virtual account + * @example true + */ + active?: boolean; + /** + * @description The customer's ID + * @example 297346561 + */ + customer?: number; + /** @description The currency of the dedicated virtual account */ + currency?: "NGN" | "GHS"; + /** + * @description The bank's slug in lowercase, without spaces + * @example titan-paystack + */ + provider_slug?: string; + /** + * @description The bank's ID + * @example 035 + */ + bank_id?: string; + /** @description The number of records to fetch per request */ + perPage?: number; + /** @description The offset to retrieve data from */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DedicatedNubanListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DedicatedVirtualAccountCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountCreate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DedicatedNubanCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_assign: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DedicatedVirtualAccountAssign"]; + "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountAssign"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of dedicated virtual account */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DedicatedNubanFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_deactivate: { + parameters: { + query?: never; + header?: never; + path: { + /** @description ID of dedicated virtual account */ + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DedicatedNubanDeactivateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_requery: { + parameters: { + query?: { + /** + * @description Virtual account number to requery + * @example 0033322211 + */ + account_number?: string; + /** + * @description The bank's slug in lowercase, without spaces. + * @example titan-paystack + */ + provider_slug?: string; + /** @description The day the transfer was made */ + date?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_addSplit: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DedicatedVirtualAccountSplit"]; + "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountSplit"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + dedicatedAccount_removeSplit: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DedicatedVirtualAccountRemoveSplit"]; + "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountRemoveSplit"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransactionExportResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ChargeCreate"] & { - bank?: components["schemas"]["Bank"]; - } & { - mobile_money?: components["schemas"]["MobileMoney"]; - } & { - ussd?: components["schemas"]["USSD"]; - } & { - eft?: components["schemas"]["EFT"]; - }; - "application/x-www-form-urlencoded": components["schemas"]["ChargeCreate"] & { - bank?: components["schemas"]["Bank"]; - } & { - mobile_money?: components["schemas"]["MobileMoney"]; - } & { - ussd?: components["schemas"]["USSD"]; - } & { - eft?: components["schemas"]["EFT"]; - }; - }; + dedicatedAccount_availableProviders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_submitPin: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ChargeSubmitPin"]; - "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitPin"]; - }; + applePay_listDomain: { + parameters: { + query?: { + /** + * @description Flag to enable cursor pagination on the endpoint + * @example true + */ + use_cursor?: boolean; + /** @description A cursor that indicates your place in the list. It can be used to fetch the next page of the list */ + next?: string; + /** @description A cursor that indicates your place in the list. It should be used to fetch the previous page of the list after an intial next request */ + previous?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["ApplePayDomainsSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeSubmitPinResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_submitOtp: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ChargeSubmitOTP"]; - "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitOTP"]; - }; + applePay_registerDomain: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ApplePayParam"]; + "application/x-www-form-urlencoded": components["schemas"]["ApplePayParam"]; + }; + }; + responses: { + 200: components["responses"]["ApplePayOkResponse"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeSubmitOtpResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_submitPhone: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ChargeSubmitPhone"]; - "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitPhone"]; - }; + applePay_unregisterDomain: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ApplePayParam"]; + "application/x-www-form-urlencoded": components["schemas"]["ApplePayParam"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeSubmitPhoneResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_submitBirthday: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ChargeSubmitBirthday"]; - "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitBirthday"]; - }; + capitecPay_requery: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The transaction reference from the previously initiated charge request + * @example 123456789 + */ + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CapitecPayRequeryResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeSubmitBirthdayResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_submitAddress: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ChargeSubmitAddress"]; - "application/x-www-form-urlencoded": components["schemas"]["ChargeSubmitAddress"]; - }; + preauthorization_initialize: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PreAuthorizationInitialize"]; + "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationInitialize"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PreAuthorizationInitializeResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeCheckPendingResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - charge_check: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The reference of the ongoing transaction - * @example 5bwib5v6anhe9xa - */ - reference: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ChargeCheckPendingResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bulkCharge_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The offset to retrieve data from */ - page?: number; - /** @description A timestamp from which to start listing batches e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing batches e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BulkChargeListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bulkCharge_initiate: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["BulkChargeInitiate"][]; - "application/x-www-form-urlencoded": components["schemas"]["BulkChargeInitiate"][]; - }; + preauthorization_capture: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PreAuthorizationCapture"]; + "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationCapture"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PreAuthorizationCaptureResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BulkChargeInitiateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bulkCharge_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An ID or code for the charge whose batches you want to retrieve. - * @example BCH_180tl7oq7cayggh - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BulkChargeFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bulkCharge_charges: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The offset to retrieve data from */ - page?: number; - /** @description Either one of these values: pending, success or failed */ - status?: "pending" | "success" | "failed"; - /** @description A timestamp from which to start listing charges e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing charges e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - }; - header?: never; - path: { - /** - * @description An ID or code for the batch whose charges you want to retrieve. - * @example BCH_180tl7oq7cayggh - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BulkChargeFetchBulkBatchChargesResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bulkCharge_pause: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The batch code for the bulk charge you want to pause - * @example BCH_180tl7oq7cayggh - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BulkChargePauseResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bulkCharge_resume: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The batch code for the bulk charge you want to pause - * @example BCH_180tl7oq7cayggh - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BulkChargeResumeResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subaccount_list: { - parameters: { - query?: { - /** @description Number of records to fetch per request */ - perPage?: number; - /** @description The offset to retrieve data from */ - page?: number; - /** @description A timestamp from which to start listing subaccounts e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing subaccounts e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubaccountListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subaccount_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SubaccountCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["SubaccountCreate"]; - }; + preauthorization_reserve_authorization: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PreAuthorizationReserve"]; + "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationReserve"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PreAuthorizationReserveWithAuthCodeResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubaccountCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subaccount_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The subaccount ID or code you want to fetch - * @example ACCT_6uujpqtzmnufzkw - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubaccountFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subaccount_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The subaccount ID or code you want to fetch - * @example ACCT_6uujpqtzmnufzkw - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SubaccountUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["SubaccountUpdate"]; - }; + preauthorization_verify: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The transaction reference used to intiate the transaction */ + reference: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PreAuthorizationVerifyResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SubaccountUpdateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - split_list: { - parameters: { - query?: { - /** - * @description Filter by subaccount code - * @example ACCT_dskvlw3y3dMukmt - */ - subaccount_code?: string; - /** @description The name of the split */ - name?: string; - /** @description The status of the split */ - active?: boolean; - /** @description Sort by name, defaults to createdAt date */ - sort_by?: string; - /** @description Number of splits per page. If not specified, we use a default value of 50. */ - perPage?: number; - /** @description Page number to view. If not specified, we use a default value of 1. */ - page?: number; - /** @description A timestamp from which to start listing splits e.g. 2019-09-24T00:00:05.000Z, 2019-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing splits e.g. 2019-09-24T00:00:05.000Z, 2019-09-21 */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SplitListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - split_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SplitCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["SplitCreate"]; - }; + preauthorization_release: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PreAuthorizationRelease"]; + "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationRelease"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PreAuthorizationReleaseResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SplitCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - split_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the split configuration to fetch - * @example 4896895 - */ - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SplitFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - split_update: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SplitUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["SplitUpdate"]; - }; + preauthorization_list: { + parameters: { + query?: { + /** @description Specify how many records you want to retrieve per page. If not specify we use a default value of 50. */ + perPage?: number; + /** @description Specify exactly what page you want to retrieve. If not specify we use a default value of 1. */ + page?: number; + /** @description A timestamp from which to start listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + /** @description Filter transactions by status. */ + status?: "authorized" | "captured" | "released" | "ongoing" | "failed" | "abandoned"; + /** @description Filter transactions by amount using the supported currency code */ + amount?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PreAuthorizationListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SplitUpdateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - split_addSubaccount: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the split configuration to fetch - * @example 4896895 - */ - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SplitSubaccounts"]; - "application/x-www-form-urlencoded": components["schemas"]["SplitSubaccounts"]; - }; + plan_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @description Filter list by plans with specified status */ + status?: string; + /** @description Specify interval of the plan */ + interval?: "daily" | "weekly" | "monthly" | "quarterly" | "biannually" | "annually"; + /** + * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). + * Filter plans by a specific amount. + */ + amount?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PlanListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + plan_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PlanCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["PlanCreate"]; + }; + }; + responses: { + 200: components["responses"]["PlanCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + plan_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The plan ID or code you want to fetch + * @example PLN_gx2wn530m0i3w3m + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PlanFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + plan_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The plan ID or code you want to fetch + * @example PLN_gx2wn530m0i3w3m + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PlanUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["PlanUpdate"]; + }; + }; + responses: { + 200: components["responses"]["PlanUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** + * @description Plan ID + * @example 2697466 + */ + plan?: number; + /** @description Filter by Customer ID */ + customer?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["SubscriptionListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SubscriptionCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["SubscriptionCreate"]; + }; + }; + responses: { + 200: components["responses"]["SubscriptionCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The subscription ID or code you want to fetch + * @example SUB_5co81xgmwg78x3d + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["SubscriptionFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_disable: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SubscriptionToggle"]; + "application/x-www-form-urlencoded": components["schemas"]["SubscriptionToggle"]; + }; + }; + responses: { + 200: components["responses"]["SubscriptionDisableSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_enable: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SubscriptionToggle"]; + "application/x-www-form-urlencoded": components["schemas"]["SubscriptionToggle"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_manageLink: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Subscription code + * @example qlgwhpyq1ts9nsw + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + subscription_manageEmail: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Subscription code + * @example qlgwhpyq1ts9nsw + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transferrecipient_list: { + parameters: { + query?: { + /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ + perPage?: number; + /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ + page?: number; + /** @description A timestamp from which to start listing transfer recipients e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing transfer recipients e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferRecipientListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transferrecipient_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferRecipientCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferRecipientCreate"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferRecipientCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transferrecipient_bulk: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferRecipientBulk"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferRecipientBulk"]; + }; + }; + responses: { + /** @description Sucessful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferRecipientBulkCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transferrecipient_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An ID or code for the recipient whose details you want to receive. + * @example RCP_5ap8rcimmcj8lbi + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferRecipientFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transferrecipient_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An ID or code for the recipient whose details you want to receive. + * @example RCP_5ap8rcimmcj8lbi + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferRecipientUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferRecipientUpdate"]; + }; + }; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferRecipientUpdateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transferrecipient_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description An ID or code for the recipient whose details you want to receive. + * @example RCP_5ap8rcimmcj8lbi + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferRecipientDeleteResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transfer_list: { + parameters: { + query?: { + /** @description Specify how many records you want to retrieve per page. If not specify we use a default value of 50. */ + perPage?: number; + /** @description Specify exactly what transfer you want to page. If not specify we use a default value of 1. */ + page?: number; + /** @description A timestamp from which to start listing transfer e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + from?: string; + /** @description A timestamp at which to stop listing transfer e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ + to?: string; + /** @description Filter by the recipient ID */ + recipient?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transfer_initiate: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferInitiate"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferInitiate"]; + }; + }; + responses: { + /** @description Successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferCreateResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transfer_finalize: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferFinalize"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferFinalize"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + transfer_bulk: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferBulk"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferBulk"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferBulkResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SplitAddUpdateSubaccountResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - split_removeSubaccount: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the split configuration to fetch - * @example 4896895 - */ - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SplitSubaccountRemove"]; - "application/x-www-form-urlencoded": components["schemas"]["SplitSubaccountRemove"]; - }; + transfer_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The transfer ID or code you want to fetch + * @example TRF_1ptvuv321ahaa7q + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Succesful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferFetchResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SplitRemoveSubaccountResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_sendEvent: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the Terminal the event should be sent to. - * @example Z0R4orOU - */ - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TerminalSendEvent"]; - "application/x-www-form-urlencoded": components["schemas"]["TerminalSendEvent"]; - }; + transfer_verify: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Transfer reference + * @example acv_9ee55786-2323-4760-98e2-6380c9cb3f67 + */ + reference: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferVerifyResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; + transfer_exportTransfer: { + parameters: { + query?: { + /** @description Export transfer by the recipient code */ + recipient?: string; + /** + * @description Export transfer by status + * @example success + */ + status?: "pending" | "success" | "failed" | "otp" | "abandoned" | "reversed" | "blocked" | "rejected" | "received"; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content?: never; - }; }; - }; - terminal_fetchEventStatus: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the Terminal the event should be sent to. - * @example Z0R4orOU - */ - terminal_id: string; - /** - * @description The ID of the event that was sent to the Terminal - * @example 616d721e8c5cd40a0cdd54a6 - */ - event_id: string; - }; - cookie?: never; + transfer_resendOtp: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferResendOTP"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferResendOTP"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferResendsOtpResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_fetchTerminalStatus: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the Terminal the event should be sent to. - * @example Z0R4orOU - */ - terminal_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["TerminalGetStatusSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_list: { - parameters: { - query?: { - /** @description A cursor that indicates your place in the list. It can be used to fetch the next page of the list */ - next?: string; - /** @description A cursor that indicates your place in the list. It should be used to fetch the previous page of the list after an intial next request */ - previous?: string; - /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ - perPage?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["TerminalListsSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the Terminal the event should be sent to. - * @example Z0R4orOU - */ - terminal_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["TerminalGetSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the Terminal the event should be sent to. - * @example Z0R4orOU - */ - terminal_id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TerminalUpate"]; - "application/x-www-form-urlencoded": components["schemas"]["TerminalUpate"]; - }; + transfer_disableOtp: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferDisablesOtpResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["TerminalUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_commission: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TerminalActivationToggle"]; - "application/x-www-form-urlencoded": components["schemas"]["TerminalActivationToggle"]; - }; + transfer_disableOtpFinalize: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["TransferFinalizeDisableOTP"]; + "application/x-www-form-urlencoded": components["schemas"]["TransferFinalizeDisableOTP"]; + }; + }; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferFinalizeDisablesOtpResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["TerminalCommissionDeviceSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - terminal_decommission: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TerminalActivationToggle"]; - "application/x-www-form-urlencoded": components["schemas"]["TerminalActivationToggle"]; - }; + transfer_enableOtp: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TransferEnablesOtpResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["TerminalDecommissionDeviceSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_list: { - parameters: { - query?: { - /** @description Filter by status ('active' or 'inactive') */ - status?: "active" | "inactive"; - /** - * @description Number of records per page - * @example 50 - */ - perPage?: number; - /** @description Search query string */ - search?: string; - /** @description Cursor for next page */ - next?: string; - /** @description Cursor for previous page */ - previous?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["VirtualTerminalListSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["VirtualTerminalCreate"]; - }; + balance_fetch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BalanceCheckResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VirtualTerminalCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["VirtualTerminalFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["VirtualTerminalUpdate"]; - }; + balance_ledger: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BalanceFetchLedgerResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VirtualTerminalUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_deactivate: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["VirtualTerminalDeactivateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_destinationAssign: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["VirtualTerminalDestinationAssign"]; - "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalDestinationAssign"]; - }; + paymentRequest_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @description Customer ID */ + customer?: string; + /** + * @description Invoice status to filter + * @example success + */ + status?: "draft" | "pending" | "success" | "failed"; + /** @description If your integration supports more than one currency, choose the one to filter */ + currency?: string; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VirtualTerminalDestinationAssignSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_destinationUnassign: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["VirtualTerminalDestinationUnassign"]; - "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalDestinationUnassign"]; - }; + paymentRequest_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PaymentRequestCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["PaymentRequestCreate"]; + }; + }; + responses: { + 200: components["responses"]["PaymentRequestCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VirtualTerminalDestinationUnassignSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_addSplitCode: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["VirtualTerminalAddSplitCode"]; - "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalAddSplitCode"]; - }; + paymentRequest_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The payment request ID or code you want to fetch + * @example 18823736 + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestViewSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VirtualTerminalAddSplitCodeSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server Error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - virtualTerminal_deleteSplitCode: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Code of the Virtual Terminal - * @example VT_MCK5292Z - */ - code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["VirtualTerminalDeleteSplitCode"]; - "application/x-www-form-urlencoded": components["schemas"]["VirtualTerminalDeleteSplitCode"]; - }; + paymentRequest_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The payment request ID or code you want to fetch + * @example 18823736 + */ + id_or_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PaymentRequestUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["PaymentRequestUpdate"]; + }; + }; + responses: { + 200: components["responses"]["PaymentRequestUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VirtualTerminalDeleteSplitCodeSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server Error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_list: { - parameters: { - query?: { - /** @description A flag to indicate if cursor based pagination should be used */ - use_cursor?: boolean; - /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the next set of data */ - next?: string; - /** @description An alphanumeric value returned for every cursor based retrieval, used to retrieve the previous set of data */ - previous?: string; - /** @description A timestamp from which to start listing customers e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing customers e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ - perPage?: number; - /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ - page?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerCreate"]; - }; + paymentRequest_verify: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a previously created payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestVerifySuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An email or customer code for the customer you want to fetch - * @example CUS_c6wqvwmvwopw4ms - */ - email_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An email or customer code for the customer you want to fetch - * @example CUS_c6wqvwmvwopw4ms - */ - email_or_code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerUpdate"]; - }; + paymentRequest_notify: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a previously created payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestSendNotificationSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerUpdateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_riskAction: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerRiskAction"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerRiskAction"]; - }; + paymentRequest_totals: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestTotalSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerWhitelistBlacklistResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_validate: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Customer code - * @example CUS_c6wqvwmvwopw4ms - */ - customer_code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerValidate"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerValidate"]; - }; + paymentRequest_finalize: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a draft payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestFinalizeSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerValidateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_initializeAuthorization: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CustomerAuthorizationInitializeRequest"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerAuthorizationInitializeRequest"]; - }; + paymentRequest_archive: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of a previously created payment request + * @example 18823736 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PaymentRequestArchiveSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["CustomerAuthorizationInitializeSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_verifyAuthorization: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The reference returned in the initialization response - * @example dfbzfotsrbv4n5s82t4mp5b5mfn51h - */ - reference: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["CustomerAuthorizationVerifySuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_deactivateAuthorization: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerDeactivateAuthorization"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerDeactivateAuthorization"]; - }; + product_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** + * @description The state of the product + * @example true + */ + active?: boolean; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["ProductListsSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CustomerDeactivateAuthorizationResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_initializeDirectDebit: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The ID of the customer to initialize the direct debit for - * @example 297346561 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerInitializeDirectDebitRequest"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerInitializeDirectDebitRequest"]; - }; + product_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ProductCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["ProductCreate"]; + }; + }; + responses: { + 201: components["responses"]["ProductCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["CustomerInitializeDirectDebitSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_directDebitActivationCharge: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The customer ID attached to the authorization - * @example 297346561 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["CustomerDirectDebitActivationChargeRequest"]; - "application/x-www-form-urlencoded": components["schemas"]["CustomerDirectDebitActivationChargeRequest"]; - }; + product_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the product + * @example 2196244 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["ProductFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["CustomerDirectDebitActivationChargeSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - customer_fetchMandateAuthorizations: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The customer ID for the authorizations to fetch - * @example 297346561 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["CustomerFetchMandateAuthorizationsSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - directdebit_triggerActivationCharge: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["DirectDebitActivationChargeRequest"]; - }; + product_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the product + * @example 2196244 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ProductUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["ProductUpdate"]; + }; + }; + responses: { + 200: components["responses"]["ProductUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["DirectDebitActivationChargeSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - directdebit_listMandateAuthorizations: { - parameters: { - query?: { - /** @description The cursor value of the next set of authorizations to fetch. You can get this from the meta object of the response */ - cursor?: string; - /** @description Filter by the authorization status */ - status?: "pending" | "active" | "revoked"; - /** @description The number of authorizations to fetch per request */ - per_page?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["CustomerFetchMandateAuthorizationsSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; + product_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the product + * @example 2196244 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["ProductDeleteSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content?: never; - }; }; - }; - dedicatedAccount_list: { - parameters: { - query?: { - /** - * @description Status of the dedicated virtual account - * @example true - */ - active?: boolean; - /** - * @description The customer's ID - * @example 297346561 - */ - customer?: number; - /** @description The currency of the dedicated virtual account */ - currency?: "NGN" | "GHS"; - /** - * @description The bank's slug in lowercase, without spaces - * @example titan-paystack - */ - provider_slug?: string; - /** - * @description The bank's ID - * @example 035 - */ - bank_id?: string; - /** @description The number of records to fetch per request */ - perPage?: number; - /** @description The offset to retrieve data from */ - page?: number; - }; - header?: never; - path?: never; - cookie?: never; + storefront_list: { + parameters: { + query?: { + /** @description Number of records to fetch per request */ + perPage?: number; + /** @description The offset to retrieve data from */ + page?: number; + /** @example active */ + status?: "active" | "inactive"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["StorefrontListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DedicatedNubanListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DedicatedVirtualAccountCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountCreate"]; - }; + storefront_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["StorefrontCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["StorefrontCreate"]; + }; + }; + responses: { + 200: components["responses"]["StorefrontCreateSuccess"]; + 400: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DedicatedNubanCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_assign: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DedicatedVirtualAccountAssign"]; - "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountAssign"]; - }; + storefront_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["StorefrontFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** @description ID of dedicated virtual account */ - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DedicatedNubanFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_deactivate: { - parameters: { - query?: never; - header?: never; - path: { - /** @description ID of dedicated virtual account */ - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["DedicatedNubanDeactivateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_requery: { - parameters: { - query?: { - /** - * @description Virtual account number to requery - * @example 0033322211 - */ - account_number?: string; - /** - * @description The bank's slug in lowercase, without spaces. - * @example titan-paystack - */ - provider_slug?: string; - /** @description The day the transfer was made */ - date?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_addSplit: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DedicatedVirtualAccountSplit"]; - "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountSplit"]; - }; + storefront_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["StorefrontUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["StorefrontUpdate"]; + }; + }; + responses: { + 200: components["responses"]["StorefrontUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_removeSplit: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DedicatedVirtualAccountRemoveSplit"]; - "application/x-www-form-urlencoded": components["schemas"]["DedicatedVirtualAccountRemoveSplit"]; - }; + storefront_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["StorefrontDeleteSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dedicatedAccount_availableProviders: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - applePay_listDomain: { - parameters: { - query?: { - /** - * @description Flag to enable cursor pagination on the endpoint - * @example true - */ - use_cursor?: boolean; - /** @description A cursor that indicates your place in the list. It can be used to fetch the next page of the list */ - next?: string; - /** @description A cursor that indicates your place in the list. It should be used to fetch the previous page of the list after an intial next request */ - previous?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["ApplePayDomainsSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - applePay_registerDomain: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ApplePayParam"]; - "application/x-www-form-urlencoded": components["schemas"]["ApplePayParam"]; - }; + storefront_verifySlug: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The custom slug to check + * @example struct_and_faces + */ + slug: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["ApplePayOkResponse"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - applePay_unregisterDomain: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ApplePayParam"]; - "application/x-www-form-urlencoded": components["schemas"]["ApplePayParam"]; - }; + storefront_fetchOrders: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - capitecPay_requery: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The transaction reference from the previously initiated charge request - * @example 123456789 - */ - ref: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["CapitecPayRequeryResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - preauthorization_initialize: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PreAuthorizationInitialize"]; - "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationInitialize"]; - }; + storefront_listProducts: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PreAuthorizationInitializeResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - preauthorization_capture: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PreAuthorizationCapture"]; - "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationCapture"]; - }; + storefront_addProducts: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["StorefrontAddProducts"]; + "application/x-www-form-urlencoded": components["schemas"]["StorefrontAddProducts"]; + }; + }; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PreAuthorizationCaptureResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - preauthorization_reserve_authorization: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PreAuthorizationReserve"]; - "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationReserve"]; - }; + storefront_publish: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PreAuthorizationReserveWithAuthCodeResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - preauthorization_verify: { - parameters: { - query?: never; - header?: never; - path: { - /** @description The transaction reference used to intiate the transaction */ - reference: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PreAuthorizationVerifyResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - preauthorization_release: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PreAuthorizationRelease"]; - "application/x-www-form-urlencoded": components["schemas"]["PreAuthorizationRelease"]; - }; + storefront_duplicate: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the Storefront + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Ok"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PreAuthorizationReleaseResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - preauthorization_list: { - parameters: { - query?: { - /** @description Specify how many records you want to retrieve per page. If not specify we use a default value of 50. */ - perPage?: number; - /** @description Specify exactly what page you want to retrieve. If not specify we use a default value of 1. */ - page?: number; - /** @description A timestamp from which to start listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing transaction e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - /** @description Filter transactions by status. */ - status?: "authorized" | "captured" | "released" | "ongoing" | "failed" | "abandoned"; - /** @description Filter transactions by amount using the supported currency code */ - amount?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PreAuthorizationListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - plan_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @description Filter list by plans with specified status */ - status?: string; - /** @description Specify interval of the plan */ - interval?: "daily" | "weekly" | "monthly" | "quarterly" | "biannually" | "annually"; - /** - * @description Amount should be in the subunit of the supported currency (e.g. kobo for NGN, pesewas for GHS, cents for ZAR/USD/KES). For XOF, the amount is the same as the base units (not multiplied by 100). - * Filter plans by a specific amount. - */ - amount?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PlanListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - plan_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PlanCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["PlanCreate"]; - }; + order_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["OrderListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PlanCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - plan_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The plan ID or code you want to fetch - * @example PLN_gx2wn530m0i3w3m - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PlanFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - plan_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The plan ID or code you want to fetch - * @example PLN_gx2wn530m0i3w3m - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PlanUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["PlanUpdate"]; - }; + order_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["OrderCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["OrderCreate"]; + }; + }; + responses: { + 200: components["responses"]["OrderCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PlanUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** - * @description Plan ID - * @example 2697466 - */ - plan?: number; - /** @description Filter by Customer ID */ - customer?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["SubscriptionListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SubscriptionCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["SubscriptionCreate"]; - }; + order_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the order + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["OrderFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["SubscriptionCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The subscription ID or code you want to fetch - * @example SUB_5co81xgmwg78x3d - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["SubscriptionFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_disable: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SubscriptionToggle"]; - "application/x-www-form-urlencoded": components["schemas"]["SubscriptionToggle"]; - }; + order_product: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the order + * @example 1559046 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["OrderFetchProductSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["SubscriptionDisableSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_enable: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["SubscriptionToggle"]; - "application/x-www-form-urlencoded": components["schemas"]["SubscriptionToggle"]; - }; + order_validate: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique code of a previously created order + * @example ORD_6z0lqwpmxrm7dsp + */ + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["OrderValidateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_manageLink: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Subscription code - * @example qlgwhpyq1ts9nsw - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - subscription_manageEmail: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Subscription code - * @example qlgwhpyq1ts9nsw - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transferrecipient_list: { - parameters: { - query?: { - /** @description Specify how many records you want to retrieve per page. If not specified, we use a default value of 50. */ - perPage?: number; - /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ - page?: number; - /** @description A timestamp from which to start listing transfer recipients e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing transfer recipients e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferRecipientListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transferrecipient_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferRecipientCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferRecipientCreate"]; - }; + page_list: { + parameters: { + query?: { + /** + * @description Number of records to fetch per page + * @example 10 + */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PageListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferRecipientCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transferrecipient_bulk: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferRecipientBulk"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferRecipientBulk"]; - }; + page_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PageCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["PageCreate"]; + }; + }; + responses: { + 200: components["responses"]["PageCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Sucessful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferRecipientBulkCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transferrecipient_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An ID or code for the recipient whose details you want to receive. - * @example RCP_5ap8rcimmcj8lbi - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferRecipientFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transferrecipient_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An ID or code for the recipient whose details you want to receive. - * @example RCP_5ap8rcimmcj8lbi - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferRecipientUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferRecipientUpdate"]; - }; + page_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The page ID or slug you want to fetch + * @example 1891222 + */ + id_or_slug: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PageFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferRecipientUpdateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transferrecipient_delete: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description An ID or code for the recipient whose details you want to receive. - * @example RCP_5ap8rcimmcj8lbi - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferRecipientDeleteResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_list: { - parameters: { - query?: { - /** @description Specify how many records you want to retrieve per page. If not specify we use a default value of 50. */ - perPage?: number; - /** @description Specify exactly what transfer you want to page. If not specify we use a default value of 1. */ - page?: number; - /** @description A timestamp from which to start listing transfer e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - from?: string; - /** @description A timestamp at which to stop listing transfer e.g. 2016-09-24T00:00:05.000Z, 2016-09-21 */ - to?: string; - /** @description Filter by the recipient ID */ - recipient?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_initiate: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferInitiate"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferInitiate"]; - }; + page_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The page ID or slug you want to fetch + * @example 1891222 + */ + id_or_slug: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PageUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["PageUpdate"]; + }; + }; + responses: { + 200: components["responses"]["PageUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Successful operation */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferCreateResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_finalize: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferFinalize"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferFinalize"]; - }; + page_checkSlugAvailability: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The custom slug to check + * @example risky-burger + */ + slug: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PageCheckSlugAvailabilitySuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_bulk: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferBulk"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferBulk"]; - }; + page_addProducts: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PageProduct"]; + "application/x-www-form-urlencoded": components["schemas"]["PageProduct"]; + }; + }; + responses: { + 200: components["responses"]["PageAddProductsSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferBulkResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The transfer ID or code you want to fetch - * @example TRF_1ptvuv321ahaa7q - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Succesful operation */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferFetchResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_verify: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description Transfer reference - * @example acv_9ee55786-2323-4760-98e2-6380c9cb3f67 - */ - reference: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferVerifyResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_exportTransfer: { - parameters: { - query?: { - /** @description Export transfer by the recipient code */ - recipient?: string; - /** - * @description Export transfer by status - * @example success - */ - status?: - | "pending" - | "success" - | "failed" - | "otp" - | "abandoned" - | "reversed" - | "blocked" - | "rejected" - | "received"; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_resendOtp: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferResendOTP"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferResendOTP"]; - }; + settlements_fetch: { + parameters: { + query?: { + /** + * @description Number of records to fetch per page + * @example 50 + */ + perPage?: number; + /** + * @description The section to retrieve + * @example 2 + */ + page?: number; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + /** @description Filter by status */ + status?: "success" | "failed" | "processing" | "pending"; + /** @description Filter by subaccount ID. Set to `none` to return only main account settlements. */ + subaccount?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SettlementListResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferResendsOtpResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_disableOtp: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferDisablesOtpResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_disableOtpFinalize: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["TransferFinalizeDisableOTP"]; - "application/x-www-form-urlencoded": components["schemas"]["TransferFinalizeDisableOTP"]; - }; + settlements_transaction: { + parameters: { + query?: { + /** + * @description Number of records to fetch per page + * @example 50 + */ + perPage?: number; + /** + * @description The section to retrieve + * @example 2 + */ + page?: number; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path: { + /** + * @description The settlement ID in which you want to fetch its transactions + * @example 8610870 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SettlementTransactionsResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferFinalizeDisablesOtpResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - transfer_enableOtp: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["TransferEnablesOtpResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - balance_fetch: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BalanceCheckResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - balance_ledger: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["BalanceFetchLedgerResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @description Customer ID */ - customer?: string; - /** - * @description Invoice status to filter - * @example success - */ - status?: "draft" | "pending" | "success" | "failed"; - /** @description If your integration supports more than one currency, choose the one to filter */ - currency?: string; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PaymentRequestCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["PaymentRequestCreate"]; - }; + integration_fetchPaymentSessionTimeout: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ControlPanelFetchPaymentSessionTimeoutResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PaymentRequestCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The payment request ID or code you want to fetch - * @example 18823736 - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestViewSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The payment request ID or code you want to fetch - * @example 18823736 - */ - id_or_code: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PaymentRequestUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["PaymentRequestUpdate"]; - }; + integration_updatePaymentSessionTimeout: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["PaymentSession"]; + }; + }; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ControlPanelUpdatePaymentSessionTimeoutResponse"]; + }; + }; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PaymentRequestUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_verify: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a previously created payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestVerifySuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_notify: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a previously created payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestSendNotificationSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_totals: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestTotalSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_finalize: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a draft payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestFinalizeSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - paymentRequest_archive: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of a previously created payment request - * @example 18823736 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PaymentRequestArchiveSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - product_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** - * @description The state of the product - * @example true - */ - active?: boolean; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["ProductListsSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - product_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ProductCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["ProductCreate"]; - }; + refund_list: { + parameters: { + query?: { + /** @description The transaction ID of the refunded transaction */ + transaction?: string; + /** @description Any of the supported currency */ + currency?: string; + /** + * @description Number of records to fetch per page + * @example 10 + */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["RefundListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 201: components["responses"]["ProductCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - product_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the product - * @example 2196244 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["ProductFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - product_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the product - * @example 2196244 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["ProductUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["ProductUpdate"]; - }; + refund_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RefundCreate"]; + "application/x-www-form-urlencoded": components["schemas"]["RefundCreate"]; + }; + }; + responses: { + 200: components["responses"]["RefundCreateSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["ProductUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - product_delete: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the product - * @example 2196244 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["ProductDeleteSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_list: { - parameters: { - query?: { - /** @description Number of records to fetch per request */ - perPage?: number; - /** @description The offset to retrieve data from */ - page?: number; - /** @example active */ - status?: "active" | "inactive"; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["StorefrontListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["StorefrontCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["StorefrontCreate"]; - }; + refund_retry: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The identifier of the refund + * @example 15581137 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["RefundRetry"]; + "application/x-www-form-urlencoded": components["schemas"]["RefundRetry"]; + }; + }; + responses: { + 200: components["responses"]["RefundRetrySuccess"]; + 422: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["StorefrontCreateSuccess"]; - 400: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["StorefrontFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["StorefrontUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["StorefrontUpdate"]; - }; + refund_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The identifier of the refund + * @example 15581137 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["RefundFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["StorefrontUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_delete: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["StorefrontDeleteSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_verifySlug: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The custom slug to check - * @example struct_and_faces - */ - slug: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_fetchOrders: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_listProducts: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_addProducts: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["StorefrontAddProducts"]; - "application/x-www-form-urlencoded": components["schemas"]["StorefrontAddProducts"]; - }; + dispute_list: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** + * @description Dispute status + * @example awaiting-merchant-feedback + */ + status?: "awaiting-merchant-feedback" | "awaiting-bank-feedback" | "pending" | "resolved"; + /** @description Transaction ID */ + transaction?: string; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["DisputeListSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_publish: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - storefront_duplicate: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the Storefront - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["Ok"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - order_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["OrderListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - order_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["OrderCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["OrderCreate"]; - }; + dispute_fetch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the dispute + * @example 1801929 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["DisputeFetchSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["OrderCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - order_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the order - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["OrderFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - order_product: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the order - * @example 1559046 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["OrderFetchProductSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - order_validate: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique code of a previously created order - * @example ORD_6z0lqwpmxrm7dsp - */ - code: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["OrderValidateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - page_list: { - parameters: { - query?: { - /** - * @description Number of records to fetch per page - * @example 10 - */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PageListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - page_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PageCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["PageCreate"]; - }; + dispute_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the dispute + * @example 1801929 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DisputeUpdate"]; + "application/x-www-form-urlencoded": components["schemas"]["DisputeUpdate"]; + }; + }; + responses: { + 200: components["responses"]["DisputeUpdateSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PageCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - page_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The page ID or slug you want to fetch - * @example 1891222 - */ - id_or_slug: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PageFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - page_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The page ID or slug you want to fetch - * @example 1891222 - */ - id_or_slug: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PageUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["PageUpdate"]; - }; + dispute_uploadUrl: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the dispute + * @example 4734583785 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["DisputeUploadURLSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PageUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - page_checkSlugAvailability: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The custom slug to check - * @example risky-burger - */ - slug: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["PageCheckSlugAvailabilitySuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - page_addProducts: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PageProduct"]; - "application/x-www-form-urlencoded": components["schemas"]["PageProduct"]; - }; + dispute_download: { + parameters: { + query?: { + /** @description Number of records to fetch per page */ + perPage?: number; + /** @description The section to retrieve */ + page?: number; + /** @example awaiting-merchant-feedback */ + status?: "awaiting-merchant-feedback" | "awaiting-bank-feedback" | "pending" | "resolved"; + /** @description The start date */ + from?: string; + /** @description The end date */ + to?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["DisputeExportSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["PageAddProductsSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - settlements_fetch: { - parameters: { - query?: { - /** - * @description Number of records to fetch per page - * @example 50 - */ - perPage?: number; - /** - * @description The section to retrieve - * @example 2 - */ - page?: number; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - /** @description Filter by status */ - status?: "success" | "failed" | "processing" | "pending"; - /** @description Filter by subaccount ID. Set to `none` to return only main account settlements. */ - subaccount?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SettlementListResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - settlements_transaction: { - parameters: { - query?: { - /** - * @description Number of records to fetch per page - * @example 50 - */ - perPage?: number; - /** - * @description The section to retrieve - * @example 2 - */ - page?: number; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path: { - /** - * @description The settlement ID in which you want to fetch its transactions - * @example 8610870 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["SettlementTransactionsResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - integration_fetchPaymentSessionTimeout: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ControlPanelFetchPaymentSessionTimeoutResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - integration_updatePaymentSessionTimeout: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["PaymentSession"]; - }; + dispute_transaction: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the transaction + * @example 4734583785 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["DisputeListTransactionSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ControlPanelUpdatePaymentSessionTimeoutResponse"]; - }; - }; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - refund_list: { - parameters: { - query?: { - /** @description The transaction ID of the refunded transaction */ - transaction?: string; - /** @description Any of the supported currency */ - currency?: string; - /** - * @description Number of records to fetch per page - * @example 10 - */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["RefundListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - refund_create: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["RefundCreate"]; - "application/x-www-form-urlencoded": components["schemas"]["RefundCreate"]; - }; + dispute_resolve: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the dispute + * @example 4734583785 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DisputeResolve"]; + "application/x-www-form-urlencoded": components["schemas"]["DisputeResolve"]; + }; + }; + responses: { + 200: components["responses"]["DisputeResolveSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["RefundCreateSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - refund_retry: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The identifier of the refund - * @example 15581137 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["RefundRetry"]; - "application/x-www-form-urlencoded": components["schemas"]["RefundRetry"]; - }; + dispute_evidence: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The unique identifier of the dispute + * @example 4734583785 + */ + id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["DisputeEvidence"]; + "application/x-www-form-urlencoded": components["schemas"]["DisputeEvidence"]; + }; + }; + responses: { + 200: components["responses"]["DisputeAddEvidenceSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["RefundRetrySuccess"]; - 422: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - refund_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The identifier of the refund - * @example 15581137 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["RefundFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_list: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** - * @description Dispute status - * @example awaiting-merchant-feedback - */ - status?: "awaiting-merchant-feedback" | "awaiting-bank-feedback" | "pending" | "resolved"; - /** @description Transaction ID */ - transaction?: string; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["DisputeListSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_fetch: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the dispute - * @example 1801929 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["DisputeFetchSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_update: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the dispute - * @example 1801929 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DisputeUpdate"]; - "application/x-www-form-urlencoded": components["schemas"]["DisputeUpdate"]; - }; + bank_list: { + parameters: { + query?: { + /** + * @description The country from which to obtain the list of supported banks. Accepted values are: ghana, kenya, nigeria, south africa + * @example nigeria + */ + country?: "ghana" | "kenya" | "nigeria" | "south africa"; + /** + * @description One of the supported currency + * @example NGN + */ + currency?: "GHS" | "KES" | "NGN" | "ZAR"; + /** @description A flag to indicate if cursor based pagination should be used */ + use_cursor?: boolean; + /** @description The number of objects to return per page. Defaults to 50, and limited to 100 records per page. */ + perPage?: number; + /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ + page?: number; + /** + * @description An alphanumeric value returned for every cursor based retrieval, used to + * retrieve the next set of data + */ + next?: string; + /** + * @description An alphanumeric value returned for every cursor based retrieval, used to + * retrieve the previous set of data + */ + previous?: string; + /** @description A flag to filter for available banks a customer can make a transfer to complete a payment */ + pay_with_bank_transfer?: boolean; + /** @description A flag to filter for banks a customer can pay directly from */ + pay_with_bank?: boolean; + /** + * @description A flag to filter the banks that are supported for account verification in South Africa. + * You need to combine this with either the `currency` or `country` filter. + */ + enabled_for_verification?: boolean; + /** @description The gateway type of the bank */ + gateway?: "emandate" | "digitalbankmandate"; + /** @description Type of financial channel. For Ghanaian channels, please use either mobile_money for mobile money channels OR ghipss for bank channels */ + type?: "ghipss" | "mobile_money" | "nuban" | "kepss" | "basa"; + /** + * @description A flag that returns Nigerian banks with their NIP institution code. + * The returned value can be used in identifying institutions on NIP. + */ + include_nip_sort_code?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["MiscellaneousListBanksSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["DisputeUpdateSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_uploadUrl: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the dispute - * @example 4734583785 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["DisputeUploadURLSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_download: { - parameters: { - query?: { - /** @description Number of records to fetch per page */ - perPage?: number; - /** @description The section to retrieve */ - page?: number; - /** @example awaiting-merchant-feedback */ - status?: "awaiting-merchant-feedback" | "awaiting-bank-feedback" | "pending" | "resolved"; - /** @description The start date */ - from?: string; - /** @description The end date */ - to?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["DisputeExportSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_transaction: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the transaction - * @example 4734583785 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["DisputeListTransactionSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_resolve: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the dispute - * @example 4734583785 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DisputeResolve"]; - "application/x-www-form-urlencoded": components["schemas"]["DisputeResolve"]; - }; + bank_resolveAccountNumber: { + parameters: { + query?: { + /** + * @description The account number of interest + * @example 0022728151 + */ + account_number?: string; + /** + * @description The bank code associated with the account number + * @example 063 + */ + bank_code?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["VerificationResolveAccountNumberSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["DisputeResolveSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - dispute_evidence: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The unique identifier of the dispute - * @example 4734583785 - */ - id: number; - }; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["DisputeEvidence"]; - "application/x-www-form-urlencoded": components["schemas"]["DisputeEvidence"]; - }; + bank_validateAccountNumber: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["BankValidateRequest"]; + "application/x-www-form-urlencoded": components["schemas"]["BankValidateRequest"]; + }; + }; + responses: { + 200: components["responses"]["VerificationValidateAccountSuccess"]; + 401: components["responses"]["Unauthorized"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["DisputeAddEvidenceSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bank_list: { - parameters: { - query?: { - /** - * @description The country from which to obtain the list of supported banks. Accepted values are: ghana, kenya, nigeria, south africa - * @example nigeria - */ - country?: "ghana" | "kenya" | "nigeria" | "south africa"; - /** - * @description One of the supported currency - * @example NGN - */ - currency?: "GHS" | "KES" | "NGN" | "ZAR"; - /** @description A flag to indicate if cursor based pagination should be used */ - use_cursor?: boolean; - /** @description The number of objects to return per page. Defaults to 50, and limited to 100 records per page. */ - perPage?: number; - /** @description Specify exactly what page you want to retrieve. If not specified, we use a default value of 1. */ - page?: number; - /** - * @description An alphanumeric value returned for every cursor based retrieval, used to - * retrieve the next set of data - */ - next?: string; - /** - * @description An alphanumeric value returned for every cursor based retrieval, used to - * retrieve the previous set of data - */ - previous?: string; - /** @description A flag to filter for available banks a customer can make a transfer to complete a payment */ - pay_with_bank_transfer?: boolean; - /** @description A flag to filter for banks a customer can pay directly from */ - pay_with_bank?: boolean; - /** - * @description A flag to filter the banks that are supported for account verification in South Africa. - * You need to combine this with either the `currency` or `country` filter. - */ - enabled_for_verification?: boolean; - /** @description The gateway type of the bank */ - gateway?: "emandate" | "digitalbankmandate"; - /** @description Type of financial channel. For Ghanaian channels, please use either mobile_money for mobile money channels OR ghipss for bank channels */ - type?: "ghipss" | "mobile_money" | "nuban" | "kepss" | "basa"; - /** - * @description A flag that returns Nigerian banks with their NIP institution code. - * The returned value can be used in identifying institutions on NIP. - */ - include_nip_sort_code?: boolean; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["MiscellaneousListBanksSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; + miscellaneous_resolveCardBin: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The card bank identification number + * @example 539983 + */ + bin: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["VerificationResolveCardBINSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content?: never; - }; }; - }; - bank_resolveAccountNumber: { - parameters: { - query?: { - /** - * @description The account number of interest - * @example 0022728151 - */ - account_number?: string; - /** - * @description The bank code associated with the account number - * @example 063 - */ - bank_code?: string; - }; - header?: never; - path?: never; - cookie?: never; + miscellaneous_listCountries: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["MiscellaneousListCountriesSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: never; - responses: { - 200: components["responses"]["VerificationResolveAccountNumberSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - bank_validateAccountNumber: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["BankValidateRequest"]; - "application/x-www-form-urlencoded": components["schemas"]["BankValidateRequest"]; - }; + miscellaneous_avs: { + parameters: { + query?: { + /** + * @description The country code of the states to list. It is gotten after the charge request + * @example CA + */ + country?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["MiscellaneousListStatesSuccess"]; + 401: components["responses"]["Unauthorized"]; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + default: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 200: components["responses"]["VerificationValidateAccountSuccess"]; - 401: components["responses"]["Unauthorized"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - miscellaneous_resolveCardBin: { - parameters: { - query?: never; - header?: never; - path: { - /** - * @description The card bank identification number - * @example 539983 - */ - bin: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["VerificationResolveCardBINSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - miscellaneous_listCountries: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["MiscellaneousListCountriesSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - miscellaneous_avs: { - parameters: { - query?: { - /** - * @description The country code of the states to list. It is gotten after the charge request - * @example CA - */ - country?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - 200: components["responses"]["MiscellaneousListStatesSuccess"]; - 401: components["responses"]["Unauthorized"]; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - default: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; - misc_generateWebhookEventTypes: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; + misc_generateWebhookEventTypes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - content: { - "application/json": components["schemas"]["WebhookEvent"]; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WebhookEvent"]; + }; + }; }; - }; }; - }; } diff --git a/src/operations.ts b/src/operations.ts index 61a238d..b2487cd 100644 --- a/src/operations.ts +++ b/src/operations.ts @@ -5,10 +5,10 @@ * Do not edit manually. */ -import type { MaybeOptionalInit } from "openapi-fetch"; -import type { paths } from "./openapi-types.js"; -import type { PaystackClient } from "./client.js"; -import { PaystackResponse, type PaystackRawResponse } from "./response.js"; +import type { MaybeOptionalInit } from 'openapi-fetch'; +import type { paths } from './openapi-types.js'; +import type { PaystackClient } from './client.js'; +import { PaystackResponse, type PaystackRawResponse } from './response.js'; type InitArg = HasPath extends true ? [init?: Partial] @@ -24,15 +24,12 @@ type PaystackData = T extends PaystackRawResponse ? D : ExtractData< * * Lists all registered domains on your integration. Returns an empty array if no domains have been added. */ -export async function applePay_listDomain( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function applePay_listDomain(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/apple-pay/domain", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -44,15 +41,12 @@ export async function applePay_listDomain( * > This endpoint can only be called with one domain or subdomain at a time. * */ -export async function applePay_registerDomain( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function applePay_registerDomain(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/apple-pay/domain", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -63,15 +57,12 @@ export async function applePay_registerDomain( * Pay integration. * */ -export async function applePay_unregisterDomain( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function applePay_unregisterDomain(client: PaystackClient, ...init: InitArg, false>) { const result = await client.DELETE("/apple-pay/domain", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -80,15 +71,12 @@ export async function applePay_unregisterDomain( * * Fetch the available balance on your integration */ -export async function balance_fetch( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function balance_fetch(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/balance", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -97,15 +85,12 @@ export async function balance_fetch( * * Fetch all pay-ins and pay-outs that occured on your integration */ -export async function balance_ledger( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function balance_ledger(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/balance/ledger", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -114,15 +99,12 @@ export async function balance_ledger( * * Get a list of all supported banks and their properties */ -export async function bank_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function bank_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/bank", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -131,15 +113,12 @@ export async function bank_list( * * Resolve an account number to confirm the name associated with it */ -export async function bank_resolveAccountNumber( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function bank_resolveAccountNumber(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/bank/resolve", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -148,15 +127,12 @@ export async function bank_resolveAccountNumber( * * Confirm the authenticity of a customer's account number before sending money */ -export async function bank_validateAccountNumber( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function bank_validateAccountNumber(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/bank/validate", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -167,19 +143,12 @@ export async function bank_validateAccountNumber( * * @param id_or_code An ID or code for the batch whose charges you want to retrieve. */ -export async function bulkCharge_charges( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/bulkcharge/{id_or_code}/charges", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function bulkCharge_charges(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/bulkcharge/{id_or_code}/charges", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -192,19 +161,12 @@ export async function bulkCharge_charges( * * @param id_or_code An ID or code for the charge whose batches you want to retrieve. */ -export async function bulkCharge_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/bulkcharge/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function bulkCharge_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/bulkcharge/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -213,15 +175,12 @@ export async function bulkCharge_fetch( * * Charge multiple customers in batches */ -export async function bulkCharge_initiate( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function bulkCharge_initiate(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/bulkcharge", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -230,15 +189,12 @@ export async function bulkCharge_initiate( * * List all bulk charge batches. */ -export async function bulkCharge_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function bulkCharge_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/bulkcharge", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -249,19 +205,12 @@ export async function bulkCharge_list( * * @param code The batch code for the bulk charge you want to pause */ -export async function bulkCharge_pause( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/bulkcharge/pause/{code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function bulkCharge_pause(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.GET("/bulkcharge/pause/{code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -272,19 +221,12 @@ export async function bulkCharge_pause( * * @param code The batch code for the bulk charge you want to pause */ -export async function bulkCharge_resume( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/bulkcharge/resume/{code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function bulkCharge_resume(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.GET("/bulkcharge/resume/{code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -295,19 +237,12 @@ export async function bulkCharge_resume( * * @param ref The transaction reference from the previously initiated charge request */ -export async function capitecPay_requery( - client: PaystackClient, - ref: string, - ...init: InitArg, true> -) { - const result = await client.POST("/capitec-pay/requery/{ref}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, ref } }, - }); +export async function capitecPay_requery(client: PaystackClient, ref: string, ...init: InitArg, true>) { + const result = await client.POST("/capitec-pay/requery/{ref}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, ref } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -319,19 +254,12 @@ export async function capitecPay_requery( * * @param reference The reference of the ongoing transaction */ -export async function charge_check( - client: PaystackClient, - reference: string, - ...init: InitArg, true> -) { - const result = await client.GET("/charge/{reference}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } }, - }); +export async function charge_check(client: PaystackClient, reference: string, ...init: InitArg, true>) { + const result = await client.GET("/charge/{reference}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -340,15 +268,12 @@ export async function charge_check( * * Initiate a payment by integrating the payment channel of your choice. */ -export async function charge_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function charge_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/charge", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -357,15 +282,12 @@ export async function charge_create( * * Send the details of the customer's address for address verification */ -export async function charge_submitAddress( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function charge_submitAddress(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/charge/submit_address", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -374,15 +296,12 @@ export async function charge_submitAddress( * * Submit the customer's birthday when requested */ -export async function charge_submitBirthday( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function charge_submitBirthday(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/charge/submit_birthday", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -391,15 +310,12 @@ export async function charge_submitBirthday( * * Submit OTP to complete a charge */ -export async function charge_submitOtp( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function charge_submitOtp(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/charge/submit_otp", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -408,15 +324,12 @@ export async function charge_submitOtp( * * Submit phone number when requested */ -export async function charge_submitPhone( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function charge_submitPhone(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/charge/submit_phone", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -425,15 +338,12 @@ export async function charge_submitPhone( * * Submit PIN to continue a charge */ -export async function charge_submitPin( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function charge_submitPin(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/charge/submit_pin", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -442,15 +352,12 @@ export async function charge_submitPin( * * Create a customer on your integration */ -export async function customer_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function customer_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/customer", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -459,15 +366,12 @@ export async function customer_create( * * Deactivate an authorization for any payment channel. */ -export async function customer_deactivateAuthorization( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function customer_deactivateAuthorization(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/customer/authorization/deactivate", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -478,22 +382,12 @@ export async function customer_deactivateAuthorization( * * @param id The customer ID attached to the authorization */ -export async function customer_directDebitActivationCharge( - client: PaystackClient, - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.PUT("/customer/{id}/directdebit-activation-charge", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function customer_directDebitActivationCharge(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.PUT("/customer/{id}/directdebit-activation-charge", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -504,19 +398,12 @@ export async function customer_directDebitActivationCharge( * * @param email_or_code An email or customer code for the customer you want to fetch */ -export async function customer_fetch( - client: PaystackClient, - email_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/customer/{email_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, email_or_code } }, - }); +export async function customer_fetch(client: PaystackClient, email_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/customer/{email_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, email_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -527,22 +414,12 @@ export async function customer_fetch( * * @param id The customer ID for the authorizations to fetch */ -export async function customer_fetchMandateAuthorizations( - client: PaystackClient, - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.GET("/customer/{id}/directdebit-mandate-authorizations", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function customer_fetchMandateAuthorizations(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/customer/{id}/directdebit-mandate-authorizations", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -551,15 +428,12 @@ export async function customer_fetchMandateAuthorizations( * * Initiate a request to create a reusable authorization code for recurring transactions */ -export async function customer_initializeAuthorization( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function customer_initializeAuthorization(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/customer/authorization/initialize", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -570,19 +444,12 @@ export async function customer_initializeAuthorization( * * @param id The ID of the customer to initialize the direct debit for */ -export async function customer_initializeDirectDebit( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/customer/{id}/initialize-direct-debit", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function customer_initializeDirectDebit(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/customer/{id}/initialize-direct-debit", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -591,15 +458,12 @@ export async function customer_initializeDirectDebit( * * List customers available on your integration */ -export async function customer_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function customer_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/customer", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -608,15 +472,12 @@ export async function customer_list( * * Set customer's risk action by whitelisting or blacklisting the customer */ -export async function customer_riskAction( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function customer_riskAction(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/customer/set_risk_action", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -627,19 +488,12 @@ export async function customer_riskAction( * * @param email_or_code An email or customer code for the customer you want to fetch */ -export async function customer_update( - client: PaystackClient, - email_or_code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/customer/{email_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, email_or_code } }, - }); +export async function customer_update(client: PaystackClient, email_or_code: string, ...init: InitArg, true>) { + const result = await client.PUT("/customer/{email_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, email_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -650,22 +504,12 @@ export async function customer_update( * * @param customer_code Customer code */ -export async function customer_validate( - client: PaystackClient, - customer_code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.POST("/customer/{customer_code}/identification", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, customer_code } }, - }); +export async function customer_validate(client: PaystackClient, customer_code: string, ...init: InitArg, true>) { + const result = await client.POST("/customer/{customer_code}/identification", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, customer_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -676,22 +520,12 @@ export async function customer_validate( * * @param reference The reference returned in the initialization response */ -export async function customer_verifyAuthorization( - client: PaystackClient, - reference: string, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.GET("/customer/authorization/verify/{reference}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } }, - }); +export async function customer_verifyAuthorization(client: PaystackClient, reference: string, ...init: InitArg, true>) { + const result = await client.GET("/customer/authorization/verify/{reference}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -700,15 +534,12 @@ export async function customer_verifyAuthorization( * * Split a dedicated virtual account transaction with one or more accounts */ -export async function dedicatedAccount_addSplit( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_addSplit(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/dedicated_account/split", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -717,15 +548,12 @@ export async function dedicatedAccount_addSplit( * * With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. */ -export async function dedicatedAccount_assign( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_assign(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/dedicated_account/assign", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -734,15 +562,12 @@ export async function dedicatedAccount_assign( * * Get available bank providers for a dedicated virtual account */ -export async function dedicatedAccount_availableProviders( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_availableProviders(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/dedicated_account/available_providers", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -751,15 +576,12 @@ export async function dedicatedAccount_availableProviders( * * Create a dedicated virtual account for an existing customer */ -export async function dedicatedAccount_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/dedicated_account", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -770,19 +592,12 @@ export async function dedicatedAccount_create( * * @param id ID of dedicated virtual account */ -export async function dedicatedAccount_deactivate( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.DELETE("/dedicated_account/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dedicatedAccount_deactivate(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.DELETE("/dedicated_account/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -793,19 +608,12 @@ export async function dedicatedAccount_deactivate( * * @param id ID of dedicated virtual account */ -export async function dedicatedAccount_fetch( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.GET("/dedicated_account/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dedicatedAccount_fetch(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.GET("/dedicated_account/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -814,15 +622,12 @@ export async function dedicatedAccount_fetch( * * List dedicated virtual accounts available on your integration. */ -export async function dedicatedAccount_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/dedicated_account", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -831,15 +636,12 @@ export async function dedicatedAccount_list( * * If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint */ -export async function dedicatedAccount_removeSplit( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_removeSplit(client: PaystackClient, ...init: InitArg, false>) { const result = await client.DELETE("/dedicated_account/split", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -848,15 +650,12 @@ export async function dedicatedAccount_removeSplit( * * Requery Dedicated Virtual Account for new transactions */ -export async function dedicatedAccount_requery( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dedicatedAccount_requery(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/dedicated_account/requery", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -865,15 +664,12 @@ export async function dedicatedAccount_requery( * * Get a list of all the direct debit mandates on your integration */ -export async function directdebit_listMandateAuthorizations( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function directdebit_listMandateAuthorizations(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/directdebit/mandate-authorizations", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -882,15 +678,12 @@ export async function directdebit_listMandateAuthorizations( * * Trigger activation charge for specified customers */ -export async function directdebit_triggerActivationCharge( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function directdebit_triggerActivationCharge(client: PaystackClient, ...init: InitArg, false>) { const result = await client.PUT("/directdebit/activation-charge", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -899,15 +692,12 @@ export async function directdebit_triggerActivationCharge( * * Export the disputes available on your integration */ -export async function dispute_download( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dispute_download(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/dispute/export", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -918,19 +708,12 @@ export async function dispute_download( * * @param id The unique identifier of the dispute */ -export async function dispute_evidence( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/dispute/{id}/evidence", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dispute_evidence(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/dispute/{id}/evidence", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -941,19 +724,12 @@ export async function dispute_evidence( * * @param id The unique identifier of the dispute */ -export async function dispute_fetch( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/dispute/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dispute_fetch(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/dispute/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -962,15 +738,12 @@ export async function dispute_fetch( * * List transaction disputes filed by customers */ -export async function dispute_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function dispute_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/dispute", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -981,19 +754,12 @@ export async function dispute_list( * * @param id The unique identifier of the dispute */ -export async function dispute_resolve( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.PUT("/dispute/{id}/resolve", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dispute_resolve(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.PUT("/dispute/{id}/resolve", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1004,19 +770,12 @@ export async function dispute_resolve( * * @param id The unique identifier of the transaction */ -export async function dispute_transaction( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/dispute/transaction/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dispute_transaction(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/dispute/transaction/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1027,19 +786,12 @@ export async function dispute_transaction( * * @param id The unique identifier of the dispute */ -export async function dispute_update( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.PUT("/dispute/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dispute_update(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.PUT("/dispute/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1050,19 +802,12 @@ export async function dispute_update( * * @param id The unique identifier of the dispute */ -export async function dispute_uploadUrl( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/dispute/{id}/upload_url", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function dispute_uploadUrl(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/dispute/{id}/upload_url", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1071,15 +816,12 @@ export async function dispute_uploadUrl( * * Fetch the session timeout of a transaction */ -export async function integration_fetchPaymentSessionTimeout( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function integration_fetchPaymentSessionTimeout(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/integration/payment_session_timeout", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1088,15 +830,12 @@ export async function integration_fetchPaymentSessionTimeout( * * Update the session timeout of a transaction */ -export async function integration_updatePaymentSessionTimeout( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function integration_updatePaymentSessionTimeout(client: PaystackClient, ...init: InitArg, false>) { const result = await client.PUT("/integration/payment_session_timeout", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1105,15 +844,12 @@ export async function integration_updatePaymentSessionTimeout( * * This path is internal and used to ensure that schemas like WebhookEvent are considered 'used' for SDK generation and linting. */ -export async function misc_generateWebhookEventTypes( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function misc_generateWebhookEventTypes(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/___internal___", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1122,15 +858,12 @@ export async function misc_generateWebhookEventTypes( * * Get a list of states for a country for address verification */ -export async function miscellaneous_avs( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function miscellaneous_avs(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/address_verification/states", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1139,15 +872,12 @@ export async function miscellaneous_avs( * * List all supported countries on Paystack */ -export async function miscellaneous_listCountries( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function miscellaneous_listCountries(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/country", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1158,19 +888,12 @@ export async function miscellaneous_listCountries( * * @param bin The card bank identification number */ -export async function miscellaneous_resolveCardBin( - client: PaystackClient, - bin: string, - ...init: InitArg, true> -) { - const result = await client.GET("/decision/bin/{bin}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, bin } }, - }); +export async function miscellaneous_resolveCardBin(client: PaystackClient, bin: string, ...init: InitArg, true>) { + const result = await client.GET("/decision/bin/{bin}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, bin } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1179,15 +902,12 @@ export async function miscellaneous_resolveCardBin( * * Create an order for selected items */ -export async function order_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function order_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/order", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1198,19 +918,12 @@ export async function order_create( * * @param id The unique identifier of the order */ -export async function order_fetch( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/order/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function order_fetch(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/order/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1219,15 +932,12 @@ export async function order_fetch( * * List the previously created orders */ -export async function order_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function order_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/order", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1238,19 +948,12 @@ export async function order_list( * * @param id The unique identifier of the order */ -export async function order_product( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/order/product/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function order_product(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/order/product/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1261,19 +964,12 @@ export async function order_product( * * @param code The unique code of a previously created order */ -export async function order_validate( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/order/{code}/validate", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function order_validate(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.GET("/order/{code}/validate", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1286,19 +982,12 @@ export async function order_validate( * * @param id */ -export async function page_addProducts( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.POST("/page/{id}/product", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function page_addProducts(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.POST("/page/{id}/product", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1309,19 +998,12 @@ export async function page_addProducts( * * @param slug The custom slug to check */ -export async function page_checkSlugAvailability( - client: PaystackClient, - slug: string, - ...init: InitArg, true> -) { - const result = await client.GET("/page/check_slug_availability/{slug}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, slug } }, - }); +export async function page_checkSlugAvailability(client: PaystackClient, slug: string, ...init: InitArg, true>) { + const result = await client.GET("/page/check_slug_availability/{slug}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, slug } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1330,15 +1012,12 @@ export async function page_checkSlugAvailability( * * Create a webpage to receive payments */ -export async function page_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function page_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/page", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1349,19 +1028,12 @@ export async function page_create( * * @param id_or_slug The page ID or slug you want to fetch */ -export async function page_fetch( - client: PaystackClient, - id_or_slug: string, - ...init: InitArg, true> -) { - const result = await client.GET("/page/{id_or_slug}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_slug } }, - }); +export async function page_fetch(client: PaystackClient, id_or_slug: string, ...init: InitArg, true>) { + const result = await client.GET("/page/{id_or_slug}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_slug } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1370,15 +1042,12 @@ export async function page_fetch( * * List all previously created payment pages */ -export async function page_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function page_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/page", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1389,19 +1058,12 @@ export async function page_list( * * @param id_or_slug The page ID or slug you want to fetch */ -export async function page_update( - client: PaystackClient, - id_or_slug: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/page/{id_or_slug}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_slug } }, - }); +export async function page_update(client: PaystackClient, id_or_slug: string, ...init: InitArg, true>) { + const result = await client.PUT("/page/{id_or_slug}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_slug } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1414,19 +1076,12 @@ export async function page_update( * * @param id The unique identifier of a previously created payment request */ -export async function paymentRequest_archive( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/paymentrequest/archive/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function paymentRequest_archive(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/paymentrequest/archive/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1435,15 +1090,12 @@ export async function paymentRequest_archive( * * Create a new payment request by issuing an invoice to a customer */ -export async function paymentRequest_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function paymentRequest_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/paymentrequest", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1454,19 +1106,12 @@ export async function paymentRequest_create( * * @param id_or_code The payment request ID or code you want to fetch */ -export async function paymentRequest_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/paymentrequest/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function paymentRequest_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/paymentrequest/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1477,19 +1122,12 @@ export async function paymentRequest_fetch( * * @param id The unique identifier of a draft payment request */ -export async function paymentRequest_finalize( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/paymentrequest/finalize/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function paymentRequest_finalize(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/paymentrequest/finalize/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1498,15 +1136,12 @@ export async function paymentRequest_finalize( * * List all previously created payment requests to your customers */ -export async function paymentRequest_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function paymentRequest_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/paymentrequest", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1517,19 +1152,12 @@ export async function paymentRequest_list( * * @param id The unique identifier of a previously created payment request */ -export async function paymentRequest_notify( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/paymentrequest/notify/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function paymentRequest_notify(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/paymentrequest/notify/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1538,15 +1166,12 @@ export async function paymentRequest_notify( * * Get the metric of all pending and successful payment requests */ -export async function paymentRequest_totals( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function paymentRequest_totals(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/paymentrequest/totals", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1557,19 +1182,12 @@ export async function paymentRequest_totals( * * @param id_or_code The payment request ID or code you want to fetch */ -export async function paymentRequest_update( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/paymentrequest/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function paymentRequest_update(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.PUT("/paymentrequest/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1580,19 +1198,12 @@ export async function paymentRequest_update( * * @param id The unique identifier of a previously created payment request */ -export async function paymentRequest_verify( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/paymentrequest/verify/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function paymentRequest_verify(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/paymentrequest/verify/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1601,15 +1212,12 @@ export async function paymentRequest_verify( * * Create a plan for recurring payments */ -export async function plan_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function plan_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/plan", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1620,19 +1228,12 @@ export async function plan_create( * * @param id_or_code The plan ID or code you want to fetch */ -export async function plan_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/plan/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function plan_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/plan/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1641,15 +1242,12 @@ export async function plan_fetch( * * List all recurring payment plans */ -export async function plan_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function plan_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/plan", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1660,19 +1258,12 @@ export async function plan_list( * * @param id_or_code The plan ID or code you want to fetch */ -export async function plan_update( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/plan/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function plan_update(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.PUT("/plan/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1681,15 +1272,12 @@ export async function plan_update( * * Charge a preauthorized transaction upon service delivery */ -export async function preauthorization_capture( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function preauthorization_capture(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/preauthorization/capture", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1698,15 +1286,12 @@ export async function preauthorization_capture( * * Initialize a preauthorization transaction for a new customer */ -export async function preauthorization_initialize( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function preauthorization_initialize(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/preauthorization/initialize", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1715,15 +1300,12 @@ export async function preauthorization_initialize( * * List preauthorizations carried out on your integration */ -export async function preauthorization_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function preauthorization_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/preauthorization", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1732,15 +1314,12 @@ export async function preauthorization_list( * * For when a customer cancels an order or you want to release the hold from their card. */ -export async function preauthorization_release( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function preauthorization_release(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/preauthorization/release", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1749,18 +1328,12 @@ export async function preauthorization_release( * * Hold an amount using an existing customer's authorization that's marked reusable. */ -export async function preauthorization_reserve_authorization( - client: PaystackClient, - ...init: InitArg< - MaybeOptionalInit, - false - > -) { +export async function preauthorization_reserve_authorization(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/preauthorization/reserve_authorization", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1771,19 +1344,12 @@ export async function preauthorization_reserve_authorization( * * @param reference The transaction reference used to intiate the transaction */ -export async function preauthorization_verify( - client: PaystackClient, - reference: string, - ...init: InitArg, true> -) { - const result = await client.GET("/preauthorization/verify/{reference}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } }, - }); +export async function preauthorization_verify(client: PaystackClient, reference: string, ...init: InitArg, true>) { + const result = await client.GET("/preauthorization/verify/{reference}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1792,15 +1358,12 @@ export async function preauthorization_verify( * * Create a new product on your integration */ -export async function product_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function product_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/product", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1811,19 +1374,12 @@ export async function product_create( * * @param id The unique identifier of the product */ -export async function product_delete( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.DELETE("/product/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function product_delete(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.DELETE("/product/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1834,19 +1390,12 @@ export async function product_delete( * * @param id The unique identifier of the product */ -export async function product_fetch( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/product/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function product_fetch(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/product/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1855,15 +1404,12 @@ export async function product_fetch( * * List all previously created products */ -export async function product_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function product_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/product", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1874,19 +1420,12 @@ export async function product_list( * * @param id The unique identifier of the product */ -export async function product_update( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.PUT("/product/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function product_update(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.PUT("/product/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1895,15 +1434,12 @@ export async function product_update( * * Initiate a refund for a previously completed transaction */ -export async function refund_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function refund_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/refund", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1914,19 +1450,12 @@ export async function refund_create( * * @param id The identifier of the refund */ -export async function refund_fetch( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/refund/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function refund_fetch(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/refund/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1935,15 +1464,12 @@ export async function refund_fetch( * * List previously created refunds */ -export async function refund_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function refund_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/refund", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1954,22 +1480,12 @@ export async function refund_list( * * @param id The identifier of the refund */ -export async function refund_retry( - client: PaystackClient, - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.POST("/refund/retry_with_customer_details/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function refund_retry(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/refund/retry_with_customer_details/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1978,15 +1494,12 @@ export async function refund_retry( * * List settlements made to your settlement accounts */ -export async function settlements_fetch( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function settlements_fetch(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/settlement", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -1997,19 +1510,12 @@ export async function settlements_fetch( * * @param id The settlement ID in which you want to fetch its transactions */ -export async function settlements_transaction( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/settlement/{id}/transactions", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function settlements_transaction(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/settlement/{id}/transactions", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2020,19 +1526,12 @@ export async function settlements_transaction( * * @param id The ID of the split configuration to fetch */ -export async function split_addSubaccount( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.POST("/split/{id}/subaccount/add", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function split_addSubaccount(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.POST("/split/{id}/subaccount/add", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2041,15 +1540,12 @@ export async function split_addSubaccount( * * Create a split configuration for transactions */ -export async function split_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function split_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/split", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2060,19 +1556,12 @@ export async function split_create( * * @param id The ID of the split configuration to fetch */ -export async function split_fetch( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.GET("/split/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function split_fetch(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.GET("/split/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2081,15 +1570,12 @@ export async function split_fetch( * * List the transaction splits available on your integration */ -export async function split_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function split_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/split", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2100,19 +1586,12 @@ export async function split_list( * * @param id The ID of the split configuration to fetch */ -export async function split_removeSubaccount( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.POST("/split/{id}/subaccount/remove", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function split_removeSubaccount(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.POST("/split/{id}/subaccount/remove", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2123,19 +1602,12 @@ export async function split_removeSubaccount( * * @param id */ -export async function split_update( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/split/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function split_update(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.PUT("/split/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2146,19 +1618,12 @@ export async function split_update( * * @param id The unique identifier of the Storefront */ -export async function storefront_addProducts( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/storefront/{id}/product", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_addProducts(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/storefront/{id}/product", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2167,15 +1632,12 @@ export async function storefront_addProducts( * * Create a digital shop to manage and display your products */ -export async function storefront_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function storefront_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/storefront", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2186,19 +1648,12 @@ export async function storefront_create( * * @param id The unique identifier of the Storefront */ -export async function storefront_delete( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.DELETE("/storefront/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_delete(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.DELETE("/storefront/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2209,19 +1664,12 @@ export async function storefront_delete( * * @param id The unique identifier of the Storefront */ -export async function storefront_duplicate( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/storefront/{id}/duplicate", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_duplicate(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/storefront/{id}/duplicate", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2232,19 +1680,12 @@ export async function storefront_duplicate( * * @param id The unique identifier of the Storefront */ -export async function storefront_fetch( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/storefront/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_fetch(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/storefront/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2255,19 +1696,12 @@ export async function storefront_fetch( * * @param id The unique identifier of the Storefront */ -export async function storefront_fetchOrders( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/storefront/{id}/order", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_fetchOrders(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/storefront/{id}/order", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2276,15 +1710,12 @@ export async function storefront_fetchOrders( * * List the storefronts you previously created */ -export async function storefront_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function storefront_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/storefront", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2295,19 +1726,12 @@ export async function storefront_list( * * @param id The unique identifier of the Storefront */ -export async function storefront_listProducts( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/storefront/{id}/product", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_listProducts(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/storefront/{id}/product", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2318,19 +1742,12 @@ export async function storefront_listProducts( * * @param id The unique identifier of the Storefront */ -export async function storefront_publish( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.POST("/storefront/{id}/publish", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_publish(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.POST("/storefront/{id}/publish", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2341,19 +1758,12 @@ export async function storefront_publish( * * @param id The unique identifier of the Storefront */ -export async function storefront_update( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.PUT("/storefront/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function storefront_update(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.PUT("/storefront/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2364,19 +1774,12 @@ export async function storefront_update( * * @param slug The custom slug to check */ -export async function storefront_verifySlug( - client: PaystackClient, - slug: string, - ...init: InitArg, true> -) { - const result = await client.GET("/storefront/verify/{slug}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, slug } }, - }); +export async function storefront_verifySlug(client: PaystackClient, slug: string, ...init: InitArg, true>) { + const result = await client.GET("/storefront/verify/{slug}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, slug } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2385,15 +1788,12 @@ export async function storefront_verifySlug( * * Create a subacount for a partner */ -export async function subaccount_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function subaccount_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/subaccount", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2404,19 +1804,12 @@ export async function subaccount_create( * * @param id_or_code The subaccount ID or code you want to fetch */ -export async function subaccount_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/subaccount/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function subaccount_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/subaccount/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2425,15 +1818,12 @@ export async function subaccount_fetch( * * List subaccounts available on your integration */ -export async function subaccount_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function subaccount_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/subaccount", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2444,19 +1834,12 @@ export async function subaccount_list( * * @param id_or_code The subaccount ID or code you want to fetch */ -export async function subaccount_update( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/subaccount/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function subaccount_update(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.PUT("/subaccount/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2465,15 +1848,12 @@ export async function subaccount_update( * * Create a subscription a customer */ -export async function subscription_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function subscription_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/subscription", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2482,15 +1862,12 @@ export async function subscription_create( * * Disable a subscription on your integration */ -export async function subscription_disable( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function subscription_disable(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/subscription/disable", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2499,15 +1876,12 @@ export async function subscription_disable( * * Enable a subscription on your integration */ -export async function subscription_enable( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function subscription_enable(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/subscription/enable", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2518,19 +1892,12 @@ export async function subscription_enable( * * @param id_or_code The subscription ID or code you want to fetch */ -export async function subscription_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/subscription/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function subscription_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/subscription/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2539,15 +1906,12 @@ export async function subscription_fetch( * * List all subscriptions available on your integration */ -export async function subscription_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function subscription_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/subscription", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2558,19 +1922,12 @@ export async function subscription_list( * * @param code Subscription code */ -export async function subscription_manageEmail( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.POST("/subscription/{code}/manage/email", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function subscription_manageEmail(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.POST("/subscription/{code}/manage/email", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2581,19 +1938,12 @@ export async function subscription_manageEmail( * * @param code Subscription code */ -export async function subscription_manageLink( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/subscription/{code}/manage/link", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function subscription_manageLink(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.GET("/subscription/{code}/manage/link", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2602,15 +1952,12 @@ export async function subscription_manageLink( * * Activate your debug device by linking it to your integration */ -export async function terminal_commission( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function terminal_commission(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/terminal/commission_device", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2619,15 +1966,12 @@ export async function terminal_commission( * * Unlink your debug device from your integration */ -export async function terminal_decommission( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function terminal_decommission(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/terminal/decommission_device", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2638,19 +1982,12 @@ export async function terminal_decommission( * * @param terminal_id The ID of the Terminal the event should be sent to. */ -export async function terminal_fetch( - client: PaystackClient, - terminal_id: string, - ...init: InitArg, true> -) { - const result = await client.GET("/terminal/{terminal_id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id } }, - }); +export async function terminal_fetch(client: PaystackClient, terminal_id: string, ...init: InitArg, true>) { + const result = await client.GET("/terminal/{terminal_id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2662,23 +1999,12 @@ export async function terminal_fetch( * @param terminal_id The ID of the Terminal the event should be sent to. * @param event_id The ID of the event that was sent to the Terminal */ -export async function terminal_fetchEventStatus( - client: PaystackClient, - terminal_id: string, - event_id: string, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.GET("/terminal/{terminal_id}/event/{event_id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id, event_id } }, - }); +export async function terminal_fetchEventStatus(client: PaystackClient, terminal_id: string, event_id: string, ...init: InitArg, true>) { + const result = await client.GET("/terminal/{terminal_id}/event/{event_id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id, event_id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2689,19 +2015,12 @@ export async function terminal_fetchEventStatus( * * @param terminal_id The ID of the Terminal the event should be sent to. */ -export async function terminal_fetchTerminalStatus( - client: PaystackClient, - terminal_id: string, - ...init: InitArg, true> -) { - const result = await client.GET("/terminal/{terminal_id}/presence", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id } }, - }); +export async function terminal_fetchTerminalStatus(client: PaystackClient, terminal_id: string, ...init: InitArg, true>) { + const result = await client.GET("/terminal/{terminal_id}/presence", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2710,15 +2029,12 @@ export async function terminal_fetchTerminalStatus( * * List the Terminals available on your integration */ -export async function terminal_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function terminal_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/terminal", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2729,19 +2045,12 @@ export async function terminal_list( * * @param id The ID of the Terminal the event should be sent to. */ -export async function terminal_sendEvent( - client: PaystackClient, - id: string, - ...init: InitArg, true> -) { - const result = await client.POST("/terminal/{id}/event", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function terminal_sendEvent(client: PaystackClient, id: string, ...init: InitArg, true>) { + const result = await client.POST("/terminal/{id}/event", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2752,19 +2061,12 @@ export async function terminal_sendEvent( * * @param terminal_id The ID of the Terminal the event should be sent to. */ -export async function terminal_update( - client: PaystackClient, - terminal_id: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/terminal/{terminal_id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id } }, - }); +export async function terminal_update(client: PaystackClient, terminal_id: string, ...init: InitArg, true>) { + const result = await client.PUT("/terminal/{terminal_id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, terminal_id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2773,15 +2075,12 @@ export async function terminal_update( * * Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments */ -export async function transaction_chargeAuthorization( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_chargeAuthorization(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transaction/charge_authorization", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2790,15 +2089,12 @@ export async function transaction_chargeAuthorization( * * Check if an authorization code can be used for a charge. */ -export async function transaction_checkAuthorization( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_checkAuthorization(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transaction/check_authorization", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2809,19 +2105,12 @@ export async function transaction_checkAuthorization( * * @param id The ID of the transaction */ -export async function transaction_event( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/transaction/{id}/event", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function transaction_event(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/transaction/{id}/event", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2830,15 +2119,12 @@ export async function transaction_event( * * Download transactions that occurred on your integration for a specific timeframe */ -export async function transaction_export( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_export(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/transaction/export", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2849,19 +2135,12 @@ export async function transaction_export( * * @param id The ID of the transaction to fetch */ -export async function transaction_fetch( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/transaction/{id}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function transaction_fetch(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/transaction/{id}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2870,15 +2149,12 @@ export async function transaction_fetch( * * Create a new transaction */ -export async function transaction_initialize( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_initialize(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transaction/initialize", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2887,15 +2163,12 @@ export async function transaction_initialize( * * List transactions carried out on your integration */ -export async function transaction_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/transaction", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2904,15 +2177,12 @@ export async function transaction_list( * * Retrieve part of a payment from a customer */ -export async function transaction_partialDebit( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_partialDebit(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transaction/partial_debit", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2923,19 +2193,12 @@ export async function transaction_partialDebit( * * @param id The ID of the transaction */ -export async function transaction_session( - client: PaystackClient, - id: number, - ...init: InitArg, true> -) { - const result = await client.GET("/transaction/{id}/session", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } }, - }); +export async function transaction_session(client: PaystackClient, id: number, ...init: InitArg, true>) { + const result = await client.GET("/transaction/{id}/session", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2946,19 +2209,12 @@ export async function transaction_session( * * @param id_or_reference The ID or the reference of the transaction */ -export async function transaction_timeline( - client: PaystackClient, - id_or_reference: string, - ...init: InitArg, true> -) { - const result = await client.GET("/transaction/timeline/{id_or_reference}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_reference } }, - }); +export async function transaction_timeline(client: PaystackClient, id_or_reference: string, ...init: InitArg, true>) { + const result = await client.GET("/transaction/timeline/{id_or_reference}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_reference } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2967,15 +2223,12 @@ export async function transaction_timeline( * * Get the total amount of all transactions */ -export async function transaction_totals( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transaction_totals(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/transaction/totals", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -2986,19 +2239,12 @@ export async function transaction_totals( * * @param reference The transaction reference to verify */ -export async function transaction_verify( - client: PaystackClient, - reference: string, - ...init: InitArg, true> -) { - const result = await client.GET("/transaction/verify/{reference}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } }, - }); +export async function transaction_verify(client: PaystackClient, reference: string, ...init: InitArg, true>) { + const result = await client.GET("/transaction/verify/{reference}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3010,15 +2256,12 @@ export async function transaction_verify( * You need to disable the Transfers OTP requirement to use this endpoint. * */ -export async function transfer_bulk( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_bulk(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer/bulk", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3029,15 +2272,12 @@ export async function transfer_bulk( * No arguments required. You will get an OTP to complete the request. * */ -export async function transfer_disableOtp( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_disableOtp(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer/disable_otp", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3046,15 +2286,12 @@ export async function transfer_disableOtp( * * Finalize the request to disable OTP on your transfers */ -export async function transfer_disableOtpFinalize( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_disableOtpFinalize(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer/disable_otp_finalize", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3065,15 +2302,12 @@ export async function transfer_disableOtpFinalize( * No arguments required. * */ -export async function transfer_enableOtp( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_enableOtp(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer/enable_otp", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3082,15 +2316,12 @@ export async function transfer_enableOtp( * * Export a list of transfers carried out on your integration */ -export async function transfer_exportTransfer( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_exportTransfer(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/transfer/export", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3101,19 +2332,12 @@ export async function transfer_exportTransfer( * * @param id_or_code The transfer ID or code you want to fetch */ -export async function transfer_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/transfer/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function transfer_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/transfer/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3122,15 +2346,12 @@ export async function transfer_fetch( * * Finalize an initiated transfer */ -export async function transfer_finalize( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_finalize(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer/finalize_transfer", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3139,15 +2360,12 @@ export async function transfer_finalize( * * Send money to your customers */ -export async function transfer_initiate( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_initiate(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3156,15 +2374,12 @@ export async function transfer_initiate( * * List the transfers made on your integration */ -export async function transfer_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/transfer", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3173,15 +2388,12 @@ export async function transfer_list( * * Generates and send a new OTP to customer in the event they are having trouble receiving one. */ -export async function transfer_resendOtp( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transfer_resendOtp(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transfer/resend_otp", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3192,19 +2404,12 @@ export async function transfer_resendOtp( * * @param reference Transfer reference */ -export async function transfer_verify( - client: PaystackClient, - reference: string, - ...init: InitArg, true> -) { - const result = await client.GET("/transfer/verify/{reference}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } }, - }); +export async function transfer_verify(client: PaystackClient, reference: string, ...init: InitArg, true>) { + const result = await client.GET("/transfer/verify/{reference}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, reference } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3214,15 +2419,12 @@ export async function transfer_verify( * Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. * */ -export async function transferrecipient_bulk( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transferrecipient_bulk(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transferrecipient/bulk", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3231,15 +2433,12 @@ export async function transferrecipient_bulk( * * Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. */ -export async function transferrecipient_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transferrecipient_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/transferrecipient", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3250,19 +2449,12 @@ export async function transferrecipient_create( * * @param id_or_code An ID or code for the recipient whose details you want to receive. */ -export async function transferrecipient_delete( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.DELETE("/transferrecipient/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function transferrecipient_delete(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.DELETE("/transferrecipient/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3273,19 +2465,12 @@ export async function transferrecipient_delete( * * @param id_or_code An ID or code for the recipient whose details you want to receive. */ -export async function transferrecipient_fetch( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/transferrecipient/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function transferrecipient_fetch(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.GET("/transferrecipient/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3294,15 +2479,12 @@ export async function transferrecipient_fetch( * * List transfer recipients available on your integration */ -export async function transferrecipient_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function transferrecipient_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/transferrecipient", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3313,19 +2495,12 @@ export async function transferrecipient_list( * * @param id_or_code An ID or code for the recipient whose details you want to receive. */ -export async function transferrecipient_update( - client: PaystackClient, - id_or_code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/transferrecipient/{id_or_code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } }, - }); +export async function transferrecipient_update(client: PaystackClient, id_or_code: string, ...init: InitArg, true>) { + const result = await client.PUT("/transferrecipient/{id_or_code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, id_or_code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3336,19 +2511,12 @@ export async function transferrecipient_update( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_addSplitCode( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/virtual_terminal/{code}/split_code", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_addSplitCode(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.PUT("/virtual_terminal/{code}/split_code", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3357,15 +2525,12 @@ export async function virtualTerminal_addSplitCode( * * Create a Virtual Terminal on your integration */ -export async function virtualTerminal_create( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function virtualTerminal_create(client: PaystackClient, ...init: InitArg, false>) { const result = await client.POST("/virtual_terminal", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3376,19 +2541,12 @@ export async function virtualTerminal_create( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_deactivate( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/virtual_terminal/{code}/deactivate", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_deactivate(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.PUT("/virtual_terminal/{code}/deactivate", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3399,19 +2557,12 @@ export async function virtualTerminal_deactivate( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_deleteSplitCode( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.DELETE("/virtual_terminal/{code}/split_code", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_deleteSplitCode(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.DELETE("/virtual_terminal/{code}/split_code", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3422,22 +2573,12 @@ export async function virtualTerminal_deleteSplitCode( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_destinationAssign( - client: PaystackClient, - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.POST("/virtual_terminal/{code}/destination/assign", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_destinationAssign(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.POST("/virtual_terminal/{code}/destination/assign", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3448,22 +2589,12 @@ export async function virtualTerminal_destinationAssign( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_destinationUnassign( - client: PaystackClient, - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > -) { - const result = await client.POST("/virtual_terminal/{code}/destination/unassign", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_destinationUnassign(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.POST("/virtual_terminal/{code}/destination/unassign", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3474,19 +2605,12 @@ export async function virtualTerminal_destinationUnassign( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_fetch( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.GET("/virtual_terminal/{code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_fetch(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.GET("/virtual_terminal/{code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3495,15 +2619,12 @@ export async function virtualTerminal_fetch( * * List Virtual Terminals on your integration */ -export async function virtualTerminal_list( - client: PaystackClient, - ...init: InitArg, false> -) { +export async function virtualTerminal_list(client: PaystackClient, ...init: InitArg, false>) { const result = await client.GET("/virtual_terminal", ...init); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3514,19 +2635,12 @@ export async function virtualTerminal_list( * * @param code Code of the Virtual Terminal */ -export async function virtualTerminal_update( - client: PaystackClient, - code: string, - ...init: InitArg, true> -) { - const result = await client.PUT("/virtual_terminal/{code}", { - ...init[0], - params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } }, - }); +export async function virtualTerminal_update(client: PaystackClient, code: string, ...init: InitArg, true>) { + const result = await client.PUT("/virtual_terminal/{code}", { ...init[0], params: { ...init[0]?.params, path: { ...init[0]?.params?.path, code } } }); return new PaystackResponse>>( result.data as any, result.error, - result.response, + result.response ); } @@ -3534,12 +2648,11 @@ export function bindOperations(client: PaystackClient) { return { applePay: { /** - * List Domains - * - * Lists all registered domains on your integration. Returns an empty array if no domains have been added. + * List Domains + * + * Lists all registered domains on your integration. Returns an empty array if no domains have been added. */ - listDomain: (...init: InitArg, false>) => - applePay_listDomain(client, ...init), + listDomain: (...init: InitArg, false>) => applePay_listDomain(client, ...init), /** * Register Domain * @@ -3547,574 +2660,407 @@ export function bindOperations(client: PaystackClient) { > This endpoint can only be called with one domain or subdomain at a time. */ - registerDomain: ( - ...init: InitArg, false> - ) => applePay_registerDomain(client, ...init), + registerDomain: (...init: InitArg, false>) => applePay_registerDomain(client, ...init), /** * Unregister Domain * * Unregister a top-level domain or subdomain previously used for your Apple Pay integration. */ - unregisterDomain: ( - ...init: InitArg, false> - ) => applePay_unregisterDomain(client, ...init), + unregisterDomain: (...init: InitArg, false>) => applePay_unregisterDomain(client, ...init), }, balance: { /** - * Fetch Balance - * - * Fetch the available balance on your integration + * Fetch Balance + * + * Fetch the available balance on your integration */ - fetch: (...init: InitArg, false>) => - balance_fetch(client, ...init), + fetch: (...init: InitArg, false>) => balance_fetch(client, ...init), /** - * Balance Ledger - * - * Fetch all pay-ins and pay-outs that occured on your integration + * Balance Ledger + * + * Fetch all pay-ins and pay-outs that occured on your integration */ - ledger: (...init: InitArg, false>) => - balance_ledger(client, ...init), + ledger: (...init: InitArg, false>) => balance_ledger(client, ...init), }, bank: { /** - * List Banks - * - * Get a list of all supported banks and their properties + * List Banks + * + * Get a list of all supported banks and their properties */ - list: (...init: InitArg, false>) => - bank_list(client, ...init), + list: (...init: InitArg, false>) => bank_list(client, ...init), /** - * Resolve Account Number - * - * Resolve an account number to confirm the name associated with it + * Resolve Account Number + * + * Resolve an account number to confirm the name associated with it */ - resolveAccountNumber: ( - ...init: InitArg, false> - ) => bank_resolveAccountNumber(client, ...init), + resolveAccountNumber: (...init: InitArg, false>) => bank_resolveAccountNumber(client, ...init), /** - * Validate Bank Account - * - * Confirm the authenticity of a customer's account number before sending money + * Validate Bank Account + * + * Confirm the authenticity of a customer's account number before sending money */ - validateAccountNumber: ( - ...init: InitArg, false> - ) => bank_validateAccountNumber(client, ...init), + validateAccountNumber: (...init: InitArg, false>) => bank_validateAccountNumber(client, ...init), }, bulkCharge: { /** - * List Charges in a Batch - * - * This endpoint retrieves the charges associated with a specified batch code + * List Charges in a Batch + * + * This endpoint retrieves the charges associated with a specified batch code */ - charges: ( - id_or_code: string, - ...init: InitArg, true> - ) => bulkCharge_charges(client, id_or_code, ...init), + charges: (id_or_code: string, ...init: InitArg, true>) => bulkCharge_charges(client, id_or_code, ...init), /** * Fetch Bulk Charge Batch * * This endpoint retrieves a specific batch code. It also returns useful information on its progress by way of the `total_charges` and `pending_charges` attributes. */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => bulkCharge_fetch(client, id_or_code, ...init), + fetch: (id_or_code: string, ...init: InitArg, true>) => bulkCharge_fetch(client, id_or_code, ...init), /** - * Initiate Bulk Charge - * - * Charge multiple customers in batches + * Initiate Bulk Charge + * + * Charge multiple customers in batches */ - initiate: (...init: InitArg, false>) => - bulkCharge_initiate(client, ...init), + initiate: (...init: InitArg, false>) => bulkCharge_initiate(client, ...init), /** - * List Bulk Charge Batches - * - * List all bulk charge batches. + * List Bulk Charge Batches + * + * List all bulk charge batches. */ - list: (...init: InitArg, false>) => - bulkCharge_list(client, ...init), + list: (...init: InitArg, false>) => bulkCharge_list(client, ...init), /** - * Pause Bulk Charge Batch - * - * Pause the processing of a charge batch + * Pause Bulk Charge Batch + * + * Pause the processing of a charge batch */ - pause: ( - code: string, - ...init: InitArg, true> - ) => bulkCharge_pause(client, code, ...init), + pause: (code: string, ...init: InitArg, true>) => bulkCharge_pause(client, code, ...init), /** - * Resume Bulk Charge Batch - * - * Resume the processing of a previously paused charge batch + * Resume Bulk Charge Batch + * + * Resume the processing of a previously paused charge batch */ - resume: ( - code: string, - ...init: InitArg, true> - ) => bulkCharge_resume(client, code, ...init), + resume: (code: string, ...init: InitArg, true>) => bulkCharge_resume(client, code, ...init), }, capitecPay: { /** - * Requery Transaction - * - * Check the status of a charge made with Capitec Pay. This endpoint should be used from your frontend application as it requires the use of your public key for request authorization. + * Requery Transaction + * + * Check the status of a charge made with Capitec Pay. This endpoint should be used from your frontend application as it requires the use of your public key for request authorization. */ - requery: ( - ref: string, - ...init: InitArg, true> - ) => capitecPay_requery(client, ref, ...init), + requery: (ref: string, ...init: InitArg, true>) => capitecPay_requery(client, ref, ...init), }, charge: { /** - * Check pending charge - * - * When you get `pending` as a charge status or if there was an exception when calling any of the `/charge` endpoints, wait 10 seconds or more, then make a check to see if its status has changed. Don't call too early as you may get a lot more pending than you should. + * Check pending charge + * + * When you get `pending` as a charge status or if there was an exception when calling any of the `/charge` endpoints, wait 10 seconds or more, then make a check to see if its status has changed. Don't call too early as you may get a lot more pending than you should. */ - check: ( - reference: string, - ...init: InitArg, true> - ) => charge_check(client, reference, ...init), + check: (reference: string, ...init: InitArg, true>) => charge_check(client, reference, ...init), /** - * Create Charge - * - * Initiate a payment by integrating the payment channel of your choice. + * Create Charge + * + * Initiate a payment by integrating the payment channel of your choice. */ - create: (...init: InitArg, false>) => - charge_create(client, ...init), + create: (...init: InitArg, false>) => charge_create(client, ...init), /** - * Submit Address - * - * Send the details of the customer's address for address verification + * Submit Address + * + * Send the details of the customer's address for address verification */ - submitAddress: ( - ...init: InitArg, false> - ) => charge_submitAddress(client, ...init), + submitAddress: (...init: InitArg, false>) => charge_submitAddress(client, ...init), /** - * Submit Birthday - * - * Submit the customer's birthday when requested + * Submit Birthday + * + * Submit the customer's birthday when requested */ - submitBirthday: ( - ...init: InitArg, false> - ) => charge_submitBirthday(client, ...init), + submitBirthday: (...init: InitArg, false>) => charge_submitBirthday(client, ...init), /** - * Submit OTP - * - * Submit OTP to complete a charge + * Submit OTP + * + * Submit OTP to complete a charge */ - submitOtp: ( - ...init: InitArg, false> - ) => charge_submitOtp(client, ...init), + submitOtp: (...init: InitArg, false>) => charge_submitOtp(client, ...init), /** - * Submit Phone - * - * Submit phone number when requested + * Submit Phone + * + * Submit phone number when requested */ - submitPhone: ( - ...init: InitArg, false> - ) => charge_submitPhone(client, ...init), + submitPhone: (...init: InitArg, false>) => charge_submitPhone(client, ...init), /** - * Submit PIN - * - * Submit PIN to continue a charge + * Submit PIN + * + * Submit PIN to continue a charge */ - submitPin: ( - ...init: InitArg, false> - ) => charge_submitPin(client, ...init), + submitPin: (...init: InitArg, false>) => charge_submitPin(client, ...init), }, customer: { /** - * Create Customer - * - * Create a customer on your integration - */ - create: (...init: InitArg, false>) => - customer_create(client, ...init), - /** - * Deactivate Authorization - * - * Deactivate an authorization for any payment channel. - */ - deactivateAuthorization: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => customer_deactivateAuthorization(client, ...init), - /** - * Direct Debit Activation Charge - * - * Trigger an activation charge on an inactive mandate on behalf of your customer - */ - directDebitActivationCharge: ( - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => customer_directDebitActivationCharge(client, id, ...init), - /** - * Fetch Customer - * - * Get details of a customer on your integration. - */ - fetch: ( - email_or_code: string, - ...init: InitArg, true> - ) => customer_fetch(client, email_or_code, ...init), - /** - * Fetch Mandate Authorizations - * - * Get the list of direct debit mandates associated with a customer - */ - fetchMandateAuthorizations: ( - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => customer_fetchMandateAuthorizations(client, id, ...init), - /** - * Initialize Authorization - * - * Initiate a request to create a reusable authorization code for recurring transactions - */ - initializeAuthorization: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => customer_initializeAuthorization(client, ...init), - /** - * Initialize Direct Debit - * - * Initialize the process of linking an account to a customer for Direct Debit transactions - */ - initializeDirectDebit: ( - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => customer_initializeDirectDebit(client, id, ...init), - /** - * List Customers - * - * List customers available on your integration - */ - list: (...init: InitArg, false>) => - customer_list(client, ...init), - /** - * Set Risk Action - * - * Set customer's risk action by whitelisting or blacklisting the customer - */ - riskAction: ( - ...init: InitArg, false> - ) => customer_riskAction(client, ...init), - /** - * Update Customer - * - * Update a customer's details on your integration - */ - update: ( - email_or_code: string, - ...init: InitArg, true> - ) => customer_update(client, email_or_code, ...init), - /** - * Validate Customer - * - * Validate a customer's identity - */ - validate: ( - customer_code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => customer_validate(client, customer_code, ...init), - /** - * Verify Authorization - * - * Check the status of an authorization request - */ - verifyAuthorization: ( - reference: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => customer_verifyAuthorization(client, reference, ...init), + * Create Customer + * + * Create a customer on your integration + */ + create: (...init: InitArg, false>) => customer_create(client, ...init), + /** + * Deactivate Authorization + * + * Deactivate an authorization for any payment channel. + */ + deactivateAuthorization: (...init: InitArg, false>) => customer_deactivateAuthorization(client, ...init), + /** + * Direct Debit Activation Charge + * + * Trigger an activation charge on an inactive mandate on behalf of your customer + */ + directDebitActivationCharge: (id: number, ...init: InitArg, true>) => customer_directDebitActivationCharge(client, id, ...init), + /** + * Fetch Customer + * + * Get details of a customer on your integration. + */ + fetch: (email_or_code: string, ...init: InitArg, true>) => customer_fetch(client, email_or_code, ...init), + /** + * Fetch Mandate Authorizations + * + * Get the list of direct debit mandates associated with a customer + */ + fetchMandateAuthorizations: (id: number, ...init: InitArg, true>) => customer_fetchMandateAuthorizations(client, id, ...init), + /** + * Initialize Authorization + * + * Initiate a request to create a reusable authorization code for recurring transactions + */ + initializeAuthorization: (...init: InitArg, false>) => customer_initializeAuthorization(client, ...init), + /** + * Initialize Direct Debit + * + * Initialize the process of linking an account to a customer for Direct Debit transactions + */ + initializeDirectDebit: (id: number, ...init: InitArg, true>) => customer_initializeDirectDebit(client, id, ...init), + /** + * List Customers + * + * List customers available on your integration + */ + list: (...init: InitArg, false>) => customer_list(client, ...init), + /** + * Set Risk Action + * + * Set customer's risk action by whitelisting or blacklisting the customer + */ + riskAction: (...init: InitArg, false>) => customer_riskAction(client, ...init), + /** + * Update Customer + * + * Update a customer's details on your integration + */ + update: (email_or_code: string, ...init: InitArg, true>) => customer_update(client, email_or_code, ...init), + /** + * Validate Customer + * + * Validate a customer's identity + */ + validate: (customer_code: string, ...init: InitArg, true>) => customer_validate(client, customer_code, ...init), + /** + * Verify Authorization + * + * Check the status of an authorization request + */ + verifyAuthorization: (reference: string, ...init: InitArg, true>) => customer_verifyAuthorization(client, reference, ...init), }, dedicatedAccount: { /** - * Split Dedicated Account Transaction - * - * Split a dedicated virtual account transaction with one or more accounts + * Split Dedicated Account Transaction + * + * Split a dedicated virtual account transaction with one or more accounts */ - addSplit: ( - ...init: InitArg, false> - ) => dedicatedAccount_addSplit(client, ...init), + addSplit: (...init: InitArg, false>) => dedicatedAccount_addSplit(client, ...init), /** - * Assign Dedicated Account - * - * With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. + * Assign Dedicated Account + * + * With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. */ - assign: ( - ...init: InitArg, false> - ) => dedicatedAccount_assign(client, ...init), + assign: (...init: InitArg, false>) => dedicatedAccount_assign(client, ...init), /** - * Fetch Bank Providers - * - * Get available bank providers for a dedicated virtual account + * Fetch Bank Providers + * + * Get available bank providers for a dedicated virtual account */ - availableProviders: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => dedicatedAccount_availableProviders(client, ...init), + availableProviders: (...init: InitArg, false>) => dedicatedAccount_availableProviders(client, ...init), /** - * Create Dedicated Account - * - * Create a dedicated virtual account for an existing customer + * Create Dedicated Account + * + * Create a dedicated virtual account for an existing customer */ - create: (...init: InitArg, false>) => - dedicatedAccount_create(client, ...init), + create: (...init: InitArg, false>) => dedicatedAccount_create(client, ...init), /** - * Deactivate Dedicated Account - * - * Deactivate a dedicated virtual account on your integration. + * Deactivate Dedicated Account + * + * Deactivate a dedicated virtual account on your integration. */ - deactivate: ( - id: string, - ...init: InitArg, true> - ) => dedicatedAccount_deactivate(client, id, ...init), + deactivate: (id: string, ...init: InitArg, true>) => dedicatedAccount_deactivate(client, id, ...init), /** - * Fetch Dedicated Account - * - * Get details of a dedicated virtual account on your integration. + * Fetch Dedicated Account + * + * Get details of a dedicated virtual account on your integration. */ - fetch: ( - id: string, - ...init: InitArg, true> - ) => dedicatedAccount_fetch(client, id, ...init), + fetch: (id: string, ...init: InitArg, true>) => dedicatedAccount_fetch(client, id, ...init), /** - * List Dedicated Accounts - * - * List dedicated virtual accounts available on your integration. + * List Dedicated Accounts + * + * List dedicated virtual accounts available on your integration. */ - list: (...init: InitArg, false>) => - dedicatedAccount_list(client, ...init), + list: (...init: InitArg, false>) => dedicatedAccount_list(client, ...init), /** - * Remove Split from Dedicated Account - * - * If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint + * Remove Split from Dedicated Account + * + * If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint */ - removeSplit: ( - ...init: InitArg, false> - ) => dedicatedAccount_removeSplit(client, ...init), + removeSplit: (...init: InitArg, false>) => dedicatedAccount_removeSplit(client, ...init), /** - * Requery Dedicated Account - * - * Requery Dedicated Virtual Account for new transactions + * Requery Dedicated Account + * + * Requery Dedicated Virtual Account for new transactions */ - requery: ( - ...init: InitArg, false> - ) => dedicatedAccount_requery(client, ...init), + requery: (...init: InitArg, false>) => dedicatedAccount_requery(client, ...init), }, directdebit: { /** - * List Mandate Authorizations - * - * Get a list of all the direct debit mandates on your integration + * List Mandate Authorizations + * + * Get a list of all the direct debit mandates on your integration */ - listMandateAuthorizations: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => directdebit_listMandateAuthorizations(client, ...init), + listMandateAuthorizations: (...init: InitArg, false>) => directdebit_listMandateAuthorizations(client, ...init), /** - * Trigger Activation Charge - * - * Trigger activation charge for specified customers + * Trigger Activation Charge + * + * Trigger activation charge for specified customers */ - triggerActivationCharge: ( - ...init: InitArg, false> - ) => directdebit_triggerActivationCharge(client, ...init), + triggerActivationCharge: (...init: InitArg, false>) => directdebit_triggerActivationCharge(client, ...init), }, dispute: { /** - * Export Disputes - * - * Export the disputes available on your integration - */ - download: (...init: InitArg, false>) => - dispute_download(client, ...init), - /** - * Add Evidence - * - * Provide evidence for a dispute - */ - evidence: ( - id: number, - ...init: InitArg, true> - ) => dispute_evidence(client, id, ...init), - /** - * Fetch Dispute - * - * Fetch a transaction dispute - */ - fetch: ( - id: number, - ...init: InitArg, true> - ) => dispute_fetch(client, id, ...init), - /** - * List Disputes - * - * List transaction disputes filed by customers - */ - list: (...init: InitArg, false>) => - dispute_list(client, ...init), - /** - * Resolve Dispute - * - * Resolve a transaction dispute - */ - resolve: ( - id: number, - ...init: InitArg, true> - ) => dispute_resolve(client, id, ...init), - /** - * List Transaction Disputes - * - * List all disputes filed for a transaction - */ - transaction: ( - id: number, - ...init: InitArg, true> - ) => dispute_transaction(client, id, ...init), - /** - * Update Dispute - * - * Update a transaction dispute - */ - update: ( - id: number, - ...init: InitArg, true> - ) => dispute_update(client, id, ...init), - /** - * Fetch Upload URL - * - * Get the URL to upload a dispute evidence - */ - uploadUrl: ( - id: number, - ...init: InitArg, true> - ) => dispute_uploadUrl(client, id, ...init), + * Export Disputes + * + * Export the disputes available on your integration + */ + download: (...init: InitArg, false>) => dispute_download(client, ...init), + /** + * Add Evidence + * + * Provide evidence for a dispute + */ + evidence: (id: number, ...init: InitArg, true>) => dispute_evidence(client, id, ...init), + /** + * Fetch Dispute + * + * Fetch a transaction dispute + */ + fetch: (id: number, ...init: InitArg, true>) => dispute_fetch(client, id, ...init), + /** + * List Disputes + * + * List transaction disputes filed by customers + */ + list: (...init: InitArg, false>) => dispute_list(client, ...init), + /** + * Resolve Dispute + * + * Resolve a transaction dispute + */ + resolve: (id: number, ...init: InitArg, true>) => dispute_resolve(client, id, ...init), + /** + * List Transaction Disputes + * + * List all disputes filed for a transaction + */ + transaction: (id: number, ...init: InitArg, true>) => dispute_transaction(client, id, ...init), + /** + * Update Dispute + * + * Update a transaction dispute + */ + update: (id: number, ...init: InitArg, true>) => dispute_update(client, id, ...init), + /** + * Fetch Upload URL + * + * Get the URL to upload a dispute evidence + */ + uploadUrl: (id: number, ...init: InitArg, true>) => dispute_uploadUrl(client, id, ...init), }, integration: { /** - * Fetch Payment Session Timeout - * - * Fetch the session timeout of a transaction - */ - fetchPaymentSessionTimeout: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => integration_fetchPaymentSessionTimeout(client, ...init), - /** - * Update Payment Session Timeout - * - * Update the session timeout of a transaction - */ - updatePaymentSessionTimeout: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => integration_updatePaymentSessionTimeout(client, ...init), + * Fetch Payment Session Timeout + * + * Fetch the session timeout of a transaction + */ + fetchPaymentSessionTimeout: (...init: InitArg, false>) => integration_fetchPaymentSessionTimeout(client, ...init), + /** + * Update Payment Session Timeout + * + * Update the session timeout of a transaction + */ + updatePaymentSessionTimeout: (...init: InitArg, false>) => integration_updatePaymentSessionTimeout(client, ...init), }, misc: { /** - * Internal path for schema generation - * - * This path is internal and used to ensure that schemas like WebhookEvent are considered 'used' for SDK generation and linting. + * Internal path for schema generation + * + * This path is internal and used to ensure that schemas like WebhookEvent are considered 'used' for SDK generation and linting. */ - generateWebhookEventTypes: ( - ...init: InitArg, false> - ) => misc_generateWebhookEventTypes(client, ...init), + generateWebhookEventTypes: (...init: InitArg, false>) => misc_generateWebhookEventTypes(client, ...init), }, miscellaneous: { /** - * List States (AVS) - * - * Get a list of states for a country for address verification + * List States (AVS) + * + * Get a list of states for a country for address verification */ - avs: ( - ...init: InitArg, false> - ) => miscellaneous_avs(client, ...init), + avs: (...init: InitArg, false>) => miscellaneous_avs(client, ...init), /** - * List Countries - * - * List all supported countries on Paystack + * List Countries + * + * List all supported countries on Paystack */ - listCountries: (...init: InitArg, false>) => - miscellaneous_listCountries(client, ...init), + listCountries: (...init: InitArg, false>) => miscellaneous_listCountries(client, ...init), /** - * Resolve Card BIN - * - * Get the details of a card BIN + * Resolve Card BIN + * + * Get the details of a card BIN */ - resolveCardBin: ( - bin: string, - ...init: InitArg, true> - ) => miscellaneous_resolveCardBin(client, bin, ...init), + resolveCardBin: (bin: string, ...init: InitArg, true>) => miscellaneous_resolveCardBin(client, bin, ...init), }, order: { /** - * Create Order - * - * Create an order for selected items + * Create Order + * + * Create an order for selected items */ - create: (...init: InitArg, false>) => - order_create(client, ...init), + create: (...init: InitArg, false>) => order_create(client, ...init), /** - * Fetch Order - * - * Fetch the details of a previously created order + * Fetch Order + * + * Fetch the details of a previously created order */ - fetch: (id: number, ...init: InitArg, true>) => - order_fetch(client, id, ...init), + fetch: (id: number, ...init: InitArg, true>) => order_fetch(client, id, ...init), /** - * List Orders - * - * List the previously created orders + * List Orders + * + * List the previously created orders */ - list: (...init: InitArg, false>) => - order_list(client, ...init), + list: (...init: InitArg, false>) => order_list(client, ...init), /** - * Fetch Product Orders - * - * Fetch all orders for a particular product + * Fetch Product Orders + * + * Fetch all orders for a particular product */ - product: ( - id: number, - ...init: InitArg, true> - ) => order_product(client, id, ...init), + product: (id: number, ...init: InitArg, true>) => order_product(client, id, ...init), /** - * Validate Order - * - * Validate a pay for me order + * Validate Order + * + * Validate a pay for me order */ - validate: ( - code: string, - ...init: InitArg, true> - ) => order_validate(client, code, ...init), + validate: (code: string, ...init: InitArg, true>) => order_validate(client, code, ...init), }, page: { /** @@ -4123,54 +3069,37 @@ way of the `total_charges` and `pending_charges` attributes. * Add products to a previously created payment page. You can only add products to pages that was created with a `product` type. */ - addProducts: ( - id: string, - ...init: InitArg, true> - ) => page_addProducts(client, id, ...init), - /** - * Check Slug Availability - * - * Check if a custom slug is available for use when creating a payment page - */ - checkSlugAvailability: ( - slug: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => page_checkSlugAvailability(client, slug, ...init), - /** - * Create Page - * - * Create a webpage to receive payments - */ - create: (...init: InitArg, false>) => - page_create(client, ...init), - /** - * Fetch Page - * - * Get a previously created payment page - */ - fetch: ( - id_or_slug: string, - ...init: InitArg, true> - ) => page_fetch(client, id_or_slug, ...init), - /** - * List Pages - * - * List all previously created payment pages - */ - list: (...init: InitArg, false>) => - page_list(client, ...init), - /** - * Update Page - * - * Update a previously created payment page - */ - update: ( - id_or_slug: string, - ...init: InitArg, true> - ) => page_update(client, id_or_slug, ...init), + addProducts: (id: string, ...init: InitArg, true>) => page_addProducts(client, id, ...init), + /** + * Check Slug Availability + * + * Check if a custom slug is available for use when creating a payment page + */ + checkSlugAvailability: (slug: string, ...init: InitArg, true>) => page_checkSlugAvailability(client, slug, ...init), + /** + * Create Page + * + * Create a webpage to receive payments + */ + create: (...init: InitArg, false>) => page_create(client, ...init), + /** + * Fetch Page + * + * Get a previously created payment page + */ + fetch: (id_or_slug: string, ...init: InitArg, true>) => page_fetch(client, id_or_slug, ...init), + /** + * List Pages + * + * List all previously created payment pages + */ + list: (...init: InitArg, false>) => page_list(client, ...init), + /** + * Update Page + * + * Update a previously created payment page + */ + update: (id_or_slug: string, ...init: InitArg, true>) => page_update(client, id_or_slug, ...init), }, paymentRequest: { /** @@ -4179,690 +3108,491 @@ that was created with a `product` type. * Archive a payment request to clean up your records. An archived payment request cannot be verified and will not be returned when listing all previously created payment requests. */ - archive: ( - id: number, - ...init: InitArg, true> - ) => paymentRequest_archive(client, id, ...init), - /** - * Create Payment Request - * - * Create a new payment request by issuing an invoice to a customer - */ - create: (...init: InitArg, false>) => - paymentRequest_create(client, ...init), - /** - * Fetch Payment Request - * - * Fetch a previously created payment request - */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => paymentRequest_fetch(client, id_or_code, ...init), - /** - * Finalize Payment Request - * - * Finalise the creation of a draft payment request for a customer - */ - finalize: ( - id: number, - ...init: InitArg, true> - ) => paymentRequest_finalize(client, id, ...init), - /** - * List Payment Request - * - * List all previously created payment requests to your customers - */ - list: (...init: InitArg, false>) => - paymentRequest_list(client, ...init), - /** - * Send Notification - * - * Trigger an email reminder to a customer for a previously created payment request - */ - notify: ( - id: number, - ...init: InitArg, true> - ) => paymentRequest_notify(client, id, ...init), - /** - * Payment Request Total - * - * Get the metric of all pending and successful payment requests - */ - totals: ( - ...init: InitArg, false> - ) => paymentRequest_totals(client, ...init), - /** - * Update Payment Request - * - * Update a previously created payment request - */ - update: ( - id_or_code: string, - ...init: InitArg, true> - ) => paymentRequest_update(client, id_or_code, ...init), - /** - * Verify Payment Request - * - * Verify the status of a previously created payment request - */ - verify: ( - id: number, - ...init: InitArg, true> - ) => paymentRequest_verify(client, id, ...init), + archive: (id: number, ...init: InitArg, true>) => paymentRequest_archive(client, id, ...init), + /** + * Create Payment Request + * + * Create a new payment request by issuing an invoice to a customer + */ + create: (...init: InitArg, false>) => paymentRequest_create(client, ...init), + /** + * Fetch Payment Request + * + * Fetch a previously created payment request + */ + fetch: (id_or_code: string, ...init: InitArg, true>) => paymentRequest_fetch(client, id_or_code, ...init), + /** + * Finalize Payment Request + * + * Finalise the creation of a draft payment request for a customer + */ + finalize: (id: number, ...init: InitArg, true>) => paymentRequest_finalize(client, id, ...init), + /** + * List Payment Request + * + * List all previously created payment requests to your customers + */ + list: (...init: InitArg, false>) => paymentRequest_list(client, ...init), + /** + * Send Notification + * + * Trigger an email reminder to a customer for a previously created payment request + */ + notify: (id: number, ...init: InitArg, true>) => paymentRequest_notify(client, id, ...init), + /** + * Payment Request Total + * + * Get the metric of all pending and successful payment requests + */ + totals: (...init: InitArg, false>) => paymentRequest_totals(client, ...init), + /** + * Update Payment Request + * + * Update a previously created payment request + */ + update: (id_or_code: string, ...init: InitArg, true>) => paymentRequest_update(client, id_or_code, ...init), + /** + * Verify Payment Request + * + * Verify the status of a previously created payment request + */ + verify: (id: number, ...init: InitArg, true>) => paymentRequest_verify(client, id, ...init), }, plan: { /** - * Create Plan - * - * Create a plan for recurring payments + * Create Plan + * + * Create a plan for recurring payments */ - create: (...init: InitArg, false>) => - plan_create(client, ...init), + create: (...init: InitArg, false>) => plan_create(client, ...init), /** - * Fetch Plan - * - * Get the details of a payment plan + * Fetch Plan + * + * Get the details of a payment plan */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => plan_fetch(client, id_or_code, ...init), + fetch: (id_or_code: string, ...init: InitArg, true>) => plan_fetch(client, id_or_code, ...init), /** - * List Plans - * - * List all recurring payment plans + * List Plans + * + * List all recurring payment plans */ - list: (...init: InitArg, false>) => - plan_list(client, ...init), + list: (...init: InitArg, false>) => plan_list(client, ...init), /** - * Update Plan - * - * Update a plan details on your integration + * Update Plan + * + * Update a plan details on your integration */ - update: ( - id_or_code: string, - ...init: InitArg, true> - ) => plan_update(client, id_or_code, ...init), + update: (id_or_code: string, ...init: InitArg, true>) => plan_update(client, id_or_code, ...init), }, preauthorization: { /** - * Capture Preauthorization - * - * Charge a preauthorized transaction upon service delivery - */ - capture: ( - ...init: InitArg, false> - ) => preauthorization_capture(client, ...init), - /** - * Initialize Preauthorization - * - * Initialize a preauthorization transaction for a new customer - */ - initialize: ( - ...init: InitArg, false> - ) => preauthorization_initialize(client, ...init), - /** - * List Preauthorizations - * - * List preauthorizations carried out on your integration - */ - list: (...init: InitArg, false>) => - preauthorization_list(client, ...init), - /** - * Release Preauthorization - * - * For when a customer cancels an order or you want to release the hold from their card. - */ - release: ( - ...init: InitArg, false> - ) => preauthorization_release(client, ...init), - /** - * Reserve Preauthorization - * - * Hold an amount using an existing customer's authorization that's marked reusable. - */ - reserve_authorization: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => preauthorization_reserve_authorization(client, ...init), - /** - * Verify Preauthorization - * - * Fetch and confirm the status of a preauthorized transaction. - */ - verify: ( - reference: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => preauthorization_verify(client, reference, ...init), + * Capture Preauthorization + * + * Charge a preauthorized transaction upon service delivery + */ + capture: (...init: InitArg, false>) => preauthorization_capture(client, ...init), + /** + * Initialize Preauthorization + * + * Initialize a preauthorization transaction for a new customer + */ + initialize: (...init: InitArg, false>) => preauthorization_initialize(client, ...init), + /** + * List Preauthorizations + * + * List preauthorizations carried out on your integration + */ + list: (...init: InitArg, false>) => preauthorization_list(client, ...init), + /** + * Release Preauthorization + * + * For when a customer cancels an order or you want to release the hold from their card. + */ + release: (...init: InitArg, false>) => preauthorization_release(client, ...init), + /** + * Reserve Preauthorization + * + * Hold an amount using an existing customer's authorization that's marked reusable. + */ + reserve_authorization: (...init: InitArg, false>) => preauthorization_reserve_authorization(client, ...init), + /** + * Verify Preauthorization + * + * Fetch and confirm the status of a preauthorized transaction. + */ + verify: (reference: string, ...init: InitArg, true>) => preauthorization_verify(client, reference, ...init), }, product: { /** - * Create Product - * - * Create a new product on your integration + * Create Product + * + * Create a new product on your integration */ - create: (...init: InitArg, false>) => - product_create(client, ...init), + create: (...init: InitArg, false>) => product_create(client, ...init), /** - * Delete Product - * - * Delete a previously created product + * Delete Product + * + * Delete a previously created product */ - delete: ( - id: number, - ...init: InitArg, true> - ) => product_delete(client, id, ...init), + delete: (id: number, ...init: InitArg, true>) => product_delete(client, id, ...init), /** - * Fetch Product - * - * Fetch a previously created product + * Fetch Product + * + * Fetch a previously created product */ - fetch: ( - id: number, - ...init: InitArg, true> - ) => product_fetch(client, id, ...init), + fetch: (id: number, ...init: InitArg, true>) => product_fetch(client, id, ...init), /** - * List Products - * - * List all previously created products + * List Products + * + * List all previously created products */ - list: (...init: InitArg, false>) => - product_list(client, ...init), + list: (...init: InitArg, false>) => product_list(client, ...init), /** - * Update product - * - * Update a previously created product + * Update product + * + * Update a previously created product */ - update: ( - id: number, - ...init: InitArg, true> - ) => product_update(client, id, ...init), + update: (id: number, ...init: InitArg, true>) => product_update(client, id, ...init), }, refund: { /** - * Create Refund - * - * Initiate a refund for a previously completed transaction + * Create Refund + * + * Initiate a refund for a previously completed transaction */ - create: (...init: InitArg, false>) => - refund_create(client, ...init), + create: (...init: InitArg, false>) => refund_create(client, ...init), /** - * Fetch Refund - * - * Get a previously created refund + * Fetch Refund + * + * Get a previously created refund */ - fetch: ( - id: number, - ...init: InitArg, true> - ) => refund_fetch(client, id, ...init), + fetch: (id: number, ...init: InitArg, true>) => refund_fetch(client, id, ...init), /** - * List Refunds - * - * List previously created refunds + * List Refunds + * + * List previously created refunds */ - list: (...init: InitArg, false>) => - refund_list(client, ...init), + list: (...init: InitArg, false>) => refund_list(client, ...init), /** - * Retry Refund - * - * Retry a refund with a `needs-attention` status by providing the bank account details of a customer. + * Retry Refund + * + * Retry a refund with a `needs-attention` status by providing the bank account details of a customer. */ - retry: ( - id: number, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => refund_retry(client, id, ...init), + retry: (id: number, ...init: InitArg, true>) => refund_retry(client, id, ...init), }, settlements: { /** - * List Settlements - * - * List settlements made to your settlement accounts + * List Settlements + * + * List settlements made to your settlement accounts */ - fetch: (...init: InitArg, false>) => - settlements_fetch(client, ...init), + fetch: (...init: InitArg, false>) => settlements_fetch(client, ...init), /** - * Fetch Settlement Transactions - * - * Get the transactions that make up a particular settlement + * Fetch Settlement Transactions + * + * Get the transactions that make up a particular settlement */ - transaction: ( - id: number, - ...init: InitArg, true> - ) => settlements_transaction(client, id, ...init), + transaction: (id: number, ...init: InitArg, true>) => settlements_transaction(client, id, ...init), }, split: { /** - * Add Subaccount to Split - * - * Add a subaccount to a split configuration, or update the share of an existing subaccount + * Add Subaccount to Split + * + * Add a subaccount to a split configuration, or update the share of an existing subaccount */ - addSubaccount: ( - id: string, - ...init: InitArg, true> - ) => split_addSubaccount(client, id, ...init), + addSubaccount: (id: string, ...init: InitArg, true>) => split_addSubaccount(client, id, ...init), /** - * Create Split - * - * Create a split configuration for transactions + * Create Split + * + * Create a split configuration for transactions */ - create: (...init: InitArg, false>) => - split_create(client, ...init), + create: (...init: InitArg, false>) => split_create(client, ...init), /** - * Fetch Split - * - * Get details of a split configuration for a transaction + * Fetch Split + * + * Get details of a split configuration for a transaction */ - fetch: (id: string, ...init: InitArg, true>) => - split_fetch(client, id, ...init), + fetch: (id: string, ...init: InitArg, true>) => split_fetch(client, id, ...init), /** - * List Splits - * - * List the transaction splits available on your integration + * List Splits + * + * List the transaction splits available on your integration */ - list: (...init: InitArg, false>) => - split_list(client, ...init), + list: (...init: InitArg, false>) => split_list(client, ...init), /** - * Remove Subaccount from split - * - * Remove a subaccount from a split configuration + * Remove Subaccount from split + * + * Remove a subaccount from a split configuration */ - removeSubaccount: ( - id: string, - ...init: InitArg, true> - ) => split_removeSubaccount(client, id, ...init), + removeSubaccount: (id: string, ...init: InitArg, true>) => split_removeSubaccount(client, id, ...init), /** - * Update Split - * - * Update a split configuration for transactions + * Update Split + * + * Update a split configuration for transactions */ - update: ( - id: string, - ...init: InitArg, true> - ) => split_update(client, id, ...init), + update: (id: string, ...init: InitArg, true>) => split_update(client, id, ...init), }, storefront: { /** - * Add Products to Storefront - * - * Add previously created products to a Storefront - */ - addProducts: ( - id: number, - ...init: InitArg, true> - ) => storefront_addProducts(client, id, ...init), - /** - * Create Storefront - * - * Create a digital shop to manage and display your products - */ - create: (...init: InitArg, false>) => - storefront_create(client, ...init), - /** - * Delete Storefront - * - * Delete a previously created Storefront - */ - delete: ( - id: number, - ...init: InitArg, true> - ) => storefront_delete(client, id, ...init), - /** - * Duplicate Storefront - * - * Duplicate a previously created Storefront - */ - duplicate: ( - id: number, - ...init: InitArg, true> - ) => storefront_duplicate(client, id, ...init), - /** - * Fetch Storefront - * - * Get the details of a previously created Storefront - */ - fetch: ( - id: number, - ...init: InitArg, true> - ) => storefront_fetch(client, id, ...init), - /** - * Fetch Storefront Orders - * - * Fetch all orders in your Storefront - */ - fetchOrders: ( - id: number, - ...init: InitArg, true> - ) => storefront_fetchOrders(client, id, ...init), - /** - * List Storefronts - * - * List the storefronts you previously created - */ - list: (...init: InitArg, false>) => - storefront_list(client, ...init), - /** - * List Storefront Products - * - * List the products in a Storefront - */ - listProducts: ( - id: number, - ...init: InitArg, true> - ) => storefront_listProducts(client, id, ...init), - /** - * Publish Storefront - * - * Make your Storefront publicly available - */ - publish: ( - id: number, - ...init: InitArg, true> - ) => storefront_publish(client, id, ...init), - /** - * Update Storefront - * - * Update the details of a previously created Storefront - */ - update: ( - id: number, - ...init: InitArg, true> - ) => storefront_update(client, id, ...init), - /** - * Verify Storefront Slug - * - * Verify the availability of a slug before using it for your Storefront - */ - verifySlug: ( - slug: string, - ...init: InitArg, true> - ) => storefront_verifySlug(client, slug, ...init), + * Add Products to Storefront + * + * Add previously created products to a Storefront + */ + addProducts: (id: number, ...init: InitArg, true>) => storefront_addProducts(client, id, ...init), + /** + * Create Storefront + * + * Create a digital shop to manage and display your products + */ + create: (...init: InitArg, false>) => storefront_create(client, ...init), + /** + * Delete Storefront + * + * Delete a previously created Storefront + */ + delete: (id: number, ...init: InitArg, true>) => storefront_delete(client, id, ...init), + /** + * Duplicate Storefront + * + * Duplicate a previously created Storefront + */ + duplicate: (id: number, ...init: InitArg, true>) => storefront_duplicate(client, id, ...init), + /** + * Fetch Storefront + * + * Get the details of a previously created Storefront + */ + fetch: (id: number, ...init: InitArg, true>) => storefront_fetch(client, id, ...init), + /** + * Fetch Storefront Orders + * + * Fetch all orders in your Storefront + */ + fetchOrders: (id: number, ...init: InitArg, true>) => storefront_fetchOrders(client, id, ...init), + /** + * List Storefronts + * + * List the storefronts you previously created + */ + list: (...init: InitArg, false>) => storefront_list(client, ...init), + /** + * List Storefront Products + * + * List the products in a Storefront + */ + listProducts: (id: number, ...init: InitArg, true>) => storefront_listProducts(client, id, ...init), + /** + * Publish Storefront + * + * Make your Storefront publicly available + */ + publish: (id: number, ...init: InitArg, true>) => storefront_publish(client, id, ...init), + /** + * Update Storefront + * + * Update the details of a previously created Storefront + */ + update: (id: number, ...init: InitArg, true>) => storefront_update(client, id, ...init), + /** + * Verify Storefront Slug + * + * Verify the availability of a slug before using it for your Storefront + */ + verifySlug: (slug: string, ...init: InitArg, true>) => storefront_verifySlug(client, slug, ...init), }, subaccount: { /** - * Create Subaccount - * - * Create a subacount for a partner + * Create Subaccount + * + * Create a subacount for a partner */ - create: (...init: InitArg, false>) => - subaccount_create(client, ...init), + create: (...init: InitArg, false>) => subaccount_create(client, ...init), /** - * Fetch Subaccount - * - * Get details of a subaccount on your integration + * Fetch Subaccount + * + * Get details of a subaccount on your integration */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => subaccount_fetch(client, id_or_code, ...init), + fetch: (id_or_code: string, ...init: InitArg, true>) => subaccount_fetch(client, id_or_code, ...init), /** - * List Subaccounts - * - * List subaccounts available on your integration + * List Subaccounts + * + * List subaccounts available on your integration */ - list: (...init: InitArg, false>) => - subaccount_list(client, ...init), + list: (...init: InitArg, false>) => subaccount_list(client, ...init), /** - * Update Subaccount - * - * Update a subaccount details on your integration + * Update Subaccount + * + * Update a subaccount details on your integration */ - update: ( - id_or_code: string, - ...init: InitArg, true> - ) => subaccount_update(client, id_or_code, ...init), + update: (id_or_code: string, ...init: InitArg, true>) => subaccount_update(client, id_or_code, ...init), }, subscription: { /** - * Create Subscription - * - * Create a subscription a customer + * Create Subscription + * + * Create a subscription a customer */ - create: (...init: InitArg, false>) => - subscription_create(client, ...init), + create: (...init: InitArg, false>) => subscription_create(client, ...init), /** - * Disable Subscription - * - * Disable a subscription on your integration + * Disable Subscription + * + * Disable a subscription on your integration */ - disable: ( - ...init: InitArg, false> - ) => subscription_disable(client, ...init), + disable: (...init: InitArg, false>) => subscription_disable(client, ...init), /** - * Enable Subscription - * - * Enable a subscription on your integration + * Enable Subscription + * + * Enable a subscription on your integration */ - enable: (...init: InitArg, false>) => - subscription_enable(client, ...init), + enable: (...init: InitArg, false>) => subscription_enable(client, ...init), /** - * Fetch Subscription - * - * Get details of a customer's subscription + * Fetch Subscription + * + * Get details of a customer's subscription */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => subscription_fetch(client, id_or_code, ...init), + fetch: (id_or_code: string, ...init: InitArg, true>) => subscription_fetch(client, id_or_code, ...init), /** - * List Subscriptions - * - * List all subscriptions available on your integration + * List Subscriptions + * + * List all subscriptions available on your integration */ - list: (...init: InitArg, false>) => - subscription_list(client, ...init), + list: (...init: InitArg, false>) => subscription_list(client, ...init), /** - * Send Update Subscription Link - * - * Email a customer a link for updating the card on their subscription + * Send Update Subscription Link + * + * Email a customer a link for updating the card on their subscription */ - manageEmail: ( - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => subscription_manageEmail(client, code, ...init), + manageEmail: (code: string, ...init: InitArg, true>) => subscription_manageEmail(client, code, ...init), /** - * Generate Update Subscription Link - * - * Generate a link for updating the card on a subscription + * Generate Update Subscription Link + * + * Generate a link for updating the card on a subscription */ - manageLink: ( - code: string, - ...init: InitArg, true> - ) => subscription_manageLink(client, code, ...init), + manageLink: (code: string, ...init: InitArg, true>) => subscription_manageLink(client, code, ...init), }, terminal: { /** - * Commission Terminal - * - * Activate your debug device by linking it to your integration - */ - commission: ( - ...init: InitArg, false> - ) => terminal_commission(client, ...init), - /** - * Decommission Terminal - * - * Unlink your debug device from your integration - */ - decommission: ( - ...init: InitArg, false> - ) => terminal_decommission(client, ...init), - /** - * Fetch Terminal - * - * Get the details of a Terminal - */ - fetch: ( - terminal_id: string, - ...init: InitArg, true> - ) => terminal_fetch(client, terminal_id, ...init), - /** - * Fetch Event Status - * - * Check the status of an event sent to the Terminal - */ - fetchEventStatus: ( - terminal_id: string, - event_id: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => terminal_fetchEventStatus(client, terminal_id, event_id, ...init), - /** - * Fetch Terminal Status - * - * Check the availiability of a Terminal before sending an event to it - */ - fetchTerminalStatus: ( - terminal_id: string, - ...init: InitArg, true> - ) => terminal_fetchTerminalStatus(client, terminal_id, ...init), - /** - * List Terminals - * - * List the Terminals available on your integration - */ - list: (...init: InitArg, false>) => - terminal_list(client, ...init), - /** - * Send Event - * - * Send an event from your application to the Paystack Terminal - */ - sendEvent: ( - id: string, - ...init: InitArg, true> - ) => terminal_sendEvent(client, id, ...init), - /** - * Update Terminal - * - * Update the details of a Terminal - */ - update: ( - terminal_id: string, - ...init: InitArg, true> - ) => terminal_update(client, terminal_id, ...init), + * Commission Terminal + * + * Activate your debug device by linking it to your integration + */ + commission: (...init: InitArg, false>) => terminal_commission(client, ...init), + /** + * Decommission Terminal + * + * Unlink your debug device from your integration + */ + decommission: (...init: InitArg, false>) => terminal_decommission(client, ...init), + /** + * Fetch Terminal + * + * Get the details of a Terminal + */ + fetch: (terminal_id: string, ...init: InitArg, true>) => terminal_fetch(client, terminal_id, ...init), + /** + * Fetch Event Status + * + * Check the status of an event sent to the Terminal + */ + fetchEventStatus: (terminal_id: string, event_id: string, ...init: InitArg, true>) => terminal_fetchEventStatus(client, terminal_id, event_id, ...init), + /** + * Fetch Terminal Status + * + * Check the availiability of a Terminal before sending an event to it + */ + fetchTerminalStatus: (terminal_id: string, ...init: InitArg, true>) => terminal_fetchTerminalStatus(client, terminal_id, ...init), + /** + * List Terminals + * + * List the Terminals available on your integration + */ + list: (...init: InitArg, false>) => terminal_list(client, ...init), + /** + * Send Event + * + * Send an event from your application to the Paystack Terminal + */ + sendEvent: (id: string, ...init: InitArg, true>) => terminal_sendEvent(client, id, ...init), + /** + * Update Terminal + * + * Update the details of a Terminal + */ + update: (terminal_id: string, ...init: InitArg, true>) => terminal_update(client, terminal_id, ...init), }, transaction: { /** - * Charge Authorization - * - * Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments - */ - chargeAuthorization: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => transaction_chargeAuthorization(client, ...init), - /** - * Check Authorization - * - * Check if an authorization code can be used for a charge. - */ - checkAuthorization: ( - ...init: InitArg< - MaybeOptionalInit, - false - > - ) => transaction_checkAuthorization(client, ...init), - /** - * Get Transaction Event - * - * Fetch the event for a specific transaction. - */ - event: ( - id: number, - ...init: InitArg, true> - ) => transaction_event(client, id, ...init), - /** - * Export Transactions - * - * Download transactions that occurred on your integration for a specific timeframe - */ - export: (...init: InitArg, false>) => - transaction_export(client, ...init), - /** - * Fetch Transaction - * - * Fetch a transaction to get its details - */ - fetch: ( - id: number, - ...init: InitArg, true> - ) => transaction_fetch(client, id, ...init), - /** - * Initialize Transaction - * - * Create a new transaction - */ - initialize: ( - ...init: InitArg, false> - ) => transaction_initialize(client, ...init), - /** - * List Transactions - * - * List transactions carried out on your integration - */ - list: (...init: InitArg, false>) => - transaction_list(client, ...init), - /** - * Partial Debit - * - * Retrieve part of a payment from a customer - */ - partialDebit: ( - ...init: InitArg, false> - ) => transaction_partialDebit(client, ...init), - /** - * Get Transaction Session - * - * Fetch the session for a specific transaction. - */ - session: ( - id: number, - ...init: InitArg, true> - ) => transaction_session(client, id, ...init), - /** - * Fetch Transaction Timeline - * - * Fetch the steps taken from the initiation to the completion of a transaction - */ - timeline: ( - id_or_reference: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => transaction_timeline(client, id_or_reference, ...init), - /** - * Transaction Totals - * - * Get the total amount of all transactions - */ - totals: (...init: InitArg, false>) => - transaction_totals(client, ...init), - /** - * Verify Transaction - * - * Verify a previously initiated transaction using it's reference - */ - verify: ( - reference: string, - ...init: InitArg, true> - ) => transaction_verify(client, reference, ...init), + * Charge Authorization + * + * Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments + */ + chargeAuthorization: (...init: InitArg, false>) => transaction_chargeAuthorization(client, ...init), + /** + * Check Authorization + * + * Check if an authorization code can be used for a charge. + */ + checkAuthorization: (...init: InitArg, false>) => transaction_checkAuthorization(client, ...init), + /** + * Get Transaction Event + * + * Fetch the event for a specific transaction. + */ + event: (id: number, ...init: InitArg, true>) => transaction_event(client, id, ...init), + /** + * Export Transactions + * + * Download transactions that occurred on your integration for a specific timeframe + */ + export: (...init: InitArg, false>) => transaction_export(client, ...init), + /** + * Fetch Transaction + * + * Fetch a transaction to get its details + */ + fetch: (id: number, ...init: InitArg, true>) => transaction_fetch(client, id, ...init), + /** + * Initialize Transaction + * + * Create a new transaction + */ + initialize: (...init: InitArg, false>) => transaction_initialize(client, ...init), + /** + * List Transactions + * + * List transactions carried out on your integration + */ + list: (...init: InitArg, false>) => transaction_list(client, ...init), + /** + * Partial Debit + * + * Retrieve part of a payment from a customer + */ + partialDebit: (...init: InitArg, false>) => transaction_partialDebit(client, ...init), + /** + * Get Transaction Session + * + * Fetch the session for a specific transaction. + */ + session: (id: number, ...init: InitArg, true>) => transaction_session(client, id, ...init), + /** + * Fetch Transaction Timeline + * + * Fetch the steps taken from the initiation to the completion of a transaction + */ + timeline: (id_or_reference: string, ...init: InitArg, true>) => transaction_timeline(client, id_or_reference, ...init), + /** + * Transaction Totals + * + * Get the total amount of all transactions + */ + totals: (...init: InitArg, false>) => transaction_totals(client, ...init), + /** + * Verify Transaction + * + * Verify a previously initiated transaction using it's reference + */ + verify: (reference: string, ...init: InitArg, true>) => transaction_verify(client, reference, ...init), }, transfer: { /** @@ -4872,238 +3602,163 @@ be returned when listing all previously created payment requests. You need to disable the Transfers OTP requirement to use this endpoint. */ - bulk: (...init: InitArg, false>) => - transfer_bulk(client, ...init), + bulk: (...init: InitArg, false>) => transfer_bulk(client, ...init), /** * Disable OTP for Transfers * * This is used in the event that you want to be able to complete transfers programmatically without use of OTPs. No arguments required. You will get an OTP to complete the request. */ - disableOtp: ( - ...init: InitArg, false> - ) => transfer_disableOtp(client, ...init), + disableOtp: (...init: InitArg, false>) => transfer_disableOtp(client, ...init), /** - * Finalize Disabling OTP for Transfers - * - * Finalize the request to disable OTP on your transfers + * Finalize Disabling OTP for Transfers + * + * Finalize the request to disable OTP on your transfers */ - disableOtpFinalize: ( - ...init: InitArg, false> - ) => transfer_disableOtpFinalize(client, ...init), + disableOtpFinalize: (...init: InitArg, false>) => transfer_disableOtpFinalize(client, ...init), /** * Enable OTP requirement for Transfers * * In the event that a customer wants to stop being able to complete transfers programmatically, this endpoint helps turn OTP requirement back on. No arguments required. */ - enableOtp: ( - ...init: InitArg, false> - ) => transfer_enableOtp(client, ...init), + enableOtp: (...init: InitArg, false>) => transfer_enableOtp(client, ...init), /** - * Export Transfers - * - * Export a list of transfers carried out on your integration + * Export Transfers + * + * Export a list of transfers carried out on your integration */ - exportTransfer: ( - ...init: InitArg, false> - ) => transfer_exportTransfer(client, ...init), + exportTransfer: (...init: InitArg, false>) => transfer_exportTransfer(client, ...init), /** - * Fetch Transfer - * - * Get details of a transfer on your integration + * Fetch Transfer + * + * Get details of a transfer on your integration */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => transfer_fetch(client, id_or_code, ...init), + fetch: (id_or_code: string, ...init: InitArg, true>) => transfer_fetch(client, id_or_code, ...init), /** - * Finalize Transfer - * - * Finalize an initiated transfer + * Finalize Transfer + * + * Finalize an initiated transfer */ - finalize: ( - ...init: InitArg, false> - ) => transfer_finalize(client, ...init), + finalize: (...init: InitArg, false>) => transfer_finalize(client, ...init), /** - * Initiate Transfer - * - * Send money to your customers + * Initiate Transfer + * + * Send money to your customers */ - initiate: (...init: InitArg, false>) => - transfer_initiate(client, ...init), + initiate: (...init: InitArg, false>) => transfer_initiate(client, ...init), /** - * List Transfers - * - * List the transfers made on your integration + * List Transfers + * + * List the transfers made on your integration */ - list: (...init: InitArg, false>) => - transfer_list(client, ...init), + list: (...init: InitArg, false>) => transfer_list(client, ...init), /** - * Resend OTP for Transfer - * - * Generates and send a new OTP to customer in the event they are having trouble receiving one. + * Resend OTP for Transfer + * + * Generates and send a new OTP to customer in the event they are having trouble receiving one. */ - resendOtp: ( - ...init: InitArg, false> - ) => transfer_resendOtp(client, ...init), + resendOtp: (...init: InitArg, false>) => transfer_resendOtp(client, ...init), /** - * Verify Transfer - * - * Verify the status of a transfer on your integration + * Verify Transfer + * + * Verify the status of a transfer on your integration */ - verify: ( - reference: string, - ...init: InitArg, true> - ) => transfer_verify(client, reference, ...init), + verify: (reference: string, ...init: InitArg, true>) => transfer_verify(client, reference, ...init), }, transferrecipient: { /** - * Bulk Create Transfer Recipient - * - * Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. - */ - bulk: ( - ...init: InitArg, false> - ) => transferrecipient_bulk(client, ...init), - /** - * Create Transfer Recipient - * - * Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. - */ - create: (...init: InitArg, false>) => - transferrecipient_create(client, ...init), - /** - * Delete Transfer Recipient - * - * Delete a transfer recipient (sets the transfer recipient to inactive) - */ - delete: ( - id_or_code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => transferrecipient_delete(client, id_or_code, ...init), - /** - * Fetch Transfer recipient - * - * Fetch the details of a transfer recipient - */ - fetch: ( - id_or_code: string, - ...init: InitArg, true> - ) => transferrecipient_fetch(client, id_or_code, ...init), - /** - * List Transfer Recipients - * - * List transfer recipients available on your integration - */ - list: (...init: InitArg, false>) => - transferrecipient_list(client, ...init), - /** - * Update Transfer Recipient - * - * Update the details of a transfer recipient - */ - update: ( - id_or_code: string, - ...init: InitArg, true> - ) => transferrecipient_update(client, id_or_code, ...init), + * Bulk Create Transfer Recipient + * + * Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. + */ + bulk: (...init: InitArg, false>) => transferrecipient_bulk(client, ...init), + /** + * Create Transfer Recipient + * + * Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. + */ + create: (...init: InitArg, false>) => transferrecipient_create(client, ...init), + /** + * Delete Transfer Recipient + * + * Delete a transfer recipient (sets the transfer recipient to inactive) + */ + delete: (id_or_code: string, ...init: InitArg, true>) => transferrecipient_delete(client, id_or_code, ...init), + /** + * Fetch Transfer recipient + * + * Fetch the details of a transfer recipient + */ + fetch: (id_or_code: string, ...init: InitArg, true>) => transferrecipient_fetch(client, id_or_code, ...init), + /** + * List Transfer Recipients + * + * List transfer recipients available on your integration + */ + list: (...init: InitArg, false>) => transferrecipient_list(client, ...init), + /** + * Update Transfer Recipient + * + * Update the details of a transfer recipient + */ + update: (id_or_code: string, ...init: InitArg, true>) => transferrecipient_update(client, id_or_code, ...init), }, virtualTerminal: { /** - * Add Split Code to Virtual Terminal - * - * Add Split Code to Virtual Terminal - */ - addSplitCode: ( - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => virtualTerminal_addSplitCode(client, code, ...init), - /** - * Create Virtual Terminal - * - * Create a Virtual Terminal on your integration - */ - create: (...init: InitArg, false>) => - virtualTerminal_create(client, ...init), - /** - * Deactivate Virtual Terminal - * - * Deactivate a Virtual Terminal on your integration - */ - deactivate: ( - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => virtualTerminal_deactivate(client, code, ...init), - /** - * Remove Split Code from Virtual Terminal - * - * Remove Split Code from Virtual Terminal - */ - deleteSplitCode: ( - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => virtualTerminal_deleteSplitCode(client, code, ...init), - /** - * Assign Destination to Virtual Terminal - * - * Add a destination (WhatsApp number) to a Virtual Terminal on your integration - */ - destinationAssign: ( - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => virtualTerminal_destinationAssign(client, code, ...init), - /** - * Unassign Destination from Virtual Terminal - * - * Unassign a destination (WhatsApp Number) from a Virtual Terminal on your integration - */ - destinationUnassign: ( - code: string, - ...init: InitArg< - MaybeOptionalInit, - true - > - ) => virtualTerminal_destinationUnassign(client, code, ...init), - /** - * Fetch Virtual Terminal - * - * Fetch a Virtual Terminal on your integration - */ - fetch: ( - code: string, - ...init: InitArg, true> - ) => virtualTerminal_fetch(client, code, ...init), - /** - * List Virtual Terminals - * - * List Virtual Terminals on your integration - */ - list: (...init: InitArg, false>) => - virtualTerminal_list(client, ...init), - /** - * Update Virtual Terminal - * - * Update a Virtual Terminal on your integration - */ - update: ( - code: string, - ...init: InitArg, true> - ) => virtualTerminal_update(client, code, ...init), + * Add Split Code to Virtual Terminal + * + * Add Split Code to Virtual Terminal + */ + addSplitCode: (code: string, ...init: InitArg, true>) => virtualTerminal_addSplitCode(client, code, ...init), + /** + * Create Virtual Terminal + * + * Create a Virtual Terminal on your integration + */ + create: (...init: InitArg, false>) => virtualTerminal_create(client, ...init), + /** + * Deactivate Virtual Terminal + * + * Deactivate a Virtual Terminal on your integration + */ + deactivate: (code: string, ...init: InitArg, true>) => virtualTerminal_deactivate(client, code, ...init), + /** + * Remove Split Code from Virtual Terminal + * + * Remove Split Code from Virtual Terminal + */ + deleteSplitCode: (code: string, ...init: InitArg, true>) => virtualTerminal_deleteSplitCode(client, code, ...init), + /** + * Assign Destination to Virtual Terminal + * + * Add a destination (WhatsApp number) to a Virtual Terminal on your integration + */ + destinationAssign: (code: string, ...init: InitArg, true>) => virtualTerminal_destinationAssign(client, code, ...init), + /** + * Unassign Destination from Virtual Terminal + * + * Unassign a destination (WhatsApp Number) from a Virtual Terminal on your integration + */ + destinationUnassign: (code: string, ...init: InitArg, true>) => virtualTerminal_destinationUnassign(client, code, ...init), + /** + * Fetch Virtual Terminal + * + * Fetch a Virtual Terminal on your integration + */ + fetch: (code: string, ...init: InitArg, true>) => virtualTerminal_fetch(client, code, ...init), + /** + * List Virtual Terminals + * + * List Virtual Terminals on your integration + */ + list: (...init: InitArg, false>) => virtualTerminal_list(client, ...init), + /** + * Update Virtual Terminal + * + * Update a Virtual Terminal on your integration + */ + update: (code: string, ...init: InitArg, true>) => virtualTerminal_update(client, code, ...init), }, } as const; } diff --git a/vite.config.ts b/vite.config.ts index db24d92..4608623 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -10,6 +10,10 @@ export default defineConfig({ clean: true, tsconfig: "./tsconfig.build.json", deps: { + // tsdown <0.23 compatibility: resolve external dependency subpaths. + // Remove to preserve subpath imports as written (the new default). + // https://tsdown.dev/options/dependencies#deps-resolvedepsubpath + resolveDepSubpath: true, neverBundle: ["openapi-fetch", "yaml"], }, },