YooMoney API
Guides
Old versions of the API
Help
Sign up for YooMoney
Выплаты на кошельки ЮMoney
В этой статье описаны особенности и порядок проведения выплат на кошельки ЮMoney.
 
Лимиты выплат
Выплаты можно делать на кошельки ЮMoney с любым статусом.
Ограничения на сумму выплат:
  • минимальная сумма выплаты — 1 рубль;
  • максимальная сумма разовой выплаты зависит от текущего баланса кошелька. После выплаты баланс кошелька не может превышать определенную сумму:
    • Анонимный кошелек — 15 000 рублей;
    • Именной кошелек — 60 000 рублей;
    • Идентифицированный кошелек — 500 000 рублей;
  • максимальная сумма выплат за месяц — 600 000 рублей.
Общий сценарий проведения выплат на кошелек ЮMoney
Общий сценарий проведения выплат на кошельки ЮMoney
  1. Вы запрашиваете у пользователя номер кошелька ЮMoney, на который он хочет получить выплату.
  2. Пользователь сообщает вам номер кошелька.
  3. Вы создаете выплату — отправляете ЮKassa POST-запрос с данными о том, какую сумму списать с вашего баланса и куда ее перевести.
  4. Ю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:
  1. Получите данные кошелька ЮMoney.
  2. Проведите выплату с полученными данными.
Получение данных кошелька ЮMoney
Для проведения выплаты вам понадобится номер кошелька ЮMoney. Получите его любым удобным вам способом.
Предупредите пользователя, что после выплаты остаток в кошельке не должен превышать определенную сумму, размер которой зависит от статуса кошелька. Если выплата не проходит из-за лимита на баланс, получателю следует изменить статус кошелька, потратить сумму, на которую превышается остаток, или выбрать другой способ получения выплаты.
Проведение выплаты на кошелек ЮMoney
Создайте выплату : отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на кошелек ЮMoney:
  • в объекте amount передайте сумму, которую нужно выплатить пользователю; сумма должна укладываться в лимиты;
  • в параметре description передайте описание выплаты;
  • в объекте payout_destination_data передайте код вида выплаты yoo_money и номер кошелька, на который нужно сделать выплату.
Пример запроса на создание выплаты
cURL
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
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