How to Issue Refunds to Customers Using Paystack or Flutterwave in Nigeria
Handling refunds properly builds customer trust and protects your business reputation. Here is exactly how to issue refunds through Paystack and Flutterwave, what the process involves, and how to do it without losing money unnecessarily.
No seller wants to issue a refund. But every serious seller knows that how you handle a refund request defines your relationship with that customer far more than the original sale ever did.
A refund handled quickly, professionally, and without argument turns a disappointed customer into a loyal one. A refund that is delayed, disputed, or ignored turns a single bad experience into a public complaint that reaches every potential customer who asks that person about your business.
Refunds are not the enemy of profit. They are the cost of building a business that customers trust enough to buy from repeatedly.
This guide shows you exactly how to issue refunds through Paystack and Flutterwave, what happens to the transaction fees, how long refunds take to reach customers, and how to handle the process in a way that protects both your customer relationship and your bottom line.
When Should You Issue a Refund?
Before getting into the mechanics of how to issue a refund, it is worth being clear about when you should.
Issue a refund when a customer receives a product that is significantly different from what was described. A hair colour that looks nothing like the photo, a size that is clearly wrong despite ordering correctly, or a product that arrives damaged are all legitimate grounds for a refund.
Issue a refund when a product does not arrive within a reasonable timeframe and you cannot confirm delivery. A customer who has waited significantly longer than your stated delivery window without receiving their order should not be left out of pocket.
Issue a refund when a duplicate payment occurs. Technical errors occasionally result in a customer being charged twice for the same order. Refund the duplicate charge immediately without waiting for the customer to escalate.
Issue a refund when you cannot fulfil an order you have already collected payment for. If a product sells out after a customer has paid, you owe them either a replacement or a full refund.
Use your judgment for grey areas. A customer who changed their mind about a product they received in perfect condition is a different situation from a customer who received something genuinely wrong. Your refund policy should be clear and consistently applied.
How to Issue a Refund Through Paystack
Paystack allows you to issue full or partial refunds directly from your dashboard. Here is the process step by step.
Step 1 — Log into your Paystack dashboard
Go to dashboard.paystack.com and sign in. Navigate to Transactions in the left sidebar.
Step 2 — Find the transaction
Use the search function to find the specific transaction you want to refund. You can search by the customer's email address, the transaction reference number, or the date of the transaction. Click on the transaction to open its details.
Step 3 — Initiate the refund
On the transaction detail page, click the Refund button. Paystack will ask you to confirm the refund amount. For a full refund, the amount will be pre-filled with the original transaction amount. For a partial refund, enter the specific amount you want to return to the customer.
Step 4 — Confirm the refund
Review the refund details and click Confirm. Paystack will process the refund immediately.
Step 5 — Notify the customer
Paystack sends the customer an email notification about the refund automatically. However, it is best practice to also send the customer a direct WhatsApp message letting them know the refund has been processed, how much they will receive, and how long it will take to arrive in their account.
How Long Does a Paystack Refund Take?
Paystack processes refunds within five to ten business days for card transactions. The exact timeline depends on the customer's bank. Some Nigerian banks process refunds faster than others.
For bank transfer payments, refunds on Paystack are processed as a direct bank transfer to the customer's account, typically within two to three business days.
The refund timeline is largely outside your control once you have initiated it in your dashboard. If a customer contacts you about a delayed refund, ask them to check with their bank using the refund reference number that Paystack provides.
What Happens to the Transaction Fee on a Paystack Refund?
This is an important detail many sellers miss.
When you issue a full refund through Paystack, the transaction fee that Paystack charged on the original payment is not automatically returned to you. Paystack refunds the customer the full original transaction amount but retains its processing fee.
For example, on a 20,000 naira transaction where Paystack charged 300 naira, you received 19,700 naira in settlement. When you issue a full refund, Paystack refunds the customer 20,000 naira but you absorb the 300 naira processing fee.
For partial refunds, Paystack calculates the fee proportionally. Factor this into your refund policy and pricing to ensure that the cost of occasional refunds does not erode your margins significantly.
How to Issue a Refund Through Flutterwave
The process for issuing a refund through Flutterwave is similar to Paystack with a few differences in the dashboard interface.
Step 1 — Log into your Flutterwave dashboard
Go to app.flutterwave.com and sign in. Navigate to Transactions in the left sidebar.
Step 2 — Find the transaction
Search for the transaction using the customer's email, phone number, or transaction reference. Click on the transaction to open its details.
Step 3 — Initiate the refund
On the transaction detail page, click the Initiate Refund button. Select whether you want to issue a full or partial refund and enter the amount for partial refunds.
Step 4 — Provide a reason
Flutterwave requires you to select a reason for the refund from a dropdown menu. Choose the most appropriate option. This information helps Flutterwave monitor refund patterns and is not shared with the customer.
Step 5 — Confirm and notify
Confirm the refund and send the customer a direct notification via WhatsApp letting them know the refund is being processed.
How Long Does a Flutterwave Refund Take?
Flutterwave processes card refunds within five to ten business days, similar to Paystack. Bank transfer refunds are typically processed within two to three business days.
For international transactions, refund timelines may be longer depending on the currency and the customer's bank.
What Happens to the Transaction Fee on a Flutterwave Refund?
Like Paystack, Flutterwave retains its transaction fee when you issue a refund. The customer receives the full original transaction amount but the processing fee is not returned to you.
For high-value refunds, this can be a meaningful cost. Build a small refund buffer into your pricing to cover the occasional refund without it significantly impacting your margins.
How to Handle Monnify Refunds
Monnify refunds for bank transfer payments work through Monnify's disbursement system. You initiate a transfer from your Monnify balance to the customer's bank account.
Log into your Monnify dashboard and go to Disbursements. Create a new disbursement to the customer's bank account for the refund amount. The customer receives the transfer within one to two business days.
For Monnify refunds, you need the customer's bank account number and bank name. Always confirm these details directly with the customer before initiating the transfer to avoid sending the refund to the wrong account.
How to Write a Refund Message to a Customer
The message you send when processing a refund matters as much as the refund itself. Here is a template you can adapt.
Hi [name], I am sorry your experience with your recent order did not meet expectations. I have processed a refund of [amount] to your [card or bank account]. Refunds typically take [timeline] to appear depending on your bank. Please check your account after [date] and reach out if you have not received it by then. Thank you for your patience and I hope to have the opportunity to make it right with your next order.
This message acknowledges the problem, gives a clear timeline, and leaves the door open for a future purchase. It turns a negative experience into a professional one.
How to Reduce Refund Rates
The best refund is the one you never have to issue. Here is how to reduce the situations that lead to refund requests.
Use accurate product photos and descriptions. The most common reason for refund requests in Nigerian ecommerce is a product that looks different in person from how it appeared online. Clear, honest photos and detailed descriptions set accurate expectations.
Confirm stock before accepting payment. Selling a product you do not have in stock and then having to refund the customer after they have paid is avoidable with proper inventory management.
Communicate proactively about delays. A customer who knows their order is delayed and understands why is far less likely to request a refund than one who has heard nothing for days.
Package products properly. Damaged goods on arrival are a common refund trigger. Invest in appropriate packaging for your products, particularly for fragile items.
Set a clear refund policy and communicate it before purchase. Customers who understand your policy before buying are less likely to make requests that fall outside it.
How Zerrar Handles Refunds and Buyer Protection
Zerrar has a built-in buyer protection system that manages refund requests through the platform, removing much of the manual back-and-forth between seller and customer.
When a buyer raises a refund request through Zerrar, the request is logged in your dashboard with the customer's reason and order details. You can review it, respond, and process the refund directly from your Zerrar account without logging into a separate payment gateway dashboard.
Zerrar's refund system integrates with Paystack, Flutterwave, and Monnify so refunds are processed through the same gateway that handled the original transaction automatically. You do not need to manually identify which gateway processed the payment and log into the right dashboard to issue the refund.
For sellers, this means refund management is part of your normal order management workflow rather than a separate process across three different platforms.
For buyers, it means their refund request is handled through a structured system rather than relying entirely on the seller's goodwill and responsiveness. That structure builds the kind of buyer confidence that converts hesitant first-time customers into repeat buyers.
A business that handles refunds professionally and transparently does not just retain individual customers. It builds the kind of reputation that makes new customers confident enough to buy without having met you before.
That reputation is one of the most valuable things any Nigerian online seller can build. And Zerrar is designed to help you build it systematically, order by order, customer by customer.
Open your free Zerrar store at zerrar.com and give your customers a buying experience they trust enough to come back to.
Frequently Asked Questions
Can I issue a partial refund through Paystack or Flutterwave? Yes. Both Paystack and Flutterwave support partial refunds. When initiating a refund, you can enter any amount up to the original transaction value. This is useful for situations where only part of an order needs to be refunded, such as a missing item from a multi-item order.
Do I get the transaction fee back when I issue a refund? No. Both Paystack and Flutterwave retain their processing fees when you issue a refund. The customer receives the full original amount but the gateway fee is not returned to you. Factor this into your refund policy and pricing.
What if the customer claims they did not receive a refund? Ask the customer to check their bank account or card statement after the standard refund timeline has passed. Provide them with the refund reference number from your gateway dashboard so they can follow up with their bank. If the refund still has not arrived after ten business days, contact your gateway's support team with the transaction and refund reference numbers.
Can I refuse a refund request? Yes, particularly if the request falls outside your stated refund policy. However, refusing legitimate refund requests damages customer trust and can lead to chargebacks, which are more costly and damaging than issuing the refund directly. Handle refund requests fairly and consistently according to your policy.
What is the difference between a refund and a chargeback? A refund is initiated by you, the seller, voluntarily. A chargeback is initiated by the customer through their bank, bypassing you entirely. Chargebacks result in the payment being forcibly reversed and typically include an additional chargeback fee from your payment gateway. Issuing refunds proactively when warranted reduces the risk of chargebacks.
How does Zerrar's buyer protection work for sellers? Zerrar's buyer protection system gives buyers a structured way to raise concerns about their orders. For sellers, it means refund requests are logged and managed through your dashboard rather than arriving as informal WhatsApp messages that are easy to miss or lose track of. The system protects buyers while giving sellers a clear process for reviewing and resolving requests fairly.