All integrations

Paystack

BUSINESS · COMMERCE & FINANCE

Transactions, customers, subscriptions, and transfers on that merchant’s account.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

paystack_delete_apple_pay_domainWRITE

Unregister a top-level domain or subdomain previously used for your Apple Pay integration. via DELETE /apple-pay/domain

api
paystack_delete_dedicated_account_by_idWRITE

Deactivate a dedicated virtual account on your integration. via DELETE /dedicated_account/{id}

api
paystack_delete_dedicated_account_splitWRITE

If you've previously set up split payment for transactions on a dedicated virtual account, you can remove it with this endpoint via DELETE /dedicated_account/split

api
paystack_delete_product_by_idWRITE

Delete a previously created product via DELETE /product/{id}

api
paystack_delete_storefront_by_idWRITE

Delete a previously created Storefront via DELETE /storefront/{id}

api
paystack_delete_transferrecipient_by_codeWRITE

Delete a transfer recipient (sets the transfer recipient to inactive) via DELETE /transferrecipient/{code}

api
paystack_delete_virtual_terminal_by_code_split_codeWRITE

Remove Split Code from Virtual Terminal via DELETE /virtual_terminal/{code}/split_code

api
paystack_get_address_verification_statesREAD

Get a list of states for a country for address verification via GET /address_verification/states

api
paystack_get_apple_pay_domainREAD

Lists all registered domains on your integration. Returns an empty array if no domains have been added. via GET /apple-pay/domain

api
paystack_get_balanceREAD

Fetch the available balance on your integration via GET /balance

api
paystack_get_balance_ledgerREAD

Fetch all pay-ins and pay-outs that occured on your integration via GET /balance/ledger

api
paystack_get_bankREAD

List banks supported on Paystack via GET /bank

api
paystack_get_bank_resolveREAD

Resolve an account number to confirm the name associated with it via GET /bank/resolve

api
paystack_get_bulkchargeREAD

List all bulk charge batches. via GET /bulkcharge

api
paystack_get_bulkcharge_by_codeREAD

This endpoint retrieves a specific batch code. It also returns useful information on its progress by way of the `total_charges` and `pending_charges` attributes. via GET /bulkcharge/{code}

api
paystack_get_bulkcharge_by_code_chargesREAD

This endpoint retrieves the charges associated with a specified batch code via GET /bulkcharge/{code}/charges

api
paystack_get_bulkcharge_pause_by_codeREAD

Pause the processing of a charge batch via GET /bulkcharge/pause/{code}

api
paystack_get_bulkcharge_resume_by_codeREAD

Resume the processing of a previously paused charge batch via GET /bulkcharge/resume/{code}

api
paystack_get_charge_by_referenceREAD

When you get `pending` as a charge status or if there was an exception when calling any of the `/charge` endpoints, wait 10 seconds or more, then make a check to see if its status has changed. Don't call too early as you may get a lot more pending than you should. via GET /charge/{reference}

api
paystack_get_countryREAD

List all supported countries on Paystack via GET /country

api
paystack_get_customerREAD

List customers on your integration via GET /customer

api
paystack_get_customer_authorization_verify_by_referenceREAD

Check the status of an authorization request via GET /customer/authorization/verify/{reference}

api
paystack_get_customer_by_codeREAD

Get details of a customer on your integration. via GET /customer/{code}

api
paystack_get_customer_by_id_directdebit_mandate_authorizationsREAD

Get the list of direct debit mandates associated with a customer via GET /customer/{id}/directdebit-mandate-authorizations

api
paystack_get_decision_bin_by_binREAD

Get the details of a card BIN via GET /decision/bin/{bin}

api
paystack_get_dedicated_accountREAD

List dedicated virtual accounts available on your integration. via GET /dedicated_account

api
paystack_get_dedicated_account_available_providersREAD

Get available bank providers for a dedicated virtual account via GET /dedicated_account/available_providers

api
paystack_get_dedicated_account_by_idREAD

Get details of a dedicated virtual account on your integration. via GET /dedicated_account/{id}

api
paystack_get_dedicated_account_requeryREAD

Requery Dedicated Virtual Account for new transactions via GET /dedicated_account/requery

api
paystack_get_directdebit_mandate_authorizationsREAD

Get a list of all the direct debit mandates on your integration via GET /directdebit/mandate-authorizations

api
paystack_get_disputeREAD

List transaction disputes filed by customers via GET /dispute

api
paystack_get_dispute_by_idREAD

Fetch a transaction dispute via GET /dispute/{id}

api
paystack_get_dispute_by_id_upload_urlREAD

Get the URL to upload a dispute evidence via GET /dispute/{id}/upload_url

api
paystack_get_dispute_exportREAD

Export the disputes available on your integration via GET /dispute/export

api
paystack_get_dispute_transaction_by_idREAD

List all disputes filed for a transaction via GET /dispute/transaction/{id}

api
paystack_get_integration_payment_session_timeoutREAD

Fetch the session timeout of a transaction via GET /integration/payment_session_timeout

api
paystack_get_orderREAD

List the previously created orders via GET /order

api
paystack_get_order_by_code_validateREAD

Validate a pay for me order via GET /order/{code}/validate

api
paystack_get_order_by_idREAD

Fetch the details of a previously created order via GET /order/{id}

api
paystack_get_order_product_by_idREAD

Fetch all orders for a particular product via GET /order/product/{id}

api
paystack_get_pageREAD

List all previously created payment pages via GET /page

api
paystack_get_page_by_idREAD

Get a previously created payment page via GET /page/{id}

api
paystack_get_page_check_slug_availability_by_slugREAD

Check if a custom slug is available for use when creating a payment page via GET /page/check_slug_availability/{slug}

api
paystack_get_paymentrequestREAD

List all previously created payment requests to your customers via GET /paymentrequest

api
paystack_get_paymentrequest_by_idREAD

Fetch a previously created payment request via GET /paymentrequest/{id}

api
paystack_get_paymentrequest_totalsREAD

Get the metric of all pending and successful payment requests via GET /paymentrequest/totals

api
paystack_get_paymentrequest_verify_by_idREAD

Verify the status of a previously created payment request via GET /paymentrequest/verify/{id}

api
paystack_get_planREAD

List all recurring payment plans via GET /plan

api
paystack_get_plan_by_codeREAD

Get the details of a payment plan via GET /plan/{code}

api
paystack_get_productREAD

List all previously created products via GET /product

api
paystack_get_product_by_idREAD

Fetch a previously created product via GET /product/{id}

api
paystack_get_refundREAD

List previously created refunds via GET /refund

api
paystack_get_refund_by_idREAD

Get a previously created refund via GET /refund/{id}

api
paystack_get_settlementREAD

List settlements made to your settlement accounts via GET /settlement

api
paystack_get_settlement_by_id_transactionsREAD

Get the transactions that make up a particular settlement via GET /settlement/{id}/transactions

api
paystack_get_splitREAD

List the transaction splits available on your integration via GET /split

api
paystack_get_split_by_idREAD

Get details of a split configuration for a transaction via GET /split/{id}

api
paystack_get_storefrontREAD

List the storefronts you previously created via GET /storefront

api
paystack_get_storefront_by_idREAD

Get the details of a previously created Storefront via GET /storefront/{id}

api
paystack_get_storefront_by_id_orderREAD

Fetch all orders in your Storefront via GET /storefront/{id}/order

api
paystack_get_storefront_by_id_productREAD

List the products in a Storefront via GET /storefront/{id}/product

api
paystack_get_storefront_verify_by_slugREAD

Verify the availability of a slug before using it for your Storefront via GET /storefront/verify/{slug}

api
paystack_get_subaccountREAD

List subaccounts available on your integration via GET /subaccount

api
paystack_get_subaccount_by_codeREAD

Get details of a subaccount on your integration via GET /subaccount/{code}

api
paystack_get_subscriptionREAD

List all subscriptions available on your integration via GET /subscription

api
paystack_get_subscription_by_codeREAD

Get details of a customer's subscription via GET /subscription/{code}

api
paystack_get_subscription_by_code_manage_linkREAD

Generate a link for updating the card on a subscription via GET /subscription/{code}/manage/link

api
paystack_get_terminalREAD

List the Terminals available on your integration via GET /terminal

api
paystack_get_terminal_by_terminal_idREAD

Get the details of a Terminal via GET /terminal/{terminal_id}

api
paystack_get_terminal_by_terminal_id_event_by_event_idREAD

Check the status of an event sent to the Terminal via GET /terminal/{terminal_id}/event/{event_id}

api
paystack_get_terminal_by_terminal_id_presenceREAD

Check the availiability of a Terminal before sending an event to it via GET /terminal/{terminal_id}/presence

api
paystack_get_transactionREAD

List transactions that has occurred on your integration via GET /transaction

api
paystack_get_transaction_by_idREAD

Fetch a transaction to get its details via GET /transaction/{id}

api
paystack_get_transaction_exportREAD

Download transactions that occurred on your integration for a specific timeframe via GET /transaction/export

api
paystack_get_transaction_timeline_by_idREAD

Fetch the steps taken from the initiation to the completion of a transaction via GET /transaction/timeline/{id}

api
paystack_get_transaction_totalsREAD

Get the total amount of all transactions via GET /transaction/totals

api
paystack_get_transaction_verify_by_referenceREAD

Verify a previously initiated transaction using it's reference via GET /transaction/verify/{reference}

api
paystack_get_transferREAD

List the transfers made on your integration via GET /transfer

api
paystack_get_transfer_by_codeREAD

Get details of a transfer on your integration via GET /transfer/{code}

api
paystack_get_transfer_exportREAD

Export a list of transfers carried out on your integration via GET /transfer/export

api
paystack_get_transfer_verify_by_referenceREAD

Verify the status of a transfer on your integration via GET /transfer/verify/{reference}

api
paystack_get_transferrecipientREAD

List transfer recipients available on your integration via GET /transferrecipient

api
paystack_get_transferrecipient_by_codeREAD

Fetch the details of a transfer recipient via GET /transferrecipient/{code}

api
paystack_get_virtual_terminalREAD

List Virtual Terminals on your integration via GET /virtual_terminal

api
paystack_get_virtual_terminal_by_codeREAD

Fetch a Virtual Terminal on your integration via GET /virtual_terminal/{code}

api
paystack_post_apple_pay_domainWRITE

Register a top-level domain or subdomain for your Apple Pay integration. > This endpoint can only be called with one domain or subdomain at a time. via POST /apple-pay/domain

api
paystack_post_bank_validateWRITE

Confirm the authenticity of a customer's account number before sending money via POST /bank/validate

api
paystack_post_bulkchargeWRITE

Charge multiple customers in batches via POST /bulkcharge

api
paystack_post_chargeWRITE

Initiate a payment by integrating the payment channel of your choice. via POST /charge

api
paystack_post_charge_submit_addressWRITE

Send the details of the customer's address for address verification via POST /charge/submit_address

api
paystack_post_charge_submit_birthdayWRITE

Submit the customer's birthday when requested via POST /charge/submit_birthday

api
paystack_post_charge_submit_otpWRITE

Submit OTP to complete a charge via POST /charge/submit_otp

api
paystack_post_charge_submit_phoneWRITE

Submit phone number when requested via POST /charge/submit_phone

api
paystack_post_charge_submit_pinWRITE

Submit PIN to continue a charge via POST /charge/submit_pin

api
paystack_post_customerWRITE

Create a customer on your integration via POST /customer

api
paystack_post_customer_authorization_deactivateWRITE

Deactivate an authorization for any payment channel. via POST /customer/authorization/deactivate

api
paystack_post_customer_authorization_initializeWRITE

Initiate a request to create a reusable authorization code for recurring transactions via POST /customer/authorization/initialize

api
paystack_post_customer_by_code_identificationWRITE

Validate a customer's identity via POST /customer/{code}/identification

api
paystack_post_customer_by_id_initialize_direct_debitWRITE

Initialize the process of linking an account to a customer for Direct Debit transactions via POST /customer/{id}/initialize-direct-debit

api
paystack_post_customer_set_risk_actionWRITE

Set customer's risk action by whitelisting or blacklisting the customer via POST /customer/set_risk_action

api
paystack_post_dedicated_accountWRITE

Create a dedicated virtual account for an existing customer via POST /dedicated_account

api
paystack_post_dedicated_account_assignWRITE

With this endpoint, you can create a customer, validate the customer, and assign a DVA to the customer. via POST /dedicated_account/assign

api
paystack_post_dedicated_account_splitWRITE

Split a dedicated virtual account transaction with one or more accounts via POST /dedicated_account/split

api
paystack_post_dispute_by_id_evidenceWRITE

Provide evidence for a dispute via POST /dispute/{id}/evidence

api
paystack_post_orderWRITE

Create an order for selected items via POST /order

api
paystack_post_pageWRITE

Create a webpage to receive payments via POST /page

api
paystack_post_page_by_id_productWRITE

Add products to a previously created payment page. You can only add products to pages that was created with a `product` type. via POST /page/{id}/product

api
paystack_post_paymentrequestWRITE

Create a new payment request by issuing an invoice to a customer via POST /paymentrequest

api
paystack_post_paymentrequest_archive_by_idWRITE

Archive a payment request to clean up your records. An archived payment request cannot be verified and will not be returned when listing all previously created payment requests. via POST /paymentrequest/archive/{id}

api
paystack_post_paymentrequest_finalize_by_idWRITE

Finalise the creation of a draft payment request for a customer via POST /paymentrequest/finalize/{id}

api
paystack_post_paymentrequest_notify_by_idWRITE

Trigger an email reminder to a customer for a previously created payment request via POST /paymentrequest/notify/{id}

api
paystack_post_planWRITE

Create a plan for recurring payments via POST /plan

api
paystack_post_productWRITE

Create a new product on your integration via POST /product

api
paystack_post_refundWRITE

Initiate a refund for a previously completed transaction via POST /refund

api
paystack_post_refund_retry_with_customer_details_by_idWRITE

Retry a refund with a `needs-attention` status by providing the bank account details of a customer. via POST /refund/retry_with_customer_details/{id}

api
paystack_post_splitWRITE

Create a split configuration for transactions via POST /split

api
paystack_post_split_by_id_subaccount_addWRITE

Add a subaccount to a split configuration, or update the share of an existing subaccount via POST /split/{id}/subaccount/add

api
paystack_post_split_by_id_subaccount_removeWRITE

Remove a subaccount from a split configuration via POST /split/{id}/subaccount/remove

api
paystack_post_storefrontWRITE

Create a digital shop to manage and display your products via POST /storefront

api
paystack_post_storefront_by_id_duplicateWRITE

Duplicate a previously created Storefront via POST /storefront/{id}/duplicate

api
paystack_post_storefront_by_id_productWRITE

Add previously created products to a Storefront via POST /storefront/{id}/product

api
paystack_post_storefront_by_id_publishWRITE

Make your Storefront publicly available via POST /storefront/{id}/publish

api
paystack_post_subaccountWRITE

Create a subacount for a partner via POST /subaccount

api
paystack_post_subscriptionWRITE

Create a subscription a customer via POST /subscription

api
paystack_post_subscription_by_code_manage_emailWRITE

Email a customer a link for updating the card on their subscription via POST /subscription/{code}/manage/email

api
paystack_post_subscription_disableWRITE

Disable a subscription on your integration via POST /subscription/disable

api
paystack_post_subscription_enableWRITE

Enable a subscription on your integration via POST /subscription/enable

api
paystack_post_terminal_by_id_eventWRITE

Send an event from your application to the Paystack Terminal via POST /terminal/{id}/event

api
paystack_post_terminal_commission_deviceWRITE

Activate your debug device by linking it to your integration via POST /terminal/commission_device

api
paystack_post_terminal_decommission_deviceWRITE

Unlink your debug device from your integration via POST /terminal/decommission_device

api
paystack_post_transaction_charge_authorizationWRITE

Charge all authorizations marked as reusable with this endpoint whenever you need to receive payments via POST /transaction/charge_authorization

api
paystack_post_transaction_initializeWRITE

Create a new transaction via POST /transaction/initialize

api
paystack_post_transaction_partial_debitWRITE

Retrieve part of a payment from a customer via POST /transaction/partial_debit

api
paystack_post_transferWRITE

Send money to your customers via POST /transfer

api
paystack_post_transfer_bulkWRITE

Batch multiple transfers in a single request. You need to disable the Transfers OTP requirement to use this endpoint. via POST /transfer/bulk

api
paystack_post_transfer_disable_otpWRITE

This is used in the event that you want to be able to complete transfers programmatically without use of OTPs. No arguments required. You will get an OTP to complete the request. via POST /transfer/disable_otp

api
paystack_post_transfer_disable_otp_finalizeWRITE

Finalize the request to disable OTP on your transfers via POST /transfer/disable_otp_finalize

api
paystack_post_transfer_enable_otpWRITE

In the event that a customer wants to stop being able to complete transfers programmatically, this endpoint helps turn OTP requirement back on. No arguments required. via POST /transfer/enable_otp

api
paystack_post_transfer_finalize_transferWRITE

Finalize an initiated transfer via POST /transfer/finalize_transfer

api
paystack_post_transfer_resend_otpWRITE

Generates and send a new OTP to customer in the event they are having trouble receiving one. via POST /transfer/resend_otp

api
paystack_post_transferrecipientWRITE

Creates a new recipient. A duplicate account number will lead to the retrieval of the existing record. via POST /transferrecipient

api
paystack_post_transferrecipient_bulkWRITE

Create multiple transfer recipients in batches. A duplicate account number will lead to the retrieval of the existing record. via POST /transferrecipient/bulk

api
paystack_post_virtual_terminalWRITE

Create a Virtual Terminal on your integration via POST /virtual_terminal

api
paystack_post_virtual_terminal_by_code_destination_assignWRITE

Add a destination (WhatsApp number) to a Virtual Terminal on your integration via POST /virtual_terminal/{code}/destination/assign

api
paystack_post_virtual_terminal_by_code_destination_unassignWRITE

Unassign a destination (WhatsApp Number) from a Virtual Terminal on your integration via POST /virtual_terminal/{code}/destination/unassign

api
paystack_put_customer_by_codeWRITE

Update a customer's details on your integration via PUT /customer/{code}

api
paystack_put_customer_by_id_directdebit_activation_chargeWRITE

Trigger an activation charge on an inactive mandate on behalf of your customer via PUT /customer/{id}/directdebit-activation-charge

api
paystack_put_directdebit_activation_chargeWRITE

Trigger activation charge for specified customers via PUT /directdebit/activation-charge

api
paystack_put_dispute_by_idWRITE

Update a transaction dispute via PUT /dispute/{id}

api
paystack_put_dispute_by_id_resolveWRITE

Resolve a transaction dispute via PUT /dispute/{id}/resolve

api
paystack_put_integration_payment_session_timeoutWRITE

Update the session timeout of a transaction via PUT /integration/payment_session_timeout

api
paystack_put_page_by_idWRITE

Update a previously created payment page via PUT /page/{id}

api
paystack_put_paymentrequest_by_idWRITE

Update a previously created payment request via PUT /paymentrequest/{id}

api
paystack_put_plan_by_codeWRITE

Update a plan details on your integration via PUT /plan/{code}

api
paystack_put_product_by_idWRITE

Update a previously created product via PUT /product/{id}

api
paystack_put_split_by_idWRITE

Update a split configuration for transactions via PUT /split/{id}

api
paystack_put_storefront_by_idWRITE

Update the details of a previously created Storefront via PUT /storefront/{id}

api
paystack_put_subaccount_by_codeWRITE

Update a subaccount details on your integration via PUT /subaccount/{code}

api
paystack_put_terminal_by_terminal_idWRITE

Update the details of a Terminal via PUT /terminal/{terminal_id}

api
paystack_put_transferrecipient_by_codeWRITE

Update the details of a transfer recipient via PUT /transferrecipient/{code}

api
paystack_put_virtual_terminal_by_codeWRITE

Update a Virtual Terminal on your integration via PUT /virtual_terminal/{code}

api
paystack_put_virtual_terminal_by_code_deactivateWRITE

Deactivate a Virtual Terminal on your integration via PUT /virtual_terminal/{code}/deactivate

api
paystack_put_virtual_terminal_by_code_split_codeWRITE

Add Split Code to Virtual Terminal via PUT /virtual_terminal/{code}/split_code

api

Put Paystack behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.