---
title: "Create refund"
method: POST
path: "/refunds/"
tags: ["Payments"]
---

# Create refund

`POST /refunds/`

Issues a refund against a payment. The total of refund amounts cannot
exceed the payment's amount.

## Headers

- `x-simple-workspace` string, required
- `x-piriod-test-mode` boolean

## Request body

- Refund
  - `id` string
  - `payment` integer, required — Payment ID being refunded.
  - `amount` number, required
  - `balance` number — Remaining refundable balance after this refund.
  - `reason` 'duplicate' | 'fraudulent' | 'requested_by_customer', required
  - `note` string, nullable
  - `receipt` string, required
  - `status` 'failed' | 'succeeded'
  - `metadata` object
  - `created` string, date-time
  - `updated` string, date-time

## Response `201`

Refund created.

- Refund
  - `id` string
  - `payment` integer, required — Payment ID being refunded.
  - `amount` number, required
  - `balance` number — Remaining refundable balance after this refund.
  - `reason` 'duplicate' | 'fraudulent' | 'requested_by_customer', required
  - `note` string, nullable
  - `receipt` string, required
  - `status` 'failed' | 'succeeded'
  - `metadata` object
  - `created` string, date-time
  - `updated` string, date-time

## Other responses

- `400` — Request body or query parameters failed validation.

---

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