Initiating and completing a refund

Edited

You can refund eligible transactions from your Paystack Dashboard and maintain a clear record of the refunds issued to your customers.

You can also create and retrieve refunds using the Paystack API.


đź’ˇ Important to note

Paystack’s transaction charges are non-refundable. When you refund a customer, the transaction charge paid for processing the original payment will not be returned.


How old can a transaction be for me to issue a refund?

From 15 October 2026, transactions must fall within the following refund windows:

Payment channel

Refund window

Card payments

1 year from the transaction date

Bank transfer, mobile money, and other payment channels

1 year from the transaction date

If a transaction is outside the applicable window, we'll let you know immediately that it is no longer eligible for a refund. The refund will not be processed.

Refund windows provide a clear, predictable period during which a transaction remains eligible for a refund and prevent older requests from failing later in the process. Almost all refunds already take place within these periods, so the change is expected to affect only a small number of older transactions.

The limits apply only to new refund requests submitted from 15 October 2026. Refunds that have already been processed are not affected.

Can I still access an older transaction?

Yes. The refund limit does not remove your transaction history. You can retrieve older transaction data using Send CSV to email, even when the transaction is no longer eligible for a refund.

What about disputes?

The one-year transaction age limit also applies to disputes. Paystack will prevent disputes from being created for transactions older than one year. We enforce this restriction internally, so no action is required from you.

Initiating a refund

To refund a customer from your Dashboard:

  1. Log in to your Paystack Dashboard and go to the Transactions page.

  2. Find the transaction using its reference. You can also filter by the customer’s email address or ID.

  3. Click the transaction to open its details.

  4. Open the Refunds tab and click New Refund.

  5. Choose whether to refund the full transaction amount or a partial amount agreed with the customer.

  6. Enter the amount, click Confirm, review the refund information, and complete the process.

Paystack will send confirmation emails to you and your customer. The customer should receive the refund within 3 to 10 working days.

How refunds are funded

Refunds are first deducted from your pending payout.

  • If you have a Registered Business, Paystack can deduct the refund from your Paystack balance if you do not have a pending payout.

  • Starter Businesses do not have a Paystack balance, so refunds can only be deducted from pending payouts.

You cannot initiate a refund from your Dashboard if your available pending payout is insufficient and if you do not have any funds in your balance as a Registered business.

Bank transfer refunds

These are refunds for transactions that your customer make by initiating a transfer from their bank to a virtual account generated to receive payments on behalf of your business.


Feature Availability

This feature is currently available to businesses based in Nigeria, Ghana, and South Africa.

If a refund attempt fails, Paystack will notify you by email. If your business has webhooks configured, you will also receive a failed-refund webhook event.

You can retry the refund from your Dashboard without an additional fee if you have the customer’s bank account details.


  1. Go to the Transactions page and open the transaction you want to refund.

  2. Open the Refunds tab and click Retry beside the failed refund attempt.

  1. Enter the customer’s bank account details.

  2. Review the resolved account name and confirm that it belongs to the customer.

  3. Click Confirm to complete the refund.

By default, only Admins can complete refunds using this method. An Admin can grant this permission to other custom roles.

Needs-Attention Refunds

Refunds are typically returned to the bank account used for the original successful payment.

If the bank account details were not captured during the transaction, the refund will have a Needs Attention status. To complete the refund, you must manually provide the customer’s bank account details.

To resolve a Needs Attention refund from your Dashboard:

  • Go to the Refunds page to view the refunds that need attention.

  • Click the banner showing refunds that need attention. This will filter the page to refunds with the Needs Attention status.

  • Select the refund and enter the customer’s bank account details. After confirming the account, click Confirm, then click Retry Refund.

If you create your refunds using our API, please see our documentation on how to manually provide the customer’s bank account details here.

The Refunds page

Screenshot 2023-11-03 at 15.54.17.png

You can view and manage all refunds from the Refunds page. The page shows each refund’s status and allows you to filter by date, status, or amount.

You can also find the Refund Reference Number (RRN) for a completed refund. If a customer has not received their refund within the expected period, share the RRN with them so they can follow up with their bank.

Refund modal.png

Cancelling a refund

To request the cancellation of an initiated refund, contact Paystack Support as soon as possible. Our team will engage the appropriate financial institution.



⚠️ Once a refund has been initiated, Paystack cannot guarantee that it can be cancelled or recalled.


Was this article helpful?

Sorry about that! Care to tell us more?

Thanks for the feedback!

There was an issue submitting your feedback
Please check your connection and try again.