Refunds let you return money to your customers—instantly where possible—using your available Ivy balance. Supports both full and partial refunds, with instant rails (SEPA Instant, FasterPayments) when available.

When to Use Refunds

  • Customer returns or cancels an order
  • Payment errors or duplicate charges
  • Loyalty, goodwill, or compliance reasons

How Refunds Work

1

Choose refund method

  • Dashboard: Find the order, click refund, and enter the amount (full or partial).
  • API: Call the refund endpoint with the orderId or referenceId, and (optionally) amount.
2

Funds are returned

Ivy sends the refund to the customer’s bank account using instant rails where possible. If instant is not available, fallback to standard rails.

3

Track status

Monitor refund status in the Dashboard or via webhooks. Refunds usually appear instantly, but can take up to 2 business days depending on the bank.

Requirements

  • You must have enough available balance (not pending) to cover the refund
  • You can issue multiple refunds per order, but not more than the original amount
  • Optionally, set a reserve to ensure funds for refunds

How to Issue a Refund

Dashboard

  1. Go to the Orders page in the Dashboard
  2. Find the order and select “Refund Order”
  3. Enter the amount (full or partial) and optional description
  4. Confirm the refund

API

To create a refund, provide the orderId or referenceId and (optionally) the amount or a custom payment reference.

curl --request POST \
     --url https://api.getivy.de/api/service/merchant/payment/refund \
     --header 'X-Ivy-Api-Key: YOUR_API_KEY' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "orderId": "abc",
  "amount": 100,
  "displayedPaymentReference": "display this to user!"
}
'

Refunds with Ivy are fast, reliable, and support instant rails for the best customer experience.