---
title: "POST /refunds"
method: POST
path: "/refunds"
tags: ["Возвраты"]
---

# POST /refunds

`POST /refunds`

Создание возврата

## Headers

- `Idempotence-Key` string, required

## Request body

- CreateRefundRequest
  - `payment_id` string, required
  - `amount` MonetaryAmount, required
    - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
    - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
  - `description` string
  - `receipt` ReceiptData
    - `customer` ReceiptDataCustomer
      - `full_name` string
      - `inn` string
      - `email` string, email
      - `phone` string
    - `items` ReceiptDataItem[], required
      - `description` string, required
      - `amount` MonetaryAmount, required
        - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
        - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
      - `vat_code` integer, required — Ставка НДС.
      - `quantity` number, double, required — Количество.
      - `measure` 'piece' | 'gram' | 'kilogram' | 'ton' | 'centimeter' | 'decimeter' | 'meter' | 'square_centimeter' | 'square_decimeter' | 'square_meter' | 'milliliter' | 'liter' | 'cubic_meter' | 'kilowatt_hour' | 'gigacalorie' | 'day' | 'hour' | 'minute' | 'second' | 'kilobyte' | 'megabyte' | 'gigabyte' | 'terabyte' | 'another'
      - `mark_quantity` MarkQuantity
        - `numerator` integer, required
        - `denominator` integer, required
      - `payment_subject` 'commodity' | 'excise' | 'job' | 'service' | 'gambling_bet' | 'gambling_prize' | 'lottery' | 'lottery_prize' | 'intellectual_activity' | 'payment' | 'agent_commission' | 'property_right' | 'non_operating_gain' | 'insurance_premium' | 'sales_tax' | 'resort_fee' | 'composite' | 'another' | 'fine' | 'tax' | 'lien' | 'cost' | 'pension_insurance_without_payouts' | 'pension_insurance_with_payouts' | 'health_insurance_without_payouts' | 'health_insurance_with_payouts' | 'health_insurance' | 'casino' | 'agent_withdrawals' | 'non_marked_excise' | 'marked_excise' | 'marked' | 'non_marked'
      - `payment_mode` 'full_prepayment' | 'partial_prepayment' | 'advance' | 'full_payment' | 'partial_payment' | 'credit' | 'credit_payment'
      - `country_of_origin_code` string
      - `customs_declaration_number` string
      - `excise` string
      - `product_code` string
      - `planned_status` integer
      - `mark_code_info` MarkCodeInfo
        - `mark_code_raw` string
        - `unknown` string
        - `ean_8` string
        - `ean_13` string
        - `itf_14` string
        - `gs_10` string
        - `gs_1m` string
        - `short` string
        - `fur` string
        - `egais_20` string
        - `egais_30` string
      - `mark_mode` string
      - `payment_subject_industry_details` IndustryDetails[]
        - `federal_id` string, required
        - `document_date` string, required
        - `document_number` string, required
        - `value` string, required
    - `internet` boolean
    - `tax_system_code` integer
    - `timezone` string
    - `receipt_industry_details` IndustryDetails[]
      - `federal_id` string, required
      - `document_date` string, required
      - `document_number` string, required
      - `value` string, required
    - `receipt_operational_details` OperationalDetails
      - `operation_id` integer, required
      - `value` string, required
      - `created_at` string, date-time, required
  - `sources` RefundSourcesData[] — Источники для возврата.
    - `account_id` string, required
    - `amount` MonetaryAmount, required
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `platform_fee_amount` MonetaryAmount
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
  - `deal` RefundDealData
    - `refund_settlements` SettlementRefundItem[], required — Данные о распределении денег.
      - `type` 'payout', required
      - `amount` MonetaryAmount, required
        - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
        - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
  - `refund_method_data` ElectronicCertificateRefundMethodData
    - `type` 'sbp' | 'electronic_certificate', required
  - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, номер заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.

## Response `200`

The request has succeeded.

- Refund
  - `id` string, required
  - `payment_id` string, required
  - `status` 'pending' | 'succeeded' | 'canceled', required
  - `cancellation_details` RefundCancellationDetails
    - `party` string, required
    - `reason` string, required
  - `receipt_registration` 'pending' | 'succeeded' | 'canceled'
  - `created_at` string, date-time, required — Время создания возврата.
  - `amount` MonetaryAmount, required
    - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
    - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
  - `description` string
  - `sources` RefundSourcesData[] — Источники средств для возврата.
    - `account_id` string, required
    - `amount` MonetaryAmount, required
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
    - `platform_fee_amount` MonetaryAmount
      - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
  - `deal` RefundDealInfo
    - `id` string, required
    - `refund_settlements` SettlementRefundItem[], required — Данные о распределении денег.
      - `type` 'payout', required
      - `amount` MonetaryAmount, required
        - `value` string, required — Сумма в выбранной валюте. Выражается в виде строки и пишется через точку, например 10.00.
        - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required
  - `refund_method` union — Способ возврата.
    - SbpRefundMethod
      - `type` 'sbp' | 'electronic_certificate', required
    - ElectronicCertificateRefundMethod
      - `type` 'sbp' | 'electronic_certificate', required
  - `refund_authorization_details` RefundAuthorizationDetails
    - `rrn` string
  - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, номер заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.

## Other responses

- `400` — The server could not understand the request due to invalid syntax.
- `401` — Access is unauthorized.
- `403` — Access is forbidden.
- `500` — Server error

## Changes

- **2026-02-14** `fe24d3dfadad` — 72 breaking, 13 warning, 69 info
  - added `#/components/schemas/CurrencyCode` to the `amount/allOf[#/components/schemas/MonetaryAmount]/currency` request property `allOf` list
  - added `#/components/schemas/CurrencyCode` to the `sources/items/amount/allOf[#/components/schemas/MonetaryAmount]/currency` request property `allOf` list
  - added `#/components/schemas/CurrencyCode` to the `sources/items/platform_fee_amount/allOf[#/components/schemas/MonetaryAmount]/currency` request property `allOf` list
  - added `#/components/schemas/Description` to the `description` request property `allOf` list
  - …150 more

[Change history](https://skmtc.dev/hexlet/apis/api-kassa/changes/refunds/post.md)

---

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