Paystack
Keep Paystack in step with your orders, invoices and payments without re-keying, with the right person approving what changes.
29 ways to read, 9 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Paystack, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create customer
customers.createApproval by rule - Create payment page
payment_pages.createApproval by rule - List balances
balances.listRead
Example flow
- Paystack · List balances
balances.listDone - Paystack · Create customer
customers.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Paystack.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Paystack
- Paystack's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a Paystack test account before you go live.
For developers
Technical detail
Paystack: transactions, customers, plans, subscriptions, products, payment pages, payment requests, settlements, refunds, disputes, transfers and balances.
Paystack API docs- Source actions
- 29
- Destination actions
- 9
- Data types
- 18
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
balances1
- List balancesSource
Read the available balance per currency; not a request to move funds.
banks1
- List banksSource
Read banks and mobile money providers Paystack supports in a country.
customers4
- Create customerDestinationNot retried automaticallyApproval before production
Create a Paystack customer.
- Get customerSource
Read one customer by customer code (emails are not sent in URLs).
- List customersSourceIncremental
Read customers on the integration.
- Update customerDestinationProvider duplicate protectionApproval before production
Update a customer's name, phone or metadata.
disputes2
- Get disputeSource
Read one dispute; customer, card and message details are omitted.
- List disputesSourceIncremental
Read chargebacks and fraud claims.
payment pages4
- Create payment pageDestinationNot retried automaticallyApproval before production
Create a Paystack-hosted payment page. No money moves until a customer pays on it.
- Get payment pageSource
Read one payment page by ID or slug.
- List payment pagesSourceIncremental
Read hosted payment pages.
- Update payment pageDestinationProvider duplicate protectionApproval before production
Change a page's name, description, amount or active state.
payment requests4
- Create draft payment requestDestinationNot retried automaticallyApproval before production
Create a payment request (invoice) as a draft. It is not sent, so the customer is not notified.
- Get payment requestSource
Read one Paystack payment request.
- List payment requestsSourceIncremental
Read payment requests (invoices).
- Update draft payment requestDestinationProvider duplicate protectionApproval before production
Update a draft payment request. Nexra keeps it a draft and turns off the customer notification.
plans3
- Create planDestinationNot retried automaticallyApproval before production
Create a subscription plan. Creating a plan charges no one.
- Get planSource
Read one Paystack plan.
- List plansSourceIncremental
Read subscription plans.
products4
- Create productDestinationNot retried automaticallyApproval before production
Create a product with price and stock.
- Get productSource
Read one Paystack product.
- List productsSourceIncremental
Read products sold through payment pages and storefronts.
- Update productDestinationProvider duplicate protectionApproval before production
Update a product's name, description, price, stock or metadata.
refunds2
- Get refundSource
Read one Paystack refund.
- List refundsSourceIncremental
Read refunds; does not create them.
settlement transactions1
- List settlement transactionsSource
Read the transactions included in one settlement, for bank reconciliation.
settlements1
- List settlementsSourceIncremental
Read payouts of collected funds to your bank account.
subaccounts2
- Get subaccountSource
Read one Paystack subaccount.
- List subaccountsSource
Read split-payment subaccounts; settlement account numbers are not mapped.
subscriptions2
- Get subscriptionSource
Read one subscription; the card authorization and email token are not mapped.
- List subscriptionsSourceIncremental
Read subscriptions, optionally for one plan or customer.
transaction details1
- Get transactionSource
Read one transaction by its Paystack ID.
transaction timelines1
- Get transaction timelineSource
Read the checkout steps, attempts and errors of one transaction.
transaction totals1
- Get transaction totalsSource
Read total volume and pending transfers, overall and by currency.
transactions2
- Verify transactionSource
Verify an existing transaction by its merchant reference.
- List transactionsSourceIncremental
Read Paystack transactions; amounts remain in currency subunits.
transfers2
- Get transferSource
Read one transfer; recipient bank account details are omitted.
- List transfersSourceIncremental
Read transfers already made from the balance; does not initiate them.
Access and limits
- Authentication
- Secret API key in Bearer header
- Plans and access
- A Paystack business with a secret key; live keys need an activated business. Use the secret key from Settings > API Keys & Webhooks; test and live keys reach the same host and are scoped to their mode.
- Test environment
- Use the test secret key (sk_test_...) for test-mode data.
- Rate limits
- Paystack does not publish fixed limits; it returns HTTP 429 when throttling, which Nexra honours with bounded retries.
- Pagination
- Most lists use page and perPage (max 100) with meta.pageCount; banks use cursor pagination (meta.next).
- Provider events
- Paystack sends charge, transfer, subscription, invoice, refund and dispute events to the webhook URL set in the Dashboard. Flows can start the moment something happens: when a payment succeeds; when a transfer is completed; when a transfer fails; when a refund is processed.
Before you build a flow
- Intentional exclusions: initializing, charging or partially debiting transactions, charge authorizations, bulk charges, transfers and transfer finalisation, transfer recipients, refunds, dispute resolution and evidence, subscription creation, enabling or disabling, finalising, sending, notifying or archiving payment requests, deleting products, dedicated accounts and direct debit.
- Customer lookups use the customer code or ID; Paystack also accepts an email in the URL path, which Nexra never sends.
- Paystack documents no idempotency key for creates, so an uncertain create is never repeated.
- Date filters are on creation time; incremental reads do not pick up later status changes.
- Card authorization codes, subaccount settlement account numbers, transfer recipient bank details, dispute messages and customer data on disputes are not mapped.
- Amounts are integer subunits (kobo, pesewas, cents).
Developer reference
- Create the Paystack credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Paystack, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/paystack and the Connections API.
