Если в процессе покупатель и продавец захотят расторгнуть сделку, вы можете вернуть оплату покупателю. Комиссии за проведение возврата нет.
Вернуть платежи можно только в статусе
succeeded
. Сделать возврат платежа в составе сделки можно только до выплаты или до закрытия сделки. Порядок возврата платежа зависит от момента перечисления вам вознаграждения (fee_moment
в сделке):Если при создании сделки вы указали, что ваше вознаграждение нужно перечислять после успешного платежа (
fee_moment=payment_succeeded
), вернуть покупателю вы сможете только ту сумму, которая предназначалась продавцу. Возврат можно сделать всей суммы или только ее части. Частичных возвратов может быть несколько.Чтобы вернуть всё вознаграждение продавца, в запросе на создание возврата передайте в параметре
payment_id
уникальный идентификатор платежа, в объектах amount
и deal
— всю сумму вознаграждения продавца.Сумма в объекте
deal
должна совпадать с суммой в объекте amount
.Пример запроса на полный возврат вознаграждения продавца
curl https://api.yookassa.ru/v3/refunds \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "800.00", "currency": "RUB" }, "deal": { "refund_settlements": [ { "type": "payout", "amount": { "value": "800.00", "currency": "RUB" } } ] }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "description": "Возврат заказа №37" }'
В ответ ЮKassa вернет созданный объект возврата . В нём также будет указан идентификатор сделки, в рамках которой возвращали платеж.
Пример тела ответа
{ "id": "28618525-0015-5000-9000-1e336d42672e", "status": "succeeded", "amount": { "value": "800.00", "currency": "RUB" }, "created_at": "2021-06-21T16:48:36.804Z", "deal": { "id": "dl-285e5ee7-0022-5000-8000-01516a44b147", "refund_settlements": [{ "type": "payout", "amount": { "value": "800.00", "currency": "RUB" } }] }, "description": "Возврат заказа №37", "payment_id": "2855940e-000f-5000-9000-1ef78d597562" }
ЮKassa вернет покупателю всю сумму, которая предназначалась продавцу, и закроет сделку. Баланс сделки после возврата станет нулевым.
Чтобы вернуть часть вознаграждения продавца, в запросе на создание возврата передайте параметр
payment_id
с уникальным идентификатором платежа, в объектах amount
и deal
— часть вознаграждения продавца, которую хотите вернуть.Важно учесть:
- Сумма в объекте dealдолжна совпадать с суммой в объектеamount.
- После возврата на балансе сделки должна остаться сумма, достаточная для выплаты вознаграждения продавцу, иначе выплату сделать не получится. Подробнее о лимитах выплат
Пример запроса на частичный возврат вознаграждения продавца
curl https://api.yookassa.ru/v3/refunds \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "200.00", "currency": "RUB" }, "deal": { "refund_settlements": [ { "type": "payout", "amount": { "value": "200.00", "currency": "RUB" } } ] }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "description": "Возврат заказа №37" }'
В ответ ЮKassa вернет созданный объект возврата .
Пример тела ответа
{ "id": "28618525-0015-5000-9000-1e336d42672e", "status": "succeeded", "amount": { "value": "200.00", "currency": "RUB" }, "created_at": "2021-06-21T16:48:36.804Z", "deal": { "id": "dl-285e5ee7-0022-5000-8000-01516a44b147", "refund_settlements": [{ "type": "payout", "amount": { "value": "200.00", "currency": "RUB" } }] }, "description": "Возврат заказа №37", "payment_id": "2855940e-000f-5000-9000-1ef78d597562" }
ЮKassa вернет покупателю указанную часть оплаты и уменьшит баланс сделки и сумму выплаты продавцу на сумму возврата.
Если вознаграждение вы собираетесь получить при закрытии сделки (
fee_moment=deal_closed
), то вернуть покупателю вы сможете весь платеж, включая ваше вознаграждение.
Вернуть можно всю сумму или только ее часть. Частичных возвратов может быть несколько.Комиссия ЮKassa списывается безвозвратно. Если вы хотите вернуть платеж полностью, ЮKassa возместит эквайринговую комиссию с баланса вашего магазина. В этом случае баланс сделки в объекте сделки может стать отрицательным. Если на балансе магазина платформы недостаточно средств для возврата комиссии ЮKassa, вернуть платеж не получится.
Чтобы вернуть всю сумму платежа, в запросе на создание возврата передайте параметр
payment_id
с уникальным идентификатором платежа и объект amount
с суммой возвращаемого платежа.Если используете решение ЮKassa для работы по 54-ФЗ, запрос на создание возврата нужно передавать без объекта
receipt
. Чтобы сформировать чек возврата прихода для вашего вознаграждения, отправьте ЮKassa отдельный запрос.Пример запроса на полный возврат платежа
curl https://api.yookassa.ru/v3/refunds \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "1000.00", "currency": "RUB" }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "description": "Возврат заказа №37" }'
В ответ ЮKassa вернет созданный объект возврата .
Пример объекта возврата
{ "id": "28618906-0015-5000-a000-1555d6d94c48", "status": "succeeded", "amount": { "value": "1000.00", "currency": "RUB" }, "created_at": "2021-06-21T17:05:10.506Z", "deal": { "id": "dl-285e5ee7-0022-5000-8000-01516a44b147", "refund_settlements": [{ "type": "payout", "amount": { "value": "800.00", "currency": "RUB" } }] }, "description": "Возврат заказа №37", "payment_id": "2855940e-000f-5000-9000-1ef78d597562" }
Если возврат прошел успешно, ЮKassa вернет покупателю всю оплату, включая эквайринговую комиссию — ее ЮKassa спишет с баланса вашего магазина, баланс сделки при этом станет отрицательным. После этого ЮKassa закроет сделку.
Пример объекта сделки после полного возврата платежа
{ "id": "dl-285e5ee7-0022-5000-8000-01516a44b147", "status": "closed", "balance": { "value": "-45.00", "currency": "RUB" }, "payout_balance": { "value": "0.00", "currency": "RUB" }, "created_at": "2021-06-18T07:28:39.390497Z", "type": "safe_deal", "fee_moment": "deal_closed", "metadata": { "order_id": "37" }, "description": "SAFE_DEAL 123554642-2432FF344R" }
Чтобы вернуть только часть платежа, в запросе на создание возврата передайте параметр
payment_id
с уникальным идентификатором платежа, объект amount
с той частью общей суммы, которую хотите вернуть, и объект deal
с информацией о том, как уменьшить вознаграждение продавца.Важно учесть:
- После возврата на балансе сделки должна остаться сумма, достаточная для выплаты вознаграждения продавцу, иначе выплату сделать не получится. Подробнее о лимитах выплат
- Если используете решение ЮKassa для работы по 54-ФЗ и возвращаете часть вашего вознаграждения, запрос на создание возврата нужно передавать без объекта receipt. Чтобы сформировать чек возврата прихода, отправьте ЮKassa отдельный запрос.
Пример запроса на частичный возврат платежа
curl https://api.yookassa.ru/v3/refunds \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "200.00", "currency": "RUB" }, "deal": { "refund_settlements": [ { "type": "payout", "amount": { "value": "160.00", "currency": "RUB" } } ] }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "description": "Возврат заказа №37" }'
В ответ ЮKassa вернет созданный объект возврата .
Пример тела ответа
{ "id": "27dd7a4f-0015-5000-8000-1e8caf204668", "status": "succeeded", "amount": { "value": "200.00", "currency": "RUB" }, "created_at": "2020-02-12T13:03:11.398Z", "description": "Возврат заказа №37", "deal": { "id": "dl-285e5ee7-0022-5000-8000-01516a44b147", "refund_settlements": [ { "type": "payout", "amount": { "value": "160.00", "currency": "RUB" } } ] }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562" }
ЮKassa вернет покупателю указанную часть оплаты и уменьшит баланс сделки и сумму выплаты продавцу на сумму возврата.
Основы работы с APIТестирование Безопасной сделкиОтправка чеков в Безопасной сделкеРеестры возвратов