▥ ToolPlane Registry

Hosted MCP integration

Paystack MCP - Payments MCP server

Handles Paystack Payments API for processing transactions, charges, subscriptions, refunds, disputes, virtual accounts, and customer authorizations. Supports payment initialization, verification, and management for secure payment workflows and status tracking.

What you can do

Give your agent access to the enabled tools in this release, including:

  • List customers: Retrieve a paginated list of customers with optional date range filters for precise results.
  • List transactions: Retrieve a paginated list of transactions filtered by date, customer, terminal ID, status, and amount.
  • Get transaction timeline: Retrieve the detailed timeline of a transaction using its ID or reference.
  • Get transaction totals: Retrieve transaction totals with optional pagination and date range filters.
  • List bulk charge batches: Retrieve paginated bulk charge batches filtered by date range with optional page and per-page limits.
  • List plans: Retrieve a paginated list of payment plans filtered by status, interval, and amount.

How to connect Paystack MCP - Payments to your AI agent

  1. Sign in to ToolPlane and install this release into your project.
  2. Configure your own provider credentials and any account-specific settings.
  3. Review enabled tools and permissions, deploy the server, then add its MCP endpoint to your compatible agent client.

Provider setup instructions

Connect to any agent following the individual agent's MCP documentation

Authentication and permissions

Installation requires a ToolPlane account. Provider authorization is configured separately with your own credentials. Available operations depend on the permissions granted by your provider account.

Verification and limitations

Verified 2026-11-09. This has been tested with almost all the available Agents out there.

Only the tools listed for this release are included. Review the verification notes and enable the operations appropriate for your use case. Future releases do not automatically change an installed copy.

Release notes

Initial release

About this integration

This listing is published on ToolPlane. The provider name identifies the connected service; inclusion in the registry does not by itself imply provider endorsement. The source release, supported tools and verification notes are shown here so you can assess it before installing.

Available tools

initialize_transaction

Create a new transaction with details like email, amount, currency, reference, callback URL, plan, invoice limit, and metadata.

Enabled
Example request and response
{
  "request": {
    "email": "customer@example.com",
    "amount": "10000",
    "currency": "NGN",
    "reference": "toolplane-payment-0001"
  }
}

verify_transaction

Check the status and validity of a transaction using its unique reference ID.

Enabled

list_transactions

Retrieve a paginated list of transactions filtered by date, customer, terminal ID, status, and amount.

Enabled

fetch_transaction

Retrieve detailed information for a specific transaction using its unique ID.

Enabled

charge_authorization

Charge a payment using a reusable authorization with details like email, amount, currency, reference, and optional metadata and channels.

Enabled

get_transaction_timeline

Retrieve the detailed timeline of a transaction using its ID or reference.

Enabled

get_transaction_totals

Retrieve transaction totals with optional pagination and date range filters.

Enabled

export_transactions

Export transaction data with filters for date range, customer, status, currency, amount, and pagination options.

Enabled

partial_debit

Partially debit a transaction authorization using authorization code, amount, currency, email, reference, and minimum amount parameters.

Enabled

create_charge

Create a payment charge with details like email, amount, currency, reference, metadata, device ID, split code, and subaccount.

Enabled

submit_charge_pin

Submit a charge PIN using the provided reference and PIN to authorize the transaction.

Enabled

submit_charge_otp

Submit a one-time password (OTP) to verify and complete a payment using the provided reference and OTP code.

Enabled

submit_charge_phone

Submit a phone number with a reference to initiate a charge request.

Enabled

submit_charge_birthday

Submit a charge request with a reference ID and the user's birthday date.

Enabled

submit_charge_address

Submit billing address details including reference, address, city, state, and zipcode for charge processing.

Enabled

check_pending_charge

Retrieve the status of a pending charge using its reference ID.

Enabled

list_bulk_charge_batches

Retrieve paginated bulk charge batches filtered by date range with optional page and per-page limits.

Enabled

initiate_bulk_charge

Start a bulk payment process by submitting a request to charge multiple accounts simultaneously.

Enabled

fetch_bulk_charge_batch

Retrieve details of a bulk charge batch using its ID or code.

Enabled

fetch_bulk_batch_charges

Retrieve charges from a batch using its ID or code, with optional filters for pagination, date range, and status.

Enabled

pause_bulk_charge_batch

Pause a bulk charge batch using its batch code.

Enabled

resume_bulk_charge_batch

Resume a paused bulk charge batch using the specified batch code.

Enabled

list_plans

Retrieve a paginated list of payment plans filtered by status, interval, and amount.

Enabled

create_plan

Create a payment plan with details like name, amount, interval, description, currency, invoice limits, and options to send invoices or SMS.

Enabled

fetch_plan

Retrieve detailed information about a payment plan using its ID or code.

Enabled

update_plan

Update a payment plan's details including name, amount, interval, description, notifications, and currency by plan ID or code.

Enabled

list_subscriptions

Retrieve a paginated list of subscriptions, with optional filters for customer and plan details.

Enabled

create_subscription

Create a subscription by providing customer details, plan, authorization, and start date.

Enabled

fetch_subscription

Retrieve detailed subscription information using a subscription ID or code.

Enabled

enable_subscription

Activate a subscription using a provided code and authentication token.

Enabled

disable_subscription

Disable a subscription using the provided code and authentication token.

Enabled

generate_subscription_update_link

Generate a secure link to update the subscription details using the provided subscription code.

Enabled

send_subscription_update_link

Send an email with a subscription update link using the provided subscription code.

Enabled

list_transaction_splits

Retrieve a paginated list of transaction splits with optional filters for date range, name, status, and sorting.

Enabled

create_transaction_split

Create a transaction split with specified name, type, currency, subaccounts, and bearer details via a POST request.

Enabled

fetch_transaction_split

Retrieve detailed information about a specific transaction split using its unique ID.

Enabled

update_transaction_split

Update a transaction split by ID with new name, status, bearer type, and bearer subaccount details.

Enabled

add_or_update_split_subaccount

Add or update a subaccount's share in a revenue split by specifying the split ID, subaccount, and share amount.

Enabled

remove_split_subaccount

Remove a specified subaccount from a split by its ID.

Enabled

list_subaccounts

Retrieve a paginated list of subaccounts with optional date range filters.

Enabled

create_subaccount

Create a new subaccount with default settings via a POST request to the subaccount endpoint.

Enabled

fetch_subaccount

Retrieve detailed information about a subaccount using its ID or code.

Enabled

update_subaccount

Update a subaccount's details using its ID or code, including business name, bank info, contact details, and description.

Enabled

list_dedicated_accounts

Retrieve a list of dedicated virtual accounts filtered by status, currency, provider, bank, or customer.

Enabled

create_dedicated_account

Create a dedicated virtual account with customer details, preferred bank, subaccount, split code, and contact information.

Enabled

assign_dedicated_account

Assign a dedicated virtual account using user details including name, email, phone, bank info, account number, BVN, and bank code.

Enabled

fetch_dedicated_account

Retrieve details of a specific dedicated virtual account using its unique ID.

Enabled

deactivate_dedicated_account

Deactivate a dedicated virtual account by its unique ID.

Enabled

requery_dedicated_account

Retrieve transaction details for a dedicated account using account number, provider identifier, and date.

Enabled

split_dedicated_account

Split a customer's dedicated account by subaccount, split code, and preferred bank via a POST request.

Enabled

remove_dedicated_account_split

Delete the split configuration for a dedicated account using the account number.

Enabled

list_dedicated_account_providers

Retrieve a list of available providers offering dedicated accounts.

Enabled

initialize_preauthorization

Initialize a card preauthorization by providing payment details, customer email, amount, currency, reference, callback URL, metadata, and optional split info.

Enabled

capture_preauthorization

Capture a specified amount of preauthorized funds using reference and currency details.

Enabled

reserve_preauthorization

Reserve funds on a reusable payment authorization using email, amount, authorization code, currency, and reference details.

Enabled

verify_preauthorization

Check the status of a preauthorization using its reference ID.

Enabled

release_preauthorization

Release preauthorized funds using a reference identifier to free reserved amounts.

Enabled

list_preauthorizations

Retrieve a paginated list of preauthorizations filtered by date, customer, status, and amount.

Enabled

list_apple_pay_domains

Retrieve a paginated list of registered Apple Pay domains with optional cursor-based navigation.

Enabled

register_apple_pay_domain

Register a domain for Apple Pay by submitting the domain name via a POST request.

Enabled

unregister_apple_pay_domain

Remove a registered Apple Pay domain by specifying its domain name.

Enabled

requery_capitec_pay

POST request to requery the status of a payment charge using the provided reference ID.

Enabled

list_disputes

Retrieve a paginated list of disputes filtered by date range, transaction ID, and status.

Enabled

fetch_dispute

Retrieve detailed information about a specific dispute using its unique ID.

Enabled

update_dispute

Update a dispute by ID, modifying refund amount and uploaded file details.

Enabled

list_transaction_disputes

Retrieve a list of disputes associated with a specific transaction by its ID.

Enabled

add_dispute_evidence

Submit evidence for a dispute by providing customer info, service details, delivery address, and delivery date.

Enabled

get_dispute_upload_url

Retrieve a secure upload URL to attach a file to a specific dispute using its ID and the upload filename.

Enabled

resolve_dispute

Resolve a dispute by providing resolution details, message, refund amount, evidence, and optional uploaded file using the dispute ID.

Enabled

export_disputes

Retrieve a filtered list of disputes with pagination and export options based on date range, transaction ID, and status.

Enabled

list_refunds

Retrieve a paginated list of refunds filtered by date range, transaction ID, currency, or reference number.

Enabled

create_refund

Initiate a refund by specifying transaction details, amount, currency, and optional customer and merchant notes with a reference.

Enabled

retry_refund_with_customer_details

Retry a refund by submitting customer bank details using the refund ID and account information.

Enabled

fetch_refund

Retrieve detailed information about a specific refund using its unique ID.

Enabled

list_customers

Retrieve a paginated list of customers with optional date range filters for precise results.

Enabled

create_customer

Create a new customer with email, first name, last name, phone, and optional metadata details.

Enabled

fetch_customer

Retrieve customer details using their email or unique code identifier.

Enabled

update_customer

Update a customer's details using their identifier, including first name, last name, phone, and additional metadata.

Enabled

validate_customer

Verify a customer's identity using personal details and banking information for accurate validation.

Enabled

set_customer_risk_action

Assign a specific risk action to a customer by providing their identifier and the desired risk action.

Enabled

initialize_customer_authorization

Initialize reusable direct-debit authorization by providing customer email, channel, callback URL, account, and address details.

Enabled

verify_customer_authorization

Check if a customer authorization request identified by a reference is valid and approved.

Enabled

initialize_customer_direct_debit

Set up direct debit for a customer using their ID, bank account, and address details.

Enabled

activate_customer_direct_debit

Activate a customer's direct debit mandate by triggering the associated activation charge using customer and authorization IDs.

Enabled

fetch_customer_mandates

Retrieve direct debit mandate authorizations for a specific customer by their ID.

Enabled

deactivate_customer_authorization

Deactivate a customer's authorization using the provided authorization code.

Enabled

trigger_mandate_activation_charges

Activate pending direct debit mandate charges for specified customers by providing their IDs.

Enabled

list_mandate_authorizations

Retrieve a paginated list of mandate authorizations filtered by status, with optional cursor-based navigation.

Enabled

list_payment_banks

Retrieve a list of payment banks and providers filtered by country, currency, type, and pagination options.

Enabled

list_address_verification_states

Retrieve a list of address verification states for a specified country.

Enabled