Docs
API ЮKassa
Инструкции
Старые версии API
Помощь
Подключить ЮKassa

Выплаты продавцу

Для проведения выплаты вам нужно сначала получить от продавца данные, куда ему перевести вознаграждение, а затем отправить ЮKassa запрос на создание выплаты.
Особенности
Вы можете делать выплаты в Безопасной сделке следующими способами:
  • на банковские карты: подходят любые карты российских банков; карты Мир, выпущенные иностранными банками; карты партнерских платежных систем (актуальный список уточните у вашего менеджера);
  • на кошельки ЮMoney с упрощенной или полной идентификацией.
Для всех видов выплат есть ограничения на выплаты продавцу. Если лимиты превышены, выплаты не пройдут.
Вид выплатыРазовый лимитЛимит за период
Банковская карта
Ограничения действуют на одну банковскую карту получателя выплаты
Минимум — 1 рубль
Максимум — 150 000 рублей
Максимальное количество выплат за сутки — 20
Максимальная сумма выплат за месяц — 1 500 000 рублей
Кошелек ЮMoney
Лимиты зависят от статуса кошелька
Минимум — 1 рубль
Максимум зависит от текущего баланса кошелька. После выплаты баланс кошелька не может превышать определенную сумму:
  • Именной кошелек — 100 000 рублей
  • Идентифицированный кошелек — 500 000 рублей
Максимальная сумма выплат за месяц — 600 000 рублей
Сценарий взаимодействия
Чтобы сделать выплату:
  1. Получите от продавца данные о том, куда перевести его вознаграждение.
  2. Проведите выплату с полученными данными.
Конкретный порядок действий зависит от вида выплаты:
Если в процессе выплата не пройдет, ЮKassa сообщит причину отмены выплаты.
Выплаты на банковскую карту
Для выплат подходят следующие карты: любые карты российских банков; карты Мир, выпущенные иностранными банками; а также карты партнерских платежных систем (актуальный список уточните у вашего менеджера).
Чтобы провести выплату, вам нужно получить данные банковской карты продавца. Получение и хранение номера банковской карты подпадает под действие стандарта PCI DSS, поэтому ЮKassa хранит эти данные на своей стороне. Чтобы получить данные карты продавца, используйте специальный виджет ЮKassa.
Если у вас есть сертификат на соответствие требованиям PCI DSS, вы можете собрать данные самостоятельно и при проведении выплаты передать ЮKassa номер банковской карты.
Выберите, как вы хотите получить данные банковской карты продавца:
Выплаты с получением данных с помощью виджета ЮKassa
Чтобы сделать выплату на банковскую карту:
  1. Получите данные банковской карты с помощью специального виджета ЮKassa.
  2. Проведите выплату с полученными данными.
Получение данных банковской карты
Чтобы получить данные карты для выплаты, разместите у себя на сайте специальный виджет и отобразите продавцу форму для ввода данных. С помощью виджета вы получите синоним банковской карты — идентификатор карты в системе ЮKassa, который нужно использовать для проведения выплаты, а также ряд других данных об этой карте. Эту информацию можно хранить на своей стороне без опасения утечки, потому что ее публикация не приводит к финансовым или имиджевым потерям.
Виджет для выплат в рамках Безопасной сделки: форма сбора данных
Виджет для выплат в рамках Безопасной сделки: форма сбора данных
Виджет для выплат в рамках Безопасной сделки работает так же, как виджет для стандартных выплат. Единственное отличие — параметры, которые нужно передать при инициализации виджета.
Для подключения воспользуйтесь инструкцией по интеграции виджета для выплат, но в созданный экземпляр класса PayoutsData передайте следующие параметры:
  • type со значением safedeal;
  • account_id с идентификатором магазина, настроенного для безопасной сделки;
  • success_callback, который будет принимать параметры карты;
  • error_callback, который будет принимать код ошибки.
Остальные действия, в том числе обработка результатов, идентичны действиям при использовании виджета для стандартных выплат.
Подробнее о виджете для выплат:
Пример кода виджета
HTML
<!--Подключение библиотеки-->
<script src="https://yookassa.ru/payouts-data/3.1.0/widget.js"></script>

<!--HTML-элемент, в котором будет отображаться форма ввода номера карты-->
<div id="payout-form"></div>

<script>
    //Инициализация виджета. Все параметры обязательные.
    const payoutsData = new window.PayoutsData({
      type: 'safedeal',
      account_id: '<Идентификатор_магазина>', //Идентификатор магазина (shopid в личном кабинете)
      success_callback: function(data) {
        //Обработка ответа с токеном карты
      },
      error_callback: function(error) {
        //Обработка ошибок при получении токена карты
      }
    });
    
    //Отображение формы в контейнере
    payoutsData.render('payout-form')
    //Метод возвращает Promise, исполнение которого говорит о полной загрузке формы сбора данных (можно не использовать).
      .then(() => {
        //Код, который нужно выполнить после отображения формы.
      });
</script>
Проведение выплаты на банковскую карту
Шаг 1. Создайте выплату: отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на банковскую карту:
  • в объекте amount передайте сумму, которую нужно выплатить продавцу;
  • в объекте deal передайте идентификатор сделки;
  • в параметре description передайте описание выплаты;
  • в параметре payout_token передайте полученный синоним банковской карты.
Пример запроса на создание выплаты
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "800.00",
          "currency": "RUB"
        },
        "payout_token": "<Синоним банковской карты>",
        "description": "Выплата по заказу №37",
        "metadata": {
          "order_id": "37"
        },
        "deal": {
          "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
        }
      }'
В ответ на запрос ЮKassa вернет созданный объект выплаты.
Пример созданного объекта выплаты
JSON
{
  "id": "po-285ec15d-0003-5000-a000-08d1bec7dade",
  "amount": {
    "value": "800.00",
    "currency": "RUB"
  },
  "status": "pending",
  "payout_destination": {
    "type": "bank_card",
    "card": {
      "first6": "220220",
      "last4": "2537",
      "card_type": "Mir",
      "issuer_country": "RU",
      "issuer_name": "Sberbank Of Russia"
    }
  },
  "description": "Выплата по заказу №37",
  "created_at": "2021-06-21T14:28:45.132Z",
  "deal": {
    "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
  },
  "metadata": {
    "order_id": "37"
  },
  "test": false
}
Шаг 2. Дождитесь, когда банк получателя согласует выплату и ЮKassa изменит статус объекта выплаты на succeeded. Для этого периодически отправляйте ЮKassa запросы на получение информации о выплате.
Пример объекта выплаты в статусе succeeded
JSON
{
  "id": "po-28559c4f-0003-5000-9000-0baf38b7a7fd",
  "amount": {
    "value": "800.00",
    "currency": "RUB"
  },
  "status": "succeeded",
  "payout_destination": {
    "type": "bank_card",
    "card": {
      "first6": "220220",
      "last4": "2537",
      "card_type": "Mir",
      "issuer_country": "RU",
      "issuer_name": "Sberbank Of Russia"
    }
  },
  "description": "Выплата по заказу №37",
  "created_at": "2021-06-21T14:28:45.132Z",
  "succeeded_at": "2021-06-21T14:29:17.141Z",
  "deal": {
    "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
  },
  "metadata": {
    "order_id": "37"
  },
  "test": false
}
Если выплата успешна, ЮKassa закроет сделку.
Выплаты с самостоятельным получением данных карты

Чтобы передавать в запросе на создание выплаты номер банковской карты, вам нужно получить сертификат на соответствие требованиям PCI DSS.

Чтобы сделать выплату на банковскую карту:
  1. Получите данные банковской карты.
  2. Проведите выплату с полученными данными.
Получение данных банковской карты
Для проведения выплаты вам понадобится номер банковской карты. Получите его любым удобным вам способом.
Проведение выплаты на банковскую карту
Шаг 1. Создайте выплату: отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на банковскую карту:
  • в объекте amount передайте сумму, которую нужно выплатить продавцу;
  • в объекте deal передайте идентификатор сделки;
  • в параметре description передайте описание выплаты;
  • в объекте payout_destination_data передайте код вида выплаты bank_card и номер банковской карты, на которую нужно перевести вознаграждение продавца.
Пример запроса на создание выплаты
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "800.00",
          "currency": "RUB"
        },
        "payout_destination_data":
        {
            "type": "bank_card",
            "card": {
              "number": "5555555555554477"
          }
        },
        "description": "Выплата по заказу № 37",
        "metadata": {
          "order_id": "37"
        },
        "deal": {
          "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
        }
      }'
В ответ на запрос ЮKassa вернет созданный объект выплаты.
Пример созданного объекта выплаты
JSON
{
  "id": "po-285ec15d-0003-5000-a000-08d1bec7dade",
  "amount": {
    "value": "800.00",
    "currency": "RUB"
  },
  "status": "pending",
  "payout_destination": {
    "type": "bank_card",
    "card": {
      "first6": "555555",
      "last4": "4477",
      "card_type": "Mir",
      "issuer_country": "RU",
      "issuer_name": "Sberbank Of Russia"
    }
  },
  "description": "Выплата по заказу №37",
  "created_at": "2021-06-21T14:28:45.132Z",
  "deal": {
    "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
  },
  "metadata": {
    "order_id": "37"
  },
  "test": false
}
Шаг 2. Дождитесь, когда банк получателя согласует выплату и ЮKassa изменит статус объекта выплаты на succeeded. Для этого периодически отправляйте ЮKassa запросы на получение информации о выплате или подождите, когда придет уведомление от ЮKassa.
Пример объекта выплаты в статусе succeeded
JSON
{
  "id": "po-28559c4f-0003-5000-9000-0baf38b7a7fd",
  "amount": {
    "value": "800.00",
    "currency": "RUB"
  },
  "status": "succeeded",
  "payout_destination": {
    "type": "bank_card",
    "card": {
      "first6": "555555",
      "last4": "4477",
      "card_type": "Mir",
      "issuer_country": "RU",
      "issuer_name": "Sberbank Of Russia"
    }
  },
  "description": "Выплата по заказу №37",
  "created_at": "2021-06-21T14:28:45.132Z",
  "succeeded_at": "2021-06-21T14:29:17.141Z",
  "deal": {
    "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
  },
  "metadata": {
    "order_id": "37"
  },
  "test": false
}
Если выплата успешна, ЮKassa закроет сделку.
Выплаты на кошелек ЮMoney
Чтобы сделать выплату на кошелек ЮMoney:
  1. Получите данные кошелька ЮMoney.
  2. Проведите выплату с полученными данными.
Получение данных кошелька ЮMoney
Для проведения выплаты вам понадобится номер кошелька ЮMoney. Получите его любым удобным вам способом.
Чтобы получить выплату, владельцу кошелька нужно пройти полную или упрощенную идентификацию в ЮMoney (статус кошелька — именной или идентифицированный).
Максимальный размер выплаты зависит от лимита на баланс: после выплаты остаток в кошельке не должен превышать определенную сумму, размер которой зависит от статуса кошелька. Если выплата не проходит из-за лимита на баланс, получателю следует изменить статус кошелька или потратить сумму, на которую превышается остаток.
Проведение выплаты на кошелек ЮMoney
Создайте выплату: отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты на кошелек ЮMoney:
  • в объекте amount передайте сумму, которую нужно выплатить продавцу;
  • в объекте deal передайте идентификатор сделки;
  • в параметре description передайте описание выплаты;
  • в объекте payout_destination_data передайте код вида выплаты yoo_money и номер кошелька, на который нужно перевести вознаграждение продавца.
Пример запроса на создание выплаты
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "800.00",
          "currency": "RUB"
        },
        "payout_destination_data": {
          "type": "yoo_money",
          "account_number": "4100116075156746"
        },
        "description": "Выплата по заказу № 37",
        "metadata": {
          "order_id": "37"
        },
        "deal": {
          "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
        }
      }'
В ответ на запрос ЮKassa вернет созданный объект выплаты. Он будет уже в финальном статусе — succeeded или canceled.
Пример созданного объекта выплаты
JSON
{
    "id": "po-28836e72-0003-5000-9000-08892e762c41",
    "amount": {
        "value": "800.00",
        "currency": "RUB"
    },
    "status": "succeeded",
    "payout_destination": {
        "type": "yoo_money",
        "account_number": "4100116075156746"
    },
    "description": "Выплата по заказу № 37",
    "created_at": "2021-06-21T14:28:45.132Z",
    "succeeded_at": "2021-06-21T14:29:17.141Z",
    "deal": {
        "id": "dl-285e5ee7-0022-5000-8000-01516a44b147"
    },
    "metadata": {
        "order_id": "37"
    },
    "test": "false"
}
Если выплата успешна, ЮKassa закроет сделку.
Неуспешные выплаты
В процессе выплаты что-то может пойти не так. Например, может быть превышен лимит выплаты, ЮKassa может заподозрить попытку мошенничества. В этом случае выплата будет отменена и перейдет в статус canceled.
Чтобы вы могли лучше понимать, что произошло и что с этим делать, ЮKassa пришлет в объекте выплаты комментарий к отмене выплаты (cancellation_details). В нём будут указаны инициатор и причина отмены выплаты. Вы можете использовать эти данные для анализа и решения проблем, вывода сообщений пользователю и любых других целей.
Пример объекта выплаты в статусе canceled
JSON
{
    "id": "po-285c0ab7-0003-5000-9000-0e1166498fda",
    "amount": {
        "value": "400.00",
        "currency": "RUB"
    },
    "status": "canceled",
    "payout_destination": {
        "type": "bank_card",
        "card": {
            "first6": "444444",
            "last4": "4448",
            "card_type": "Visa",
            "issuer_country": "PL",
            "issuer_name": "Krakowski Bank Spoldzielczy"
        }
    },
    "description": "Выплата по заказу №37",
    "created_at": "2021-06-16T13:04:55.633Z",
    "deal": {
        "id": "dl-28559370-0022-5000-8000-0b65d8e0e06d"
    },
    "metadata": {
        "order_id": "37"
    },
    "test": false,
    "cancellation_details": {
        "party": "yoo_money",
        "reason": "general_decline"
    }
}
Инициаторы отмены выплаты
Инициатор отмены возвращается в параметре party объекта cancellation_details.
ЗначениеОписание
yoo_moneyЮKassa
payout_network«Внешние» участники процесса выплаты — все остальные участники выплаты, кроме ЮKassa и вас (например, эмитент банковской карты)
Причины отмены выплаты
Причина отмены возвращается в параметре reason объекта cancellation_details.
ЗначениеОписание
fraud_suspectedВыплата заблокирована из-за подозрения в мошенничестве. Следует обратиться к инициатору отмены выплаты за уточнением подробностей или выбрать другой способ получения выплаты или другое платежное средство (например, другую банковскую карту).
general_declineПричина не детализирована. Пользователю следует обратиться к инициатору отмены выплаты за уточнением подробностей.
identification_requiredКошелек ЮMoney не идентифицирован. Пополнение анонимного кошелька запрещено. Пользователю необходимо идентифицировать кошелек.
one_time_limit_exceededПревышен лимит на разовое зачисление. Можно уменьшить размер выплаты, разбить сумму и сделать несколько выплат, выбрать другой способ получения выплат или другое платежное средство (например, другую банковскую карту).
periodic_limit_exceededПревышен лимит выплат за период времени (сутки, месяц). Следует выбрать другой способ получения выплаты или другое платежное средство (например, другую банковскую карту).
rejected_by_payeeЭмитент отклонил выплату по неизвестным причинам. Пользователю следует обратиться к эмитенту за уточнением подробностей или выбрать другой способ получения выплаты или другое платежное средство (например, другую банковскую карту).
Что почитать еще
© 2025, ООО НКО «ЮМани»