В этой статье описаны особенности и порядок проведения выплат на кошельки ЮMoney.
Выплаты можно делать на кошельки ЮMoney с любым статусом.
Ограничения на сумму выплат:
- минимальная сумма выплаты — 1 рубль;
- максимальная сумма разовой выплаты зависит от текущего баланса кошелька. После выплаты баланс кошелька не может превышать определенную сумму:
- Анонимный кошелек — 15 000 рублей;
- Именной кошелек — 60 000 рублей;
- Идентифицированный кошелек — 500 000 рублей;
- максимальная сумма выплат за месяц — 600 000 рублей.
Общий сценарий проведения выплат на кошельки ЮMoney
- Вы запрашиваете у пользователя номер кошелька ЮMoney, на который он хочет получить выплату.
- Пользователь сообщает вам номер кошелька.
- Вы создаете выплату — отправляете ЮKassa POST-запрос с данными о том, какую сумму списать с вашего баланса и куда ее перевести.
- ЮKassa переводит выплату на кошелек пользователя и возвращает вам объект выплаты с финальным статусом —
succeeded
(выплата успешна) илиcanceled
(выплата отменена).
Если в ответ на запрос ЮKassa вернула вам объект выплаты в статусе
pending
, это значит, что ЮKassa еще в процессе перевода денег на кошелек пользователя. Чтобы узнать финальный статус, повторяйте запрос на проведение выплаты с тем же ключом идемпотентности или запрашивайте информацию о выплате методом GET с возрастающим разумным интервалом (например, можно использовать последовательность Фибоначчи).Чтобы сделать выплату на кошелек ЮMoney:
- Получите данные кошелька ЮMoney.
- Проведите выплату с полученными данными.
Для проведения выплаты вам понадобится номер кошелька ЮMoney. Получите его любым удобным вам способом.
Предупредите пользователя, что после выплаты остаток в кошельке не должен превышать определенную сумму, размер которой зависит от статуса кошелька. Если выплата не проходит из-за лимита на баланс, получателю следует изменить статус кошелька, потратить сумму, на которую превышается остаток, или выбрать другой способ получения выплаты.
Создайте выплату
: отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на кошелек ЮMoney:
- в объекте
amount
передайте сумму, которую нужно выплатить пользователю; сумма должна укладываться в лимиты; - в параметре
description
передайте описание выплаты; - в объекте
payout_destination_data
передайте код вида выплатыyoo_money
и номер кошелька, на который нужно сделать выплату.
Пример запроса на создание выплаты
curl https://api.yookassa.ru/v3/payouts \ -X POST \ -u <Идентификатор шлюза>: <Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "2.00", "currency": "RUB" }, "payout_destination_data": { "type": "yoo_money", "account_number": "4100116075156746" }, "description": "Выплата по заказу № 37", "metadata": { "order_id": "37" } }'
Пример созданного объекта выплаты
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "2.00", "currency": "RUB" }, "status": "pending", "payout_destination": { "type": "yoo_money", "account_number": "4100116075156746" }, "description": "Выплата по заказу № 37", "created_at": "21.06.2021T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": "false" }
Если вы получили объект выплаты в статусе
pending
, дождитесь, когда статус изменится на succeeded
или canceled
. Для этого повторяйте запрос с тем же ключом идемпотентности или запрашивайте информацию о выплате методом GET с возрастающим разумным интервалом.Пример запроса на получение информации о выплате
curl https://api.yookassa.ru/v3/payouts/{payout_id} \ -X GET \ -u <Идентификатор шлюза>:<Секретный ключ> \
Пример объекта выплаты в статусе succeeded
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "2.00", "currency": "RUB" }, "status": "succeeded", "payout_destination": { "type": "yoo_money", "account_number": "4100116075156746" }, "description": "Выплата по заказу № 37", "created_at": "21.06.2021T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": "false" }
Выплаты самозанятымНеуспешные выплатыКоды ответа (состояния) HTTPТестирование выплатЗапрос баланса выплат