skills/paystack-miscellaneous/SKILL.md
Paystack Miscellaneous API — supporting endpoints for fetching bank lists, country data, and address verification states. Use this skill whenever you need bank codes for transfers or account resolution, listing supported countries and their currencies, fetching states for address verification (AVS), looking up bank slugs for DVA providers, or filtering banks by payment capabilities. Also use when you see references to /bank endpoint, bank_code lookups, /country endpoint, or /address_verification/states.
npx skillsauth add rexedge/paystack paystack-miscellaneousInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Supporting APIs for bank lists, countries, and address verification.
Depends on: paystack-setup for the
paystackRequesthelper.
| Method | Endpoint | Description |
| --- | --- | --- |
| GET | /bank | List banks |
| GET | /country | List supported countries |
| GET | /address_verification/states | List states for AVS |
| Param | Type | Required | Description |
| --- | --- | --- | --- |
| country | string | No | ghana, kenya, nigeria, south africa |
| use_cursor | boolean | No | Enable cursor pagination |
| perPage | integer | No | Records per page (default: 50, max: 100) |
| pay_with_bank_transfer | boolean | No | Filter banks supporting transfers |
| pay_with_bank | boolean | No | Filter banks supporting direct pay |
| enabled_for_verification | boolean | No | Filter banks supporting verification (SA) |
| currency | string | No | Filter by currency |
| type | string | No | mobile_money or ghipss (Ghana only) |
| gateway | string | No | emandate or digitalbankmandate |
| next / previous | string | No | Cursor pagination tokens |
| include_nip_sort_code | boolean | No | Include NIP institution code (Nigeria) |
// All Nigerian banks
const banks = await paystackRequest("/bank?country=nigeria");
// banks.data[0]: { name, slug, code, longcode, gateway, pay_with_bank, active, country, currency, type }
// Banks that support bank transfer payment
const transferBanks = await paystackRequest(
"/bank?country=nigeria&pay_with_bank_transfer=true"
);
// Ghana mobile money providers
const mobileMoney = await paystackRequest(
"/bank?country=ghana&type=mobile_money"
);
// South African banks with verification support
const saBanks = await paystackRequest(
"/bank?country=south%20africa&enabled_for_verification=true"
);
| Bank | Code | Slug | | --- | --- | --- | | Access Bank | 044 | access-bank | | GTBank | 058 | guaranty-trust-bank | | First Bank | 011 | first-bank-of-nigeria | | UBA | 033 | united-bank-for-africa | | Zenith Bank | 057 | zenith-bank | | Wema Bank | 035 | wema-bank |
const countries = await paystackRequest("/country");
// countries.data[0]:
// {
// id: 1,
// name: "Nigeria",
// iso_code: "NG",
// default_currency_code: "NGN",
// relationships: { currency: { data: ["NGN", "USD"] } }
// }
Get states for address verification. The country param is the country code returned from the charge response (used during Address Verification challenges).
const states = await paystackRequest(
"/address_verification/states?country=CA"
);
// states.data[0]: { name: "Alberta", slug: "alberta", abbreviation: "AB" }
development
Paystack webhook integration — signature validation with HMAC SHA512, event parsing, IP whitelisting, retry policy, and all supported event types. Use this skill whenever setting up a webhook endpoint for Paystack, validating x-paystack-signature headers, handling charge.success or transfer.success events, debugging webhook delivery failures, implementing idempotent event processing, or building any server-side Paystack event listener. Also use when encountering webhook timeout issues or needing the list of Paystack webhook IP addresses.
tools
Paystack Verification API — KYC verification tools for resolving bank accounts, validating account ownership, and looking up card BIN information. Use this skill whenever verifying bank account details before transfers, confirming account holder names, validating customer identity for compliance, looking up card brand/type/bank from BIN, or implementing KYC flows. Also use when you see references to /bank/resolve, /bank/validate, /decision/bin endpoints, or need to match account numbers to names.
development
Paystack Transfers API — send money to bank accounts and mobile wallets. Initiate single and bulk transfers, finalize OTP-verified transfers, list, fetch, and verify transfer status. Use this skill whenever implementing payouts, disbursements, vendor payments, withdrawal flows, or any feature that sends money from your Paystack balance to recipients. Also use when you see references to transfer_code, TRF_ prefixed codes, the /transfer endpoint, or need to handle transfer OTP verification.
development
Paystack Transfer Recipients API — create, list, fetch, update, and delete transfer recipients (beneficiaries) for payouts. Supports NUBAN (Nigeria), GHIPSS (Ghana), Mobile Money, BASA (South Africa), and authorization-based recipients. Use this skill whenever adding bank accounts or mobile wallets as payout destinations, creating transfer recipients before initiating transfers, managing beneficiary lists, or doing bulk recipient creation. Also use when you see references to recipient_code, RCP_ prefixed codes, or the /transferrecipient endpoint.