---
title: "Create Refund"
method: PUT
path: "/v1/payment/orders/{order_id}/refund"
tags: ["Refund Services"]
---

# Create Refund

`PUT /v1/payment/orders/{order_id}/refund`

Service responsible for requesting the return of an approved payment. The refund may be total or partial.

## Path parameters

- `order_id` string, required

## Headers

- `Content-Type` string, required
- `Accept` string, required

## Request body

- RefundRequest
  - `transaction` object
    - `reference_id` string, required — Refund identifier, generated by client. (Maximum of 50 characters - Unique per refund). Used as idempotence.
  - `amount` object, required
    - `currency_code` string, required — Currency Code (ISO 4217)
    - `value` number, required — Refund amount (cannot exceed the payment amount)

## Response `200`

Create refund response

- RefundResponse
  - `refund_id` string, required — Refund ID returned by create refund service
  - `amount` object, required
    - `currency_code` string, required — Currency code (ISO 4217)
    - `value` number, required — Refund amount (cannot exceed the payment amount)
  - `status` object, required
    - `type` 'InProgress' | 'Refunded' | 'Failed', required — Refund status
    - `date` string, date-time, required — Status change date (ISO 8601 date format)
    - `error` StatusError — Error details. Present when the payment failed and error information is available.
      - `code` string — Error code.
      - `message` string — Error message.
  - `code` string — Standardized error code (applies only for error cases)
  - `message` string — Message associated with the error code (applies only for error cases)

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.dev/koin/apis/payments-api.md) · [All operations](https://skmtc.dev/koin/apis/payments-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/koin/payments-api/revisions/6f2c01e43fe2/schema)
