---
title: "Transaction refund"
method: POST
path: "/api/v1/transaction/refund"
tags: ["Additional API functionality"]
---

# Transaction refund

`POST /api/v1/transaction/refund`

## Request

- Base URL: `https://sandbox.przelewy24.pl`
- URL: `https://sandbox.przelewy24.pl/api/v1/transaction/refund`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/docs/api/v1/transaction/refund/post.ts> (a function with typed inputs; its response is checked against the schema)

Refund one or more transactions.

## Request body

- TransactionRefundJsonRequestBody
  - `requestId` string, required: Unique request identifier.
  - `refunds` RefundRequestArrayDataBasic[], required
    - `orderId` integer, required: ID of the refunded transaction assigned by Przelewy24
    - `sessionId` string, required: Session ID of the refunded transaction in the partner's system.
    - `amount` integer, required: Refund amount
    - `description` string: Refund description shown in the bank transfer title
  - `refundsUuid` string, required: Unique identifier of a valid refund request in the merchant's system.
  - `urlStatus` string, uri: URL to which refund data is sent

## Response `201`

Created - the `data` parameter contains all refunds.

- TransactionRefund201
  - `data` TransactionRefund201Item[]
    - `orderId` integer: ID of the refunded transaction assigned by Przelewy24
    - `sessionId` string: Transaction session ID in the partner's system.
    - `amount` integer: Refund amount
    - `description` string: Transaction description
    - `status` boolean: Was the refund attempt successful?
    - `message` string: Text description of a successfully completed refund.
  - `responseCode` number

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `409`: Conflict
- `500`: Internal Server Error

## Changes

- **2026-09-03** `5861a691aa36`: 9 breaking, 1 info
  - the request's body type changed from no type to `object`
  - the `urlStatus` request property format changed from no format to `uri`
  - the response's body type changed from no type to `object` for status `201`
  - the response's body type changed from no type to `object` for status `400`
  - …6 more
- **2024-09-18** `e9d9982466d8`: 1 breaking
  - the `refunds/items/orderId` request property format changed from no format to `int64`

[Operation history](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/changes/api/v1/transaction/refund/post.md)

---

[API](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation.md) - [All operations](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/revisions/5861a691aa36?raw)
