Discover/Korapay API
live

Korapay APIdevelopers.korapay.com

Access Korapay's payment infrastructure: initialize checkouts, verify Nigerian bank accounts, manage virtual accounts and cards, and query payouts via one API.

Endpoint health
verified 1d ago
verify_bank_account
1/1 passing latest checkself-healing
Endpoints
10
Updated
21d ago

What is the Korapay API?

This API exposes 10 endpoints covering Korapay's core payment infrastructure, including initialize_checkout for generating redirect-based payment sessions, verify_bank_account for resolving Nigerian bank account holder names, virtual bank account creation, payout initiation, and real-time balance retrieval. Response shapes return structured fields including account_name, bank_name, transaction status, and reference across both collection and disbursement flows.

Try it
Amount to charge
Currency code (e.g., NGN, GHS, KES)
Transaction description
Unique transaction reference
URL to redirect the customer to after payment
Customer's name
Customer's email address
Webhook URL for payment notifications
api.parse.bot/scraper/fc546151-f312-4733-88a5-e8d1e9aa51bd/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/fc546151-f312-4733-88a5-e8d1e9aa51bd/initialize_checkout' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace developers-korapay-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Korapay Bank Verification SDK — verify Nigerian bank accounts."""
from parse_apis.korapay_bank_verification_api import Korapay, BankCode, Currency, AccountNotFound

korapay = Korapay()

# Verify a bank account at Access Bank using the typed enum
account = korapay.bankaccounts.verify(
    bank_code=BankCode.ACCESS_BANK,
    account_number="0690000032",
    currency=Currency.NGN,
)

print(account.bank_name, account.account_name, account.account_number)

# Verify another account at a different bank
try:
    gtb_account = korapay.bankaccounts.verify(
        bank_code=BankCode.GTBANK,
        account_number="0123456789",
    )
    print(gtb_account.bank_name, gtb_account.account_name)
except AccountNotFound as exc:
    print(f"Account not found: {exc}")

print("exercised: bankaccounts.verify with BankCode enum, Currency enum, and AccountNotFound error handling")
All endpoints · 10 totalmissing one? ·

Initialize a checkout/charge session to get a redirect URL for payment.

Input
ParamTypeDescription
amountrequirednumberAmount to charge
currencystringCurrency code (e.g., NGN, GHS, KES)
narrationstringTransaction description
referencerequiredstringUnique transaction reference
redirect_urlrequiredstringURL to redirect the customer to after payment
customer_namerequiredstringCustomer's name
customer_emailrequiredstringCustomer's email address
notification_urlstringWebhook URL for payment notifications
Response
{
  "type": "object",
  "fields": {
    "data": "object",
    "status": "boolean",
    "message": "string"
  },
  "sample": {
    "data": {
      "reference": "test-postman-transaction-1",
      "checkout_url": "https://checkout.korapay.com/6000/test-postman-transaction-1"
    },
    "status": true,
    "message": "Charge initialized successfully"
  }
}

About the Korapay API

Payment Collection

The initialize_checkout endpoint accepts a required amount, reference, redirect_url, customer_name, and customer_email to generate a hosted payment session, returning a data object that contains the redirect URL. Once a payment is made, query_charge lets you fetch the current status and full details of that charge using its reference. For bulk reconciliation, get_all_pay_ins supports date-range filtering (from, to), pagination (page, limit), status filtering (e.g., success, failed), and currency filtering, returning an array of pay-in transaction records.

Virtual Accounts and Cards

create_virtual_bank_account provisions a virtual Nigerian bank account tied to a specific customer, with optional fields for kyc_bvn, bank_code, and a permanent flag controlling whether the account is reusable or one-time. The paired query_virtual_bank_account endpoint retrieves account details by account_reference. create_virtual_card issues a new virtual card by specifying a brand, initial amount, currency, and a card_holder_reference, returning a data object with card details.

Payouts and Balances

initiate_payout supports both bank account and mobile money disbursements. For bank transfers, supply bank_code and recipient details; for mobile money, supply operator (e.g., safaricom-ke) and mobile_number. query_payout retrieves payout status by reference. get_balances returns real-time available and pending balance figures for the authenticated account with no required inputs.

Bank Account Verification

verify_bank_account is the verification endpoint: it accepts a 10-digit account_number and a bank_code, and returns account_name, bank_name, bank_code, and account_number when the account resolves successfully. The currency parameter currently accepts only NGN, making this strictly a Nigerian bank resolution endpoint. It returns an upstream error response when the account number is invalid or cannot be resolved.

Reliability & maintenanceVerified

The Korapay API is a managed, monitored endpoint for developers.korapay.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when developers.korapay.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official developers.korapay.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1d ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Validate Nigerian bank account ownership before disbursing funds by calling verify_bank_account with the recipient's account_number and bank_code.
  • Provision dedicated virtual bank accounts for marketplace sellers using create_virtual_bank_account with a permanent flag.
  • Build a payment checkout flow by calling initialize_checkout and redirecting customers to the returned URL.
  • Reconcile monthly pay-in transactions using get_all_pay_ins with date range and status filters.
  • Automate payroll disbursements across Nigerian bank accounts and Kenyan mobile money via initiate_payout.
  • Monitor wallet liquidity in real time by polling get_balances for available and pending figures.
  • Issue virtual cards for employee expense management using create_virtual_card with a cardholder reference.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Korapay have an official developer API?+
Yes. Korapay publishes an official API documented at https://developers.korapay.com. This Parse API surfaces the same endpoints for programmatic access.
What does verify_bank_account actually return?+
It returns four fields: account_name (the registered holder name), bank_name, bank_code, and account_number. The endpoint only supports NGN accounts — pass the 10-digit account number and the numeric bank code. If the account cannot be resolved, the endpoint returns an upstream error rather than an empty result.
Can I filter pay-in transaction history by specific bank or payment channel?+
The get_all_pay_ins endpoint supports filtering by status, currency, date range (from/to), and pagination (page/limit). Filtering by specific bank or payment channel is not currently exposed. You can fork this API on Parse and revise it to add those filters if the underlying data supports them.
Does this API cover GHS or KES bank account verification, not just NGN?+
Not currently. The verify_bank_account endpoint only supports Nigerian bank accounts (NGN). The payout endpoints do reference GHS and KES currencies and mobile money operators, but account name resolution is NGN-only. You can fork this API on Parse and revise it to add verification endpoints for other supported currencies if Korapay exposes that capability.
Is there a way to retrieve the transaction history for virtual cards?+
The current API covers virtual card creation via create_virtual_card but does not expose a card transaction history endpoint. You can fork this API on Parse and revise it to add a card transactions endpoint.
Page content last updated . Spec covers 10 endpoints from developers.korapay.com.
Related APIs in FinanceSee all →
nowpayments.io API
Accept cryptocurrency payments and create invoices with real-time price estimation across multiple currencies. Check payment status, retrieve transaction details, and query account balances through a single integration.
kiva.org API
Search and explore microfinance loans, borrower profiles, and lending partners on Kiva while tracking loan details, lender contributions, and real-time impact updates. Build applications that connect users with microfinance opportunities and monitor the global lending community's progress.
theswiftcodes.com API
Validate and look up SWIFT codes, IBANs, and US routing numbers across banks and countries worldwide. Search for banking details by country or institution, and verify the accuracy of international payment identifiers in real-time.
autochek.africa API
Browse and search car listings from Autochek Kenya's marketplace, view detailed vehicle information including specs and pricing, explore available makes and models, and get instant loan eligibility estimates for your purchase. Discover popular cars, brand new inventory, and connect with dealers all in one place.
codashop.com API
Purchase game credits and top-ups from Codashop by browsing their product catalog across multiple countries, searching for specific items, and viewing detailed pricing and payment options. Access comprehensive product information including SKUs and available payment channels to find exactly what you need for your favorite games.
paisabazaar.com API
Browse and compare credit cards from multiple banks, filtering by category or specific issuers to find cards matching your rewards preferences and eligibility. Get detailed information on fees, rewards programs, and requirements to make informed decisions about which card suits your financial needs.
buysellvoucher.com API
Search and purchase gift cards programmatically on BuySellVouchers, checking product details and balances while automating your transactions with integrated payment processing. Manage your voucher buying workflow efficiently by logging in, browsing available cards, and completing purchases without manual intervention.
shop.garena.my API
Browse Garena games and channels available in Malaysia, then initiate purchases for in-game currency directly through the payment system. Streamline your gaming experience by discovering titles and completing top-ups in one integrated platform.