Выплаты на кошельки ЮMoney
В этой статье описаны особенности и порядок проведения выплат на кошельки ЮMoney.
Лимиты выплат
Выплаты можно делать на кошельки ЮMoney с любым статусом.
Ограничения на сумму выплат:
- минимальная сумма выплаты — 1 рубль;
- максимальная сумма разовой выплаты зависит от текущего баланса кошелька. После выплаты баланс кошелька не может превышать определенную сумму:
- Анонимный кошелек — 15 000 рублей;
- Именной кошелек — 60 000 рублей;
- Идентифицированный кошелек — 500 000 рублей;
- максимальная сумма выплат за месяц — 600 000 рублей.
Общий сценарий проведения выплат на кошелек ЮMoney
Общий сценарий проведения выплат на кошельки ЮMoney
- Вы запрашиваете у пользователя номер кошелька ЮMoney, на который он хочет получить выплату.
- Пользователь сообщает вам номер кошелька.
- Вы создаете выплату — отправляете ЮKassa POST-запрос с данными о том, какую сумму списать с вашего баланса и куда ее перевести.
- ЮKassa переводит выплату на кошелек пользователя и возвращает вам объект выплаты с финальным статусом —
succeeded
(выплата успешна) илиcanceled
(выплата отменена).
Если в ответ на запрос ЮKassa вернула вам объект выплаты в статусе
pending
, это значит, что ЮKassa еще в процессе перевода денег на кошелек пользователя. To find out the final status of the payout, wait for the YooMoney notification or request payout information using the GET method with increasing reasonable intervals (for example, you can use the Fibonacci sequence).Проведение выплаты
Чтобы сделать выплату на кошелек ЮMoney:
- Получите данные кошелька ЮMoney.
- Проведите выплату с полученными данными.
Если вы хотите, чтобы в выписках из реестра выплат отображалась информация о получателе выплаты (например, для госорганов), перед проведением выплаты сохраните данные о получателе в ЮKassa и затем передайте идентификатор сохраненных данных в запросе на создание выплаты. Подробнее о передаче данных получателя выплаты для выписок
Получение данных кошелька ЮMoney
Для проведения выплаты вам понадобится номер кошелька ЮMoney. Получите его любым удобным вам способом.
Предупредите пользователя, что после выплаты остаток в кошельке не должен превышать определенную сумму, размер которой зависит от статуса кошелька. Если выплата не проходит из-за лимита на баланс, получателю следует изменить статус кошелька, потратить сумму, на которую превышается остаток, или выбрать другой способ получения выплаты.
Проведение выплаты на кошелек ЮMoney
Создайте выплату : отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на кошелек ЮMoney:
- в объекте
amount
передайте сумму, которую нужно выплатить пользователю; сумма должна укладываться в лимиты; - в параметре
description
передайте описание выплаты; - в объекте
payout_destination_data
передайте код вида выплатыyoo_money
и номер кошелька, на который нужно сделать выплату; - если проводите выплату с передачей данных получателя для выписки из реестра, в массиве
personal_data
передайте идентификатор персональных данных.
Пример запроса на создание выплаты
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts \ -X POST \ -u <Gateway ID>: <Secret Key> \ -H 'Idempotence-Key: <Idempotence Key>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "2.00", "currency": "RUB" }, "payout_destination_data": { "type": "yoo_money", "account_number": "4100116075156746" }, "description": "Payout for order No. 37", "metadata": { "order_id": "37" } }'
Пример созданного объекта выплаты
JSON
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "2.00", "currency": "RUB" }, "status": "pending", "payout_destination": { "type": "yoo_money", "account_number": "4100116075156746" }, "description": "Payout for order No. 37", "created_at": "21.06.2021T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": "false" }
Если вы получили объект выплаты в статусе
pending
, дождитесь, когда статус изменится на succeeded
или canceled
. Wait for the YooMoney notification or request payout information with an increasing reasonable interval.Пример запроса на получение информации о выплате
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts/{payout_id} \ -X GET \ -u <Gateway ID>:<Secret Key> \
Пример объекта выплаты в статусе succeeded
JSON
{ "id": "po-285ec15d-0003-5000-a000-08d1bec7dade", "amount": { "value": "2.00", "currency": "RUB" }, "status": "succeeded", "payout_destination": { "type": "yoo_money", "account_number": "4100116075156746" }, "description": "Payout for order No. 37", "created_at": "21.06.2021T14:28:45.132Z", "metadata": { "order_id": "37" }, "test": "false" }
See also