Если вы используете Сплитование платежей, вы можете сделать возврат успешного платежа одним из двух способов: через личный кабинет или с помощью API ЮKassa.
Магазин тоже может возвращать платежи через личный кабинет. Чтобы узнавать о таких возвратах, настройте входящие уведомления о событии
refund.succeeded
.При полном возврате с помощью API ЮKassa комиссия, которую вы удержали при оплате, возмещается за счет магазинов, в которых были приобретены товары и услуги. Если вы хотите сделать возврат всего платежа и вернуть комиссию за свой счет, создайте несколько частичных возвратов — отдельно для каждого магазина. В каждом запросе на частичный возврат передайте дополнительный параметр
platform_fee_amount
с суммой комиссии к возврату.Если вы делаете возврат через личный кабинет, комиссия, которую вы удержали при оплате, не возвращается.
ЮKassa не отправляет уведомления о возвратах магазину, вам необходимо делать это самостоятельно.
Чтобы сделать возврат всего платежа, принятого вами от пользователя, отправьте ЮKassa запрос на создание возврата . В запросе передайте идентификатор платежа в параметре
payment_id
и сумму возврата в amount
. Запрос передается без объекта platform_fee_amount
. Если вы хотите вернуть комиссию за свой счет, сделайте несколько частичных возвратов — отдельно для каждого магазина.Пример запроса на создание полного возврата
curl https://api.yookassa.ru/v3/refunds \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df", "amount": { "value": "11000.00", "currency": "RUB" } }'
В ответ ЮKassa отправит вам объект возврата в актуальном статусе.
Пример ответа
{ "id": "24eca812-0015-5000-9000-188e730d6114", "status": "succeeded", "amount": { "value": "11000.00", "currency": "RUB" }, "created_at": "2019-08-19T12:21:38.575Z", "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df", "sources": [ { "account_id": "123", "amount": { "value": "2000.00", "currency": "RUB" } }, { "account_id": "456", "amount": { "value": "9000.00", "currency": "RUB" } } ] }
Если вы хотите сделать частичный возврат нескольких товаров из разных магазинов, вам необходимо создать отдельный возврат для каждого магазина. Если все возвращаемые товары пользователь купил в одном магазине, нужно создать один возврат.
Чтобы сделать частичный возврат, отправьте ЮKassa запрос на создание возврата . В запросе передайте идентификатор платежа в параметре
payment_id
, сумму возврата в amount
и массив sources
с данными для возврата: идентификатором магазина, суммой платежа, которую нужно вернуть, и суммой комиссии, которая была удержана с определенного магазина.Пример запроса на создание частичного возврата
curl https://api.yookassa.ru/v3/refunds \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df", "amount": { "value": "9000.00", "currency": "RUB" }, "sources": [ { "account_id": "456", "amount": { "value": "9000.00", "currency": "RUB" }, "platform_fee_amount": { "value": "90.00", "currency": "RUB" } }] }'
В ответ ЮKassa отправит вам объект возврата в актуальном статусе. Ответ будет содержать дополнительный параметр
sources
с распределением денег: в какой магазин и на какую сумму пользователь вернул товар и суммой комиссии к возврату.Пример ответа
{ "id": "24eca812-0015-5000-9000-188e730d6114", "status": "succeeded", "amount": { "value": "9000.00", "currency": "RUB" }, "created_at": "2019-08-19T12:21:38.575Z", "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df", "sources": [ { "account_id": "456", "amount": { "value": "9000.00", "currency": "RUB" }, "platform_fee_amount": { "value": "90.00", "currency": "RUB" } } ] }
При работе с двухстадийными платежами вы можете отменить платеж , если он находится в статусе
waiting_for_capture
. В этом случае платеж перейдет в статус canceled
, деньги вернутся пользователю, а ЮKassa не будет удерживать комиссию за проведение оплаты.Получение информации о магазине продавца по APIПрием платежейОтправка чековОплата с соблюдением требований 54-ФЗ