Processing refunds

A refund returns a certain amount to your customer. The refunded amount is deducted from your Mollie account balance.

You can't currently refund a payment directly from a terminal or Tap App. To process a refund, you have the following options:

  • Create a refund in your Mollie Web App
  • Create a refund in the Mollie Mobile app
  • Use our API to process referenced refunds

Referenced refunds

Referenced refunds allow your POS system to refund a payment that was previously processed through Mollie.

The typical flow follows these steps:

  1. The cashier selects the transaction to refund in the POS system
  2. The POS system sends a refund request to Refunds API using the payment ID
  3. Mollie processes the refund and updates the status
  4. The POS system retrieves the refund status from Mollie

So to create a referenced refund, your integration sends a refund request using the Mollie Refunds API and the payment ID returned when the original payment was created.

📘

Your POS system should store the payment ID when the payment is created. This allows the POS system to reference the original payment when initiating a refund.

Unlike payments, referenced refunds do not require interaction with the payment terminal. Once the refund request has been created, Mollie processes the refund and updates the refund status.

📘

When authenticating your Refunds API call via a standard API key, ensure the key is scoped to the specific profile used for the initial transaction. If the API key is scoped to a different profile, you will not be able to create a refund.

For platforms and integrators

Your POS system should store the payment ID when the payment is created. This ID is returned in the API response and delivered via webhooks if a webhookUrl was provided.

Typical flow goes as follows:

  1. The cashier selects the transaction to refund in their POS system.
  2. POS system sends a refund request to the Mollie Refunds API using the payment ID.
  3. Mollie processes the refund.
  4. The POS system retrieves the refund status from Mollie, either by calling the Get Refund API directly, or by fetching the original payment with embed.refunds (see query parameters here).

Did this page help you?