---
title: "Issue a Refund"
method: POST
path: "/credits/{credit_ref}/refunds"
tags: ["Refunds"]
---

# Issue a Refund

`POST /credits/{credit_ref}/refunds`

Certain rules apply to the issuance of a refund:
<ul>
  <li>Must be applied against a successfully cleared Payment Request (Collections or Receivables)</li>
  <li>Many refunds may be created against the original Payment Request</li>
  <li>The total refunded amount must not exceed the original value</li>
</ul>
<aside class="notice">We now require supplying an <code>Idempotency-Key</code> header when performing this request to ensure you can safely retry the action in case of an issue. If the header value is different to one provided previously, we will be treating a request as a new operation which may lead to duplicate refunds. To understand more on how to make idempotent requests, please refer to our <a href="https://docs.zeptopayments.com/v20260101/reference/idempotent-requests">Idempotent requests guide</a>.</aside>

## Path parameters

- `credit_ref` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- IssueARefundRequest
  - `amount` integer, required — Amount in cents refund (Min: 1 - Max: 99999999999)
  - `channels` unknown[] — Specify the payment channel to be used, in order. (new_payments_platform, direct_entry, or both)
    - unknown
  - `reason` string — The first 8 characters are visible if funds are sent via direct credit / BECS, and up to 270 characters if sent via NPP
  - `your_bank_account_id` string, uuid — Specify where we should take the funds for this transaction. If omitted, your primary bank account will be used.
  - `metadata` Metadata — Use for your custom data and certain Zepto customisations.

## Response `200`

Created

- IssueARefundResponse
  - `data` object, required
    - `ref` string, required — The Refund request reference (PRF.*) (Min: 5 - Max: 9)
    - `for_ref` string, required — The associated credit reference (C.*)
    - `debit_ref` string, required — The associated debit reference (C.*)
    - `your_bank_account_id` string, uuid, required — The source bank/float account (UUID)
    - `created_at` string, date-time, required — The date-time when the Payment Request was created
    - `amount` integer, required — The amount value provided (Min: 1 - Max: 99999999999)
    - `channels` unknown[] — The requested payment channel(s) to be used, in order. (new_payments_platform, direct_entry, or both)
      - unknown
    - `reason` string, required — Reason for the refund
    - `contacts` object
      - `source_contact_id` string — The original 'Receivable Contact' ID (only visible when refunding Receivables)
      - `target_contact_id` string — The new Contact ID receiving the funds (only visible when refunding Receivables)

---

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