How to Process Online Refunds in Magento 2

Refunds are an essential part of running any online store, and in Magento 2 they can be handled in two ways: online (through the payment gateway) or offline (manually outside Magento). For most merchants, online refunds are the preferred option since they’re faster, more secure, and directly credit the customer’s original payment method.

In this guide, we’ll walk you through how Magento 2 online refunds work, when to use them, and the key differences from offline refunds. You’ll also learn how to issue refunds step by step, so you can streamline the process and avoid common mistakes.

However, if you want to avoid any bother with refunds, we highly recommend seeing Magento 2 Store Credit extension. Besides a streamlined refund system, it offers customer retention strategies.

Online vs. Offline Refunds in Magento 2

In Magento 2, online and offline refunds differ in how the very refund is processed, particularly in relation to payment methods and integration with payment gateways. Here's the breakdown:

Online Refund 

This type of refund records the refund in Magento but does not issue money back through the payment gateway (use this if refund is already issued manually).

  • Process: When you initiate an online refund, Magento sends a request to the payment processor (such as PayPal, Stripe, or Authorize.net) to refund the customer’s money back to their original payment method (credit card, PayPal, etc.).
  • Automatic: The refund is automatically handled through the integrated payment method, ensuring that the customer's payment source is credited without further manual intervention.
  • Conditions: This option is available only for payment methods that support online refunds. It also requires that the order was placed using an integrated payment method (e.g., credit card payment gateways).

Offline Refund

Use Refund Online to process the refund through the payment gateway (only available if the payment method supports online refunds, e.g., PayPal, Stripe).

  • Process: When you select offline refund, Magento only updates the order status and records the refund in the system, but the actual refund (the transfer of funds) must be handled outside of Magento, such as through a manual bank transfer, cash, or another method.
  • Manual: You need to handle the actual transaction with the customer manually, meaning that no automatic request is sent to the payment processor. It's up to the merchant to ensure the customer receives their refund.
  • Conditions: This is typically used for payment methods that don’t support online refunds (like bank transfers, checks, or cash on delivery) or when a refund needs to be processed manually due to special circumstances.

How to Refund an Online Order in Magento 2

Refunds can only be issued for orders that have been invoiced. If the order isn’t invoiced, create an invoice first before issuing a credit memo.

  1. Navigate to Sales > Orders.
  2. Locate the order you want to refund and click View to open the order details.
  3. On the order page, look for the Invoice tab. 
  4. Open the invoice, and then click Credit Memo.

    How to Refund an Online Order in Magento 2
  5. Choose Items to Refund.
  6. Fill in two fields: Items to Refund and Order Total.
  7. Enter the Qty to Refund for each item, and if you want the items to be returned to Stock.
  8. Click Update Qty's.
  9. Enter the shipping refund, adjustment refund, and any applicable fees.

    Adjustment Refund is an additional amount added to a credit memo to compensate a customer beyond the standard refund.
    Adjustment Fee is a charge deducted from the credit memo for things like restocking fees.

  10. Click Refund button.

    How to Refund an Online Order in Magento 2


Still Need Help?