---
title: "Issue a refund against an order"
method: POST
path: "/v1/orders/{OrderId}/refunds"
tags: ["Order"]
---

# Issue a refund against an order

`POST /v1/orders/{OrderId}/refunds`

## Path parameters

- `OrderId` string, uuid, required

## Request body

- Refund
  - `RefundId` string, uuid — Reach-generated unique id of a refund
  - `Amount` number, float — Amount of the refund. Must be at most the total value of the original order, minus any other refunds.
  - `State` 'INPROGRESS' | 'SUCCEEDED' | 'FAILED' — Refund state. See: https://docs.withreach.com/docs/states-and-events#refund-states
  - `RefundReference` string — A merchant-supplied reference ID. This must be unique within the order for the given refund
  - `Times` Times — Gives times of various order state transitions
    - `Created` string — The RFC 3339 timestamp at which the order was created.
    - `Authorized` string — The RFC 3339 timestamp at which the order’s payment was authorized. This will be null if the payment has not yet been authorized or the payment method used for the order does not support pre-authorization (eg. Boleto).
    - `Processed` string — The RFC 3339 timestamp at which the order's payment was processed. This will be null if the order's payment has not been processed yet or has failed to be processed.

## Response `200`

Operation Successful

- Refund
  - `RefundId` string, uuid — Reach-generated unique id of a refund
  - `Amount` number, float — Amount of the refund. Must be at most the total value of the original order, minus any other refunds.
  - `State` 'INPROGRESS' | 'SUCCEEDED' | 'FAILED' — Refund state. See: https://docs.withreach.com/docs/states-and-events#refund-states
  - `RefundReference` string — A merchant-supplied reference ID. This must be unique within the order for the given refund
  - `Times` Times — Gives times of various order state transitions
    - `Created` string — The RFC 3339 timestamp at which the order was created.
    - `Authorized` string — The RFC 3339 timestamp at which the order’s payment was authorized. This will be null if the payment has not yet been authorized or the payment method used for the order does not support pre-authorization (eg. Boleto).
    - `Processed` string — The RFC 3339 timestamp at which the order's payment was processed. This will be null if the order's payment has not been processed yet or has failed to be processed.

## Other responses

- `400` — Bad request
- `401` — Authentication Required
- `403` — Unauthorized
- `404` — Not found
- `409` — Conflict - The refund cannot be processed at this time due to the order state, but may be tried again later.
- `500` — Server error.

---

[API](https://skmtc.net/withreach/apis/reach-checkout-api.md) · [All operations](https://skmtc.net/withreach/apis/reach-checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/withreach/reach-checkout-api/versions/f95f4b8dd180/schema)
