---
title: "Create a refund"
method: POST
path: "/api/service/refund/create"
tags: ["Refund"]
---

# Create a refund

`POST /api/service/refund/create`

Creates a refund for the specified order. The order can be specified either by Ivy's internal `orderId` or by the `referenceId` provided by the merchant during checkout creation. If the refund should only be partial, you can specifiy this with the `amount` parameter.

## Headers

- `Idempotency-Key` string

## Request body

- CreateRefundRequestDto
  - `orderId` string — The internal Ivy id of the order. Must be present in request body if referenceId is not provided
  - `referenceId` string — The external id set by the merchant during checkout creation. Required if orderId is not passed.
  - `bankStatementReference` string — An optional custom text that will be shown on the customer's payment reference. Input has to be maximum 16 alpha-numeric characters. If not provided, a default Ivy refund referenceId will be shown.
  - `amount` number, required

## Response `200`

Creates a refund and returns the details of created refund

- CreateRefundResponseDto
  - `id` string, required — The unique Refund id
  - `amount` number, required — The amount of the refund in decimals.
  - `currency` 'EUR' | 'USD' | 'GBP' | 'PLN' | 'SEK' | 'DKK', required — Refund's currency.
  - `status` 'initiated' | 'pending' | 'succeeded' | 'failed', required — The current status of this refund.
  - `orderId` string, required — The id of the refunded order
  - `transactionId` string — The id of the transaction

---

[API](https://skmtc.net/augustus/apis/ivy-api.md) · [All operations](https://skmtc.net/augustus/apis/ivy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/augustus/ivy-api/revisions/c3055fc06ca3/schema)
