Paystack logo

Paystack

Paystack is an African payment processor (acquired by Stripe in 2020) that lets businesses accept payments in Nigeria, Ghana, South Africa, Kenya, Côte d'Ivoire, and Egypt across cards, bank transfers, USSD, QR, EFT, and mobile money channels. Its single REST API covers one-time charges, recurring subscriptions, marketplace splits, dedicated virtual accounts, invoices, transfers (payouts), refunds, disputes, settlements, and KYC/identity verification — all wrapped in a developer experience that has made it one of the most respected public APIs on the continent.

14 APIs 19 Features
PaymentsAfricaFintechRecurring BillingMarketplacesPayoutsMobile MoneyStripe

APIs

Paystack Accept Payments API

Initialize, verify, charge, and manage one-time card, bank, USSD, mobile money, QR, and bank transfer payments. The Transaction and Charge resources are the core of Paystack — a...

Paystack Subscriptions API

Create plans and run recurring subscriptions against stored card authorizations. Includes plan management, subscription lifecycle (create / disable / enable), customer self-serv...

Paystack Customers API

Create, list, and update customer profiles; whitelist or blacklist customers via risk_action; deactivate stored authorizations; and run KYC validation against customer identities.

Paystack Transfers API

Send money out of your Paystack balance to bank accounts and mobile money wallets across supported markets. Covers transfer recipients, single and bulk transfers, OTP workflows,...

Paystack Splits and Subaccounts API

Build marketplaces by automatically splitting a single payment between the main account and multiple subaccounts. Configure percentage or flat splits, set fee-bearers, and manag...

Paystack Dedicated Virtual Accounts API

Provision dedicated NUBAN virtual bank accounts for individual customers so they can pay by bank transfer with automatic reconciliation back to the customer profile. Includes sp...

Paystack Products and Payment Pages API

Manage products in your Paystack inventory and assemble them into Paystack-hosted Payment Pages so you can collect payments without operating your own checkout.

Paystack Payment Requests API

Issue invoice-style payment requests to customers by email, with verification, notification, finalization, and archival flows.

Paystack Refunds and Disputes API

Process partial and full refunds against successful transactions and respond to cardholder disputes — including evidence upload via signed URL, resolution workflows, and exports.

Paystack Settlements API

Fetch settlement records and the underlying transactions that comprise each payout to your bank account.

Paystack Verification API

Identity, BVN, bank account, card BIN, country, bank, and address-verification lookups used to validate customers, beneficiary accounts, and cards before transacting.

Paystack Balance API

Fetch your Paystack balance per currency and read the balance ledger for treasury operations and reconciliation.

Paystack Integration Settings API

Read and update integration-wide settings such as the payment session timeout for hosted checkout.

Paystack Webhooks

Outbound webhook surface that notifies a single merchant-configured POST endpoint of transaction, dispute, refund, transfer, subscription, invoice, payment request, customer ide...

Features

Hosted Checkout

Paystack-hosted authorization URL that handles PCI, SCA, OTP, USSD, QR, and 3DS flows for you.

Direct Charge API

Initiate charges programmatically with structured PIN, OTP, phone, birthday, and address challenge steps.

Recurring Subscriptions

Plans plus subscriptions with self-service customer management and email/SMS invoice notifications.

Transaction Splits

Route a single payment to multiple subaccounts on a percentage or flat basis for marketplaces.

Subaccounts

Vendor or merchant profiles with their own settlement bank and percentage charge.

Dedicated Virtual Accounts

NUBAN virtual accounts assigned to individual customers for bank-transfer-based payments with auto-reconciliation.

Payment Pages

No-code Paystack-hosted pages for selling products or accepting donations.

Payment Requests

Email-based invoices with verification, notification, finalization, and archive flows.

Single and Bulk Transfers

Pay out from balance to bank accounts and mobile money wallets, one at a time or as batches.

Bulk Charge

Charge many stored authorizations in a single batch with pause and resume controls.

Refunds

Partial or full refunds with merchant and customer notes.

Disputes and Chargebacks

Programmatic dispute response with signed evidence-upload URLs and resolution workflow.

Settlements

Read net settlement payouts and drill down into the transactions that composed each batch.

Identity Verification

BVN match, BVN resolution, account number resolution, card BIN lookup, country/bank lookup, and AVS state lists.

Multi-Currency

Accept NGN, GHS, ZAR, KES, XOF, EGP, and USD across supported markets.

Multi-Channel

Card, bank transfer, USSD, QR, mobile money (M-Pesa, MTN MoMo, Orange Money, Wave), EFT, Apple Pay, Visa QR.

Webhooks

Signed webhook deliveries for transaction, dispute, refund, transfer, subscription, and invoice events with 72-hour retries.

Test Mode

A complete test environment with test cards covering success, decline, OTP, PIN, and 3DS flows.

Dashboard

First-class merchant dashboard for transactions, customers, subscriptions, transfers, settlements, and disputes.

Use Cases

E-commerce Checkout

Drop-in checkout for online stores accepting cards, USSD, bank transfer, and mobile money across Africa.

SaaS Recurring Billing

Subscription-based revenue with plans, automatic renewal, self-service updates, and dunning.

Marketplaces and Multi-Vendor Platforms

Split-payment routing to vendor subaccounts with platform fee retention.

Cross-Border Payments

Accept cards from international customers while settling locally.

Mobile Money Acceptance

M-Pesa, MTN, Orange Money, Wave acceptance in Ghana, Kenya, Côte d'Ivoire.

Bank Transfer Acceptance

Dedicated virtual accounts auto-reconcile inbound NUBAN transfers.

Payouts and Vendor Disbursement

Single and bulk transfers to bank or mobile money for gig platforms and payroll-light apps.

Invoicing and B2B Collections

Issue payment requests by email with verification and reminders.

Donations and Crowdfunding

Payment Pages for one-off donations or product sales without writing checkout code.

Integrations

WooCommerce

Official Paystack payment gateway for WooCommerce stores.

Magento and Magento 2

Official Magento extensions for Paystack acceptance.

PrestaShop

Plugins for PrestaShop 1.6 and 1.7.

OpenCart

OpenCart extensions for Paystack.

WHMCS

Hosting and billing platform integration.

Moodle

Course enrolment via Paystack.

Odoo

Payment gateway integration for Odoo 14.

Omnipay

Paystack gateway driver for the PHP Omnipay payment-abstraction library.

Joomla, Drupal, Ghost, Wordpress

Community and official plugins across major CMS platforms.

Stripe

Paystack is a Stripe subsidiary; merchants can operate in Stripe-aligned multi-region setups.

Solutions

Online Businesses

Hosted checkout for e-commerce and SaaS.

Marketplaces

Splits + subaccounts for multi-vendor platforms.

Subscription Businesses

Plans, subscriptions, and dunning for recurring revenue.

Platforms and Apps

Transfers, dedicated virtual accounts, and identity verification for fintech and platform builds.

Education and Nonprofits

Payment Pages and Payment Requests for donations and tuition collection.

Event Specifications

Paystack Webhooks

AsyncAPI 2.6 description of Paystack's outbound webhook surface. Paystack notifies a single merchant-configured POST endpoint (the "webhook URL") whenever an event occurs agains...

ASYNCAPI

Semantic Vocabularies

Paystack Context

41 classes · 4 properties

JSON-LD

API Governance Rules

Paystack API Rules

10 rules · 2 errors 7 warnings

SPECTRAL

JSON Structure

Paystack Customer Structure

11 properties

JSON STRUCTURE

Paystack Split Structure

12 properties

JSON STRUCTURE

Paystack Subscription Structure

12 properties

JSON STRUCTURE

Paystack Transaction Structure

14 properties

JSON STRUCTURE

Paystack Transfer Structure

12 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
ArazzoWorkflows
ArazzoWorkflows
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
📝
SignUp
SignUp
🔗
Documentation
Documentation
🔑
Authentication
Authentication
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📄
ChangeLog
ChangeLog
📰
Blog
Blog
📰
Blog
Blog
🟢
StatusPage
StatusPage
💬
Support
Support
💰
Pricing
Pricing
💰
Pricing
Pricing
💰
Pricing
Pricing
💰
Pricing
Pricing
💰
Pricing
Pricing
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
TrustCenter
TrustCenter
👥
GitHubOrganization
GitHubOrganization
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
🔗
Plugins
Plugins
🔗
Plugins
Plugins
🔗
Plugins
Plugins
🔗
Plugins
Plugins
🔗
Plugins
Plugins
🔗
Plugins
Plugins
🔗
Plugins
Plugins
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
aid: paystack
url: https://raw.githubusercontent.com/api-evangelist/paystack/main/apis.yml
name: Paystack
tags:
- Payments
- Africa
- Fintech
- Recurring Billing
- Marketplaces
- Payouts
- Mobile Money
- Stripe
kind: contract
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
access: 3rd-Party
description: Paystack is an African payment processor (acquired by Stripe in 2020)
  that lets businesses accept payments in Nigeria, Ghana, South Africa, Kenya, Côte
  d'Ivoire, and Egypt across cards, bank transfers, USSD, QR, EFT, and mobile money
  channels. Its single REST API covers one-time charges, recurring subscriptions,
  marketplace splits, dedicated virtual accounts, invoices, transfers (payouts), refunds,
  disputes, settlements, and KYC/identity verification — all wrapped in a developer
  experience that has made it one of the most respected public APIs on the continent.
apis:
- aid: paystack:paystack-accept-payments
  name: Paystack Accept Payments API
  tags:
  - Payments
  - Transactions
  - Charge
  humanURL: https://paystack.com/docs/api/transaction/
  properties:
  - url: https://paystack.com/docs/api/transaction/
    type: Documentation
  - url: https://paystack.com/docs/api/charge/
    type: Documentation
  - url: openapi/paystack-accept-payments-openapi.yml
    type: OpenAPI
  - url: json-schema/paystack-transaction-schema.json
    type: JSONSchema
  - url: json-structure/paystack-transaction-structure.json
    type: JSONStructure
  - url: examples/paystack-initialize-transaction-example.json
    type: Example
  - url: examples/paystack-verify-transaction-example.json
    type: Example
  - url: graphql/paystack-graphql.md
    type: GraphQL
  description: Initialize, verify, charge, and manage one-time card, bank, USSD, mobile
    money, QR, and bank transfer payments. The Transaction and Charge resources are
    the core of Paystack — a hosted checkout flow (initialize + verify) and a direct
    charge flow that drives the customer through PIN, OTP, phone, birthday, and address
    challenges as required.
- aid: paystack:paystack-subscriptions
  name: Paystack Subscriptions API
  tags:
  - Recurring Billing
  - Subscriptions
  - Plans
  humanURL: https://paystack.com/docs/api/subscription/
  properties:
  - url: https://paystack.com/docs/api/subscription/
    type: Documentation
  - url: https://paystack.com/docs/api/plan/
    type: Documentation
  - url: openapi/paystack-subscriptions-openapi.yml
    type: OpenAPI
  - url: json-schema/paystack-plan-schema.json
    type: JSONSchema
  - url: json-schema/paystack-subscription-schema.json
    type: JSONSchema
  - url: json-structure/paystack-subscription-structure.json
    type: JSONStructure
  - url: examples/paystack-create-subscription-example.json
    type: Example
  description: Create plans and run recurring subscriptions against stored card authorizations.
    Includes plan management, subscription lifecycle (create / disable / enable),
    customer self-service update links, and automatic invoice notifications.
- aid: paystack:paystack-customers
  name: Paystack Customers API
  tags:
  - Customers
  - KYC
  humanURL: https://paystack.com/docs/api/customer/
  properties:
  - url: https://paystack.com/docs/api/customer/
    type: Documentation
  - url: openapi/paystack-customers-openapi.yml
    type: OpenAPI
  - url: json-schema/paystack-customer-schema.json
    type: JSONSchema
  - url: json-structure/paystack-customer-structure.json
    type: JSONStructure
  description: Create, list, and update customer profiles; whitelist or blacklist
    customers via risk_action; deactivate stored authorizations; and run KYC validation
    against customer identities.
- aid: paystack:paystack-transfers
  name: Paystack Transfers API
  tags:
  - Payouts
  - Transfers
  - Bulk
  humanURL: https://paystack.com/docs/api/transfer/
  properties:
  - url: https://paystack.com/docs/api/transfer/
    type: Documentation
  - url: https://paystack.com/docs/api/transfer-recipient/
    type: Documentation
  - url: https://paystack.com/docs/api/bulk-charge/
    type: Documentation
  - url: openapi/paystack-transfers-openapi.yml
    type: OpenAPI
  - url: json-schema/paystack-transfer-schema.json
    type: JSONSchema
  - url: json-structure/paystack-transfer-structure.json
    type: JSONStructure
  - url: examples/paystack-initiate-transfer-example.json
    type: Example
  description: Send money out of your Paystack balance to bank accounts and mobile
    money wallets across supported markets. Covers transfer recipients, single and
    bulk transfers, OTP workflows, and bulk charges against stored authorizations.
- aid: paystack:paystack-splits-subaccounts
  name: Paystack Splits and Subaccounts API
  tags:
  - Marketplaces
  - Splits
  - Subaccounts
  humanURL: https://paystack.com/docs/api/split/
  properties:
  - url: https://paystack.com/docs/api/split/
    type: Documentation
  - url: https://paystack.com/docs/api/subaccount/
    type: Documentation
  - url: openapi/paystack-splits-subaccounts-openapi.yml
    type: OpenAPI
  - url: json-schema/paystack-split-schema.json
    type: JSONSchema
  - url: json-schema/paystack-subaccount-schema.json
    type: JSONSchema
  - url: json-structure/paystack-split-structure.json
    type: JSONStructure
  - url: examples/paystack-create-split-example.json
    type: Example
  description: Build marketplaces by automatically splitting a single payment between
    the main account and multiple subaccounts. Configure percentage or flat splits,
    set fee-bearers, and manage subaccount business profiles for vendor payouts.
- aid: paystack:paystack-dedicated-virtual-accounts
  name: Paystack Dedicated Virtual Accounts API
  tags:
  - Bank Transfer
  - NUBAN
  - Virtual Accounts
  humanURL: https://paystack.com/docs/api/dedicated-virtual-account/
  properties:
  - url: https://paystack.com/docs/api/dedicated-virtual-account/
    type: Documentation
  - url: openapi/paystack-dedicated-virtual-accounts-openapi.yml
    type: OpenAPI
  - url: examples/paystack-create-dedicated-account-example.json
    type: Example
  description: Provision dedicated NUBAN virtual bank accounts for individual customers
    so they can pay by bank transfer with automatic reconciliation back to the customer
    profile. Includes split routing on inbound transfers.
- aid: paystack:paystack-products-pages
  name: Paystack Products and Payment Pages API
  tags:
  - Hosted Checkout
  - Products
  - Pages
  humanURL: https://paystack.com/docs/api/products/
  properties:
  - url: https://paystack.com/docs/api/products/
    type: Documentation
  - url: https://paystack.com/docs/api/page/
    type: Documentation
  - url: openapi/paystack-products-pages-openapi.yml
    type: OpenAPI
  description: Manage products in your Paystack inventory and assemble them into Paystack-hosted
    Payment Pages so you can collect payments without operating your own checkout.
- aid: paystack:paystack-payment-requests
  name: Paystack Payment Requests API
  tags:
  - Invoices
  - Payment Requests
  humanURL: https://paystack.com/docs/api/payment-request/
  properties:
  - url: https://paystack.com/docs/api/payment-request/
    type: Documentation
  - url: openapi/paystack-payment-requests-openapi.yml
    type: OpenAPI
  description: Issue invoice-style payment requests to customers by email, with verification,
    notification, finalization, and archival flows.
- aid: paystack:paystack-refunds-disputes
  name: Paystack Refunds and Disputes API
  tags:
  - Refunds
  - Disputes
  - Chargebacks
  humanURL: https://paystack.com/docs/api/refund/
  properties:
  - url: https://paystack.com/docs/api/refund/
    type: Documentation
  - url: https://paystack.com/docs/api/dispute/
    type: Documentation
  - url: openapi/paystack-refunds-disputes-openapi.yml
    type: OpenAPI
  - url: json-schema/paystack-refund-schema.json
    type: JSONSchema
  - url: json-schema/paystack-dispute-schema.json
    type: JSONSchema
  description: Process partial and full refunds against successful transactions and
    respond to cardholder disputes — including evidence upload via signed URL, resolution
    workflows, and exports.
- aid: paystack:paystack-settlements
  name: Paystack Settlements API
  tags:
  - Settlements
  - Treasury
  humanURL: https://paystack.com/docs/api/settlement/
  properties:
  - url: https://paystack.com/docs/api/settlement/
    type: Documentation
  - url: openapi/paystack-settlements-openapi.yml
    type: OpenAPI
  description: Fetch settlement records and the underlying transactions that comprise
    each payout to your bank account.
- aid: paystack:paystack-verification
  name: Paystack Verification API
  tags:
  - Verification
  - Identity
  - BVN
  - KYC
  humanURL: https://paystack.com/docs/api/verification/
  properties:
  - url: https://paystack.com/docs/api/verification/
    type: Documentation
  - url: openapi/paystack-verification-openapi.yml
    type: OpenAPI
  description: Identity, BVN, bank account, card BIN, country, bank, and address-verification
    lookups used to validate customers, beneficiary accounts, and cards before transacting.
- aid: paystack:paystack-balance
  name: Paystack Balance API
  tags:
  - Balance
  - Ledger
  - Treasury
  humanURL: https://paystack.com/docs/api/balance/
  properties:
  - url: https://paystack.com/docs/api/balance/
    type: Documentation
  - url: openapi/paystack-balance-openapi.yml
    type: OpenAPI
  description: Fetch your Paystack balance per currency and read the balance ledger
    for treasury operations and reconciliation.
- aid: paystack:paystack-integration
  name: Paystack Integration Settings API
  tags:
  - Integration
  - Settings
  humanURL: https://paystack.com/docs/api/integration/
  properties:
  - url: https://paystack.com/docs/api/integration/
    type: Documentation
  - url: openapi/paystack-integration-openapi.yml
    type: OpenAPI
  description: Read and update integration-wide settings such as the payment session
    timeout for hosted checkout.
- aid: paystack:paystack-webhooks
  name: Paystack Webhooks
  tags:
  - Webhooks
  - Events
  - AsyncAPI
  - HMAC
  humanURL: https://paystack.com/docs/payments/webhooks/
  properties:
  - url: https://paystack.com/docs/payments/webhooks/
    type: Documentation
  - url: asyncapi/paystack-webhooks-asyncapi.yml
    type: AsyncAPI
  description: Outbound webhook surface that notifies a single merchant-configured
    POST endpoint of transaction, dispute, refund, transfer, subscription, invoice,
    payment request, customer identification, and dedicated virtual account events.
    Every delivery is signed with an HMAC-SHA512 x-paystack-signature header keyed
    by the merchant secret key, and Paystack retries non-200 responses for up to 72
    hours.
common:
- type: PostmanWorkspace
  url: https://www.postman.com/kinlaneapi/paystack/overview
- type: ArazzoWorkflows
  url: arazzo/
  workflows:
  - url: arazzo/paystack-add-subaccount-to-split-workflow.yml
    name: Paystack Add a Subaccount to an Existing Split
    summary: Create a new subaccount, add it to an existing transaction split, then
      fetch the split to confirm membership.
  - url: arazzo/paystack-blacklist-customer-after-dispute-workflow.yml
    name: Paystack Blacklist a Customer After a Dispute
    summary: List the disputes raised against a transaction, fetch the customer, then
      blacklist them and deactivate the card authorization.
  - url: arazzo/paystack-bulk-recipients-and-bulk-transfer-workflow.yml
    name: Paystack Bulk Recipients and Bulk Transfer
    summary: Bulk-create transfer recipients, list them to confirm registration, then
      initiate a bulk transfer to pay them all.
  - url: arazzo/paystack-charge-and-refund-transaction-workflow.yml
    name: Paystack Charge and Refund a Transaction
    summary: Initialize and verify a transaction, then create a refund against it
      and fetch the refund status.
  - url: arazzo/paystack-charge-and-submit-otp-workflow.yml
    name: Paystack Create Charge and Submit OTP
    summary: Create a direct charge, branch when an OTP is required, submit the OTP,
      then check the final charge status.
  - url: arazzo/paystack-charge-and-submit-pin-workflow.yml
    name: Paystack Create Charge and Submit PIN
    summary: Create a direct card charge, branch when a PIN is required, submit the
      PIN, then check the final charge status.
  - url: arazzo/paystack-check-authorization-and-partial-debit-workflow.yml
    name: Paystack Check Authorization and Partial Debit
    summary: Check that an authorization can bear a charge, then take a partial debit
      against it for whatever is available.
  - url: arazzo/paystack-create-customer-and-charge-authorization-workflow.yml
    name: Paystack Create Customer and Charge Authorization
    summary: Create a customer, initialize a first transaction, verify it to obtain
      an authorization, then charge that authorization for a recurring debit.
  - url: arazzo/paystack-create-customer-and-payment-request-workflow.yml
    name: Paystack Create Customer and Send Payment Request
    summary: Create a customer, raise an invoice-style payment request for them, send
      the email notification, then verify the request.
  - url: arazzo/paystack-create-customer-dedicated-virtual-account-workflow.yml
    name: Paystack Provision a Dedicated Virtual Account
    summary: Look up an available bank provider, create a customer, assign a dedicated
      NUBAN virtual account, then fetch its details.
  - url: arazzo/paystack-create-customer-plan-and-subscription-workflow.yml
    name: Paystack Create Customer, Plan and Subscription
    summary: Create a customer, define a billing plan, then subscribe the customer
      to the plan for recurring charges.
  - url: arazzo/paystack-create-product-and-payment-page-workflow.yml
    name: Paystack Create Product and Payment Page
    summary: Create a product, check a page slug is available, create a hosted payment
      page, then attach the product to the page.
  - url: arazzo/paystack-create-recipient-and-initiate-transfer-workflow.yml
    name: Paystack Create Recipient and Initiate Transfer
    summary: Create a transfer recipient from bank details, initiate a transfer to
      it, then verify the transfer by reference.
  - url: arazzo/paystack-create-subaccount-and-split-workflow.yml
    name: Paystack Create Subaccount and Transaction Split
    summary: Create a subaccount, build a transaction split that pays it, then initialize
      a transaction against the split.
  - url: arazzo/paystack-disable-and-reenable-subscription-workflow.yml
    name: Paystack Disable and Re-enable a Subscription
    summary: Fetch a subscription to read its email token, disable it, then re-enable
      it using the same code and token.
  - url: arazzo/paystack-dispute-evidence-and-resolve-workflow.yml
    name: Paystack Submit Dispute Evidence and Resolve
    summary: Fetch a dispute, attach evidence to it, request an upload URL for supporting
      files, then resolve the dispute.
  - url: arazzo/paystack-finalize-and-archive-payment-request-workflow.yml
    name: Paystack Finalize and Archive a Draft Payment Request
    summary: Create a draft payment request, finalize it to issue the invoice, verify
      it, then archive it once handled.
  - url: arazzo/paystack-initialize-and-verify-transaction-workflow.yml
    name: Paystack Initialize and Verify Transaction
    summary: Initialize a checkout transaction and then verify its final status by
      reference.
  - url: arazzo/paystack-initiate-and-finalize-transfer-workflow.yml
    name: Paystack Initiate and Finalize Transfer with OTP
    summary: Initiate a transfer, finalize it with the OTP sent to the business phone,
      then verify the completed transfer.
  - url: arazzo/paystack-initiate-and-monitor-bulk-charge-workflow.yml
    name: Paystack Initiate and Monitor a Bulk Charge
    summary: Initiate a bulk charge batch against saved authorizations, fetch the
      batch, then list the charges in the batch.
  - url: arazzo/paystack-resolve-account-and-create-recipient-workflow.yml
    name: Paystack Resolve Account and Create Transfer Recipient
    summary: Resolve a bank account number to confirm the account name, then create
      a transfer recipient and initiate a transfer.
  - url: arazzo/paystack-resolve-card-bin-and-charge-workflow.yml
    name: Paystack Resolve Card BIN and Charge Authorization
    summary: Resolve a card BIN to learn the card brand and country, then charge a
      saved authorization for that card.
  - url: arazzo/paystack-settlement-reconciliation-workflow.yml
    name: Paystack Settlement Reconciliation
    summary: Fetch settlement records, then list the transactions that make up a chosen
      settlement payout.
  - url: arazzo/paystack-subscribe-and-generate-manage-link-workflow.yml
    name: Paystack Subscribe and Generate a Management Link
    summary: Create a subscription, fetch it to read its status, then generate a self-service
      management link for the customer.
  - url: arazzo/paystack-validate-customer-kyc-workflow.yml
    name: Paystack Create and Validate Customer (KYC)
    summary: Create a customer, resolve their BVN, then submit a bank-account identification
      to validate the customer.
- type: Portal
  url: https://paystack.com/
- type: Documentation
  url: https://paystack.com/docs/
- type: APIReference
  url: https://paystack.com/docs/api/
- type: Documentation
  name: Original Paystack OpenAPI specification
  url: https://github.com/PaystackHQ/openapi
- type: GettingStarted
  url: https://paystack.com/docs/payments/accept-payments/
- type: SignUp
  url: https://dashboard.paystack.com/#/signup
- type: Documentation
  name: Dashboard
  url: https://dashboard.paystack.com/
- type: Authentication
  url: https://paystack.com/docs/api/#authentication
- type: Documentation
  name: API Keys
  url: https://dashboard.paystack.com/#/settings/developers
- type: Documentation
  name: Webhooks
  url: https://paystack.com/docs/payments/webhooks/
- type: Documentation
  name: Test Cards
  url: https://paystack.com/docs/payments/test-payments/
- type: Documentation
  name: Errors
  url: https://paystack.com/docs/api/errors/
- type: ChangeLog
  url: https://paystack.com/docs/changelog/api/
- type: Blog
  url: https://paystack.com/blog/
- type: Blog
  name: Engineering Blog
  url: https://medium.com/paystack-engineering
- type: StatusPage
  url: https://status.paystack.com/
- type: Support
  url: https://support.paystack.com/
- type: Pricing
  name: Nigeria Pricing
  url: https://paystack.com/ng/pricing
- type: Pricing
  name: Ghana Pricing
  url: https://paystack.com/gh/pricing
- type: Pricing
  name: South Africa Pricing
  url: https://paystack.com/za/pricing
- type: Pricing
  name: Kenya Pricing
  url: https://paystack.com/ke/pricing
- type: Pricing
  name: Côte d'Ivoire Pricing
  url: https://paystack.com/ci/pricing
- type: Pricing
  name: Egypt Pricing
  url: https://paystack.com/eg/pricing
- type: TermsOfService
  url: https://paystack.com/terms
- type: PrivacyPolicy
  url: https://paystack.com/privacy
- type: TrustCenter
  name: Security and Compliance
  url: https://paystack.com/security
- type: GitHubOrganization
  url: https://github.com/PaystackHQ
- type: SDK
  name: Paystack PHP Library
  url: https://github.com/PaystackHQ/paystack-php
- type: SDK
  name: Paystack Android SDK
  url: https://github.com/PaystackHQ/paystack-android
- type: SDK
  name: Paystack iOS SDK (Objective-C)
  url: https://github.com/PaystackHQ/paystack-ios
- type: SDK
  name: Paystack iOS SDK (Swift)
  url: https://github.com/PaystackHQ/paystack-sdk-ios
- type: SDK
  name: Omnipay Paystack Driver
  url: https://github.com/PaystackHQ/omnipay-paystack
- type: Plugins
  name: WooCommerce
  url: https://github.com/PaystackHQ/plugin-woocommerce
- type: Plugins
  name: Magento 2
  url: https://github.com/PaystackHQ/plugin-magento-2
- type: Plugins
  name: PrestaShop 1.7
  url: https://github.com/PaystackHQ/plugin-prestashop-1.7
- type: Plugins
  name: OpenCart
  url: https://github.com/PaystackHQ/plugin-opencart
- type: Plugins
  name: WHMCS
  url: https://github.com/PaystackHQ/plugin-whmcs
- type: Plugins
  name: Moodle Enrolment
  url: https://github.com/PaystackHQ/moodle-enrol_paystack
- type: Plugins
  name: Odoo 14
  url: https://github.com/PaystackHQ/plugin-odoo
- type: CodeExamples
  name: Paystack JS Sample Code
  url: https://github.com/PaystackHQ/PaystackJS-Sample-code
- type: CodeExamples
  name: Sample Charge Card Backend
  url: https://github.com/PaystackHQ/sample-charge-card-backend
- type: SpectralRules
  url: rules/paystack-rules.yml
- type: Vocabulary
  url: vocabulary/paystack-vocabulary.yml
- type: JSONLD
  url: json-ld/paystack-context.jsonld
- type: Plans
  url: plans/paystack-plans-pricing.yml
- type: RateLimits
  url: rate-limits/paystack-rate-limits.yml
- type: FinOps
  url: finops/paystack-finops.yml
- type: Features
  data:
  - name: Hosted Checkout
    description: Paystack-hosted authorization URL that handles PCI, SCA, OTP, USSD,
      QR, and 3DS flows for you.
  - name: Direct Charge API
    description: Initiate charges programmatically with structured PIN, OTP, phone,
      birthday, and address challenge steps.
  - name: Recurring Subscriptions
    description: Plans plus subscriptions with self-service customer management and
      email/SMS invoice notifications.
  - name: Transaction Splits
    description: Route a single payment to multiple subaccounts on a percentage or
      flat basis for marketplaces.
  - name: Subaccounts
    description: Vendor or merchant profiles with their own settlement bank and percentage
      charge.
  - name: Dedicated Virtual Accounts
    description: NUBAN virtual accounts assigned to individual customers for bank-transfer-based
      payments with auto-reconciliation.
  - name: Payment Pages
    description: No-code Paystack-hosted pages for selling products or accepting donations.
  - name: Payment Requests
    description: Email-based invoices with verification, notification, finalization,
      and archive flows.
  - name: Single and Bulk Transfers
    description: Pay out from balance to bank accounts and mobile money wallets, one
      at a time or as batches.
  - name: Bulk Charge
    description: Charge many stored authorizations in a single batch with pause and
      resume controls.
  - name: Refunds
    description: Partial or full refunds with merchant and customer notes.
  - name: Disputes and Chargebacks
    description: Programmatic dispute response with signed evidence-upload URLs and
      resolution workflow.
  - name: Settlements
    description: Read net settlement payouts and drill down into the transactions
      that composed each batch.
  - name: Identity Verification
    description: BVN match, BVN resolution, account number resolution, card BIN lookup,
      country/bank lookup, and AVS state lists.
  - name: Multi-Currency
    description: Accept NGN, GHS, ZAR, KES, XOF, EGP, and USD across supported markets.
  - name: Multi-Channel
    description: Card, bank transfer, USSD, QR, mobile money (M-Pesa, MTN MoMo, Orange
      Money, Wave), EFT, Apple Pay, Visa QR.
  - name: Webhooks
    description: Signed webhook deliveries for transaction, dispute, refund, transfer,
      subscription, and invoice events with 72-hour retries.
  - name: Test Mode
    description: A complete test environment with test cards covering success, decline,
      OTP, PIN, and 3DS flows.
  - name: Dashboard
    description: First-class merchant dashboard for transactions, customers, subscriptions,
      transfers, settlements, and disputes.
- type: UseCases
  data:
  - name: E-commerce Checkout
    description: Drop-in checkout for online stores accepting cards, USSD, bank transfer,
      and mobile money across Africa.
  - name: SaaS Recurring Billing
    description: Subscription-based revenue with plans, automatic renewal, self-service
      updates, and dunning.
  - name: Marketplaces and Multi-Vendor Platforms
    description: Split-payment routing to vendor subaccounts with platform fee retention.
  - name: Cross-Border Payments
    description: Accept cards from international customers while settling locally.
  - name: Mobile Money Acceptance
    description: M-Pesa, MTN, Orange Money, Wave acceptance in Ghana, Kenya, Côte
      d'Ivoire.
  - name: Bank Transfer Acceptance
    description: Dedicated virtual accounts auto-reconcile inbound NUBAN transfers.
  - name: Payouts and Vendor Disbursement
    description: Single and bulk transfers to bank or mobile money for gig platforms
      and payroll-light apps.
  - name: Invoicing and B2B Collections
    description: Issue payment requests by email with verification and reminders.
  - name: Donations and Crowdfunding
    description: Payment Pages for one-off donations or product sales without writing
      checkout code.
- type: Integrations
  data:
  - name: WooCommerce
    description: Official Paystack payment gateway for WooCommerce stores.
  - name: Magento and Magento 2
    description: Official Magento extensions for Paystack acceptance.
  - name: PrestaShop
    description: Plugins for PrestaShop 1.6 and 1.7.
  - name: OpenCart
    description: OpenCart extensions for Paystack.
  - name: WHMCS
    description: Hosting and billing platform integration.
  - name: Moodle
    description: Course enrolment via Paystack.
  - name: Odoo
    description: Payment gateway integration for Odoo 14.
  - name: Omnipay
    description: Paystack gateway driver for the PHP Omnipay payment-abstraction library.
  - name: Joomla, Drupal, Ghost, Wordpress
    description: Community and official plugins across major CMS platforms.
  - name: Stripe
    description: Paystack is a Stripe subsidiary; merchants can operate in Stripe-aligned
      multi-region setups.
- type: Solutions
  data:
  - name: Online Businesses
    description: Hosted checkout for e-commerce and SaaS.
  - name: Marketplaces
    description: Splits + subaccounts for multi-vendor platforms.
  - name: Subscription Businesses
    description: Plans, subscriptions, and dunning for recurring revenue.
  - name: Platforms and Apps
    description: Transfers, dedicated virtual accounts, and identity verification
      for fintech and platform builds.
  - name: Education and Nonprofits
    description: Payment Pages and Payment Requests for donations and tuition collection.
created: '2026-05-24'
modified: '2026-05-30'
position: Consuming
maintainers:
- FN: Kin Lane
  email: info@apievangelist.com
  X: apievangelist
  url: https://apievangelist.com
specificationVersion: '0.16'