Paystack integration

SA/Africa payments: transactions, transfers, customers, subscriptions, AVS, Capitec Pay/QR/EFT

Help CentreConnectors

Overview

Paystack is Africa's leading payment processor – Nigeria, Ghana, SA, Kenya, Côte d'Ivoire. Cards, mobile money, bank transfers, USSD. The Automize Paystack connector covers transactions, transfers, customers, subscriptions, AVS, plans, refunds.

  • Regions: Nigeria, Ghana, South Africa, Kenya, Côte d'Ivoire, Egypt.
  • Plans: Pay-per-transaction. No monthly fees.

Setting up the connection

Auth type: Bearer Token.

  1. Paystack dashboard → Settings → API Keys & Webhooks → copy Secret Key (sk_test_ or sk_live_).
  2. In Automize → Settings → Connectors → Paystack. Paste key.

Find your credentials at https://dashboard.paystack.com/#/settings/developer.


Rate limits

Paystack enforces ~100 req/sec. Connector retries 429.


Data model

Payments + customers:

    Customer ─┬─ Transactions ─── Refunds
              ├─ Subscriptions ── Plans
              └─ Bank Accounts (AVS verified)
    Transfers (push to bank accounts)

Available operations

21 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Get BalanceAccountGet account balance
List SettlementsAccountList settlements paid to your bank account
List BanksBanking & AVSList banks supported for collections/transfers (pass country=south africa)
Resolve Bank Account (AVS)Banking & AVSVerify a bank account number; SA returns accountOpen/holderMatch/etc.
Create CustomerCustomersCreate a customer record
Fetch CustomerCustomersGet customer by email or code
List CustomersCustomersList customers
Create RefundRefundsRefund a transaction (full or partial)
List RefundsRefundsList refunds for a transaction or across the account
Create PlanSubscriptionsCreate a recurring plan
Create SubscriptionSubscriptionsSubscribe a customer to a plan
Disable SubscriptionSubscriptionsDisable an active subscription
Charge AuthorizationTransactionsCharge a previously authorized card (tokenised)
Fetch TransactionTransactionsGet transaction details by ID
Initialize TransactionTransactionsStart a payment transaction and get a checkout URL
List TransactionsTransactionsList transactions (filter by status, customer, date range)
Verify TransactionTransactionsVerify a transaction by its reference
Create Transfer RecipientTransfersCreate a transfer recipient (bank account)
Initiate TransferTransfersTransfer funds to a recipient
List TransfersTransfersList transfers
Verify TransferTransfersVerify a transfer by reference

Operations

Charge Authorization

Charge a previously authorized card (tokenised)

ParameterRequiredTypeDescription
Email emailNotext
Amount amountNotext
Authorization Code authorization_codeNotext
Reference referenceNotext
Currency currencyNotext
Metadata metadataNotext

Tips

  • Recurring charge using a saved card token (authorization_code).

Create Customer

Create a customer record

ParameterRequiredTypeDescription
Email emailNotext
First Name first_nameNotext
Last Name last_nameNotext
Phone phoneNotext
Metadata metadataNotext

Create Plan

Create a recurring plan

ParameterRequiredTypeDescription
Name nameNotext
Amount amountNotext
Interval intervalNotext
Description descriptionNotext
Currency currencyNotext

Create Refund

Refund a transaction (full or partial)

ParameterRequiredTypeDescription
Transaction transactionNotext
Amount amountNotext
Currency currencyNotext
Customer Note customer_noteNotext
Merchant Note merchant_noteNotext

Create Subscription

Subscribe a customer to a plan

ParameterRequiredTypeDescription
Customer customerNotext
Plan planNotext
Authorization authorizationNotext
Start Date start_dateNotext

Tips

  • customer + plan + start_date. Auto-charges per plan interval.

Create Transfer Recipient

Create a transfer recipient (bank account)

ParameterRequiredTypeDescription
Type typeNotext
Name nameNotext
Account Number account_numberNotext
Bank Code bank_codeNotext
Currency currencyNotext
Description descriptionNotext
Metadata metadataNotext

Disable Subscription

Disable an active subscription

ParameterRequiredTypeDescription
Code codeNotext
Token tokenNotext

Fetch Customer

Get customer by email or code

ParameterRequiredTypeDescription
Email Or Code email_or_codeYestext

Fetch Transaction

Get transaction details by ID

ParameterRequiredTypeDescription
Id idYestext

Get Balance

Get account balance

No input parameters.


Initialize Transaction

Start a payment transaction and get a checkout URL

ParameterRequiredTypeDescription
Email emailNotext
Amount amountNotext
Currency currencyNotext
Reference referenceNotext
Callback Url callback_urlNotext
Channels channelsNotext
Metadata metadataNotext
Split Code split_codeNotext
Subaccount subaccountNotext

Tips

  • email + amount (in kobo/cents). Returns authorization_url to redirect customer.

Initiate Transfer

Transfer funds to a recipient

ParameterRequiredTypeDescription
Source sourceNotext
Amount amountNotext
Recipient recipientNotext
Reason reasonNotext
Currency currencyNotext
Reference referenceNotext

List Banks

List banks supported for collections/transfers (pass country=south africa)

No input parameters.


List Customers

List customers

No input parameters.

Tips

  • Filter by email, perPage, page.

List Refunds

List refunds for a transaction or across the account

No input parameters.


List Settlements

List settlements paid to your bank account

No input parameters.


List Transactions

List transactions (filter by status, customer, date range)

No input parameters.


List Transfers

List transfers

No input parameters.


Resolve Bank Account (AVS)

Verify a bank account number; SA returns accountOpen/holderMatch/etc.

No input parameters.


Verify Transaction

Verify a transaction by its reference

ParameterRequiredTypeDescription
Reference referenceYestext

Tips

  • reference. Returns success status + paid amount + customer.

Verify Transfer

Verify a transfer by reference

ParameterRequiredTypeDescription
Reference referenceYestext

FAQ

Test vs live keys?
sk_test_ for sandbox; sk_live_ for production. Use separate connections per environment.
Why is my transfer requiring OTP?
Outgoing transfers in NG require OTP for security. The Finalize Transfer step takes the OTP. Configure your business to skip OTP via Paystack support if appropriate.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.