Формы

Форма — это набор полей с информацией о переводе. Форму можно разместить в своем интерфейсе (например, на сайте или в блоге). Когда отправитель нажимает на кнопку, данные формы отправляются в сервис Яндекс.Денег и инициируют распоряжение на перевод в ваш кошелек.

Метод отправки формы: POST

Адрес для отправки формы:

https://money.yandex.ru/quickpay/confirm.xml

Параметры

Параметр Тип Описание
Обязательные параметры
receiver string Номер кошелька в Яндекс.Деньгах, на который нужно зачислять деньги отправителей.
quickpay-form string Возможные значения:
  • shop — для универсальной формы;
  • small — для кнопки;
  • donate — для «благотворительной» формы.
targets До 150 символов Назначение платежа.
paymentType string Способ оплаты. Возможные значения:
  • PC — оплата из кошелька в Яндекс.Деньгах;
  • AC — с банковской карты;
  • MC — с баланса мобильного.
sum CurrencyAmount Сумма перевода (спишется с отправителя).
Необязательные параметры
formcomment

string

До 50 символов

Название перевода в истории отправителя (для переводов из кошелька или с привязанной карты). Отображается в кошельке отправителя.

Удобнее всего формировать его из названий магазина и товара. Например: Мой магазин: валенки белые

short-dest string Название перевода на странице подтверждения. Рекомендуем делать его таким же, как formcomment.
label

string

До 64 символов

Метка, которую сайт или приложение присваивает конкретному переводу. Например, в качестве метки можно указывать код или идентификатор заказа.
comment

string

До 200 символов

Поле, в котором можно передать комментарий отправителя перевода.
successURL string, URL path URL-адрес для редиректа после совершения перевода.
need-fio boolean Нужны ФИО отправителя.
need-email boolean Нужна электронная почты отправителя.
need-phone boolean Нужен телефон отправителя.
need-address boolean Нужен адрес отправителя.
Note. О запросе контактных данных
  • Лучше запрашивать контактные данные, только если они действительно необходимы (чтобы отправителю не пришлось заполнять лишние поля).
  • Если в одних ситуациях контакты нужны, а в других — нет, вы можете изменять значение параметра (value="true" — запрашивать, value="false" — не запрашивать).

Расчет комиссии

Рассчитать комиссию — например, чтобы показать пользователю до перевода — можно с помощью коэффициента по формуле с использованием этих параметров:

  • amount_due — сумма к получению;
  • sum — сумма к списанию;
  • a — коэффициент комиссии.

Note. Параметры amount_due и a никуда не передаются: они используются только для расчетов. Параметр sum вы отправляете в форме в сервис Яндекс.Денег.

paymentType расшифровка paymentType Коэффициент комиссии (a) Откуда комиссия Формула для расчета Пример
PC Кошелек в Яндекс.Деньгах 0,005 с получателя, от суммы к получению amount_due = sum - sum * (a / (1 + a) ) Отправитель переводит 1000 рублей из кошелька, на счет получателя поступят 995 рублей 2 копейки.
AC Банковская карта 0,02 с получателя, от суммы к списанию amount_due = sum * (1 - a) Отправитель переводит 1000 рублей с карты, на счет получателя поступят 980 рублей.
MC Баланс телефона Комиссия с отправителя, зависит от оператора мобильной связи

Пример формы

Краудфандер Энтони Старк с помощью формы собирает деньги на свой проект.

Название проекта: Железный человек

Номер счета в Яндекс.Деньгах: 41001xxxxxxxxxxxx

Назначение перевода: на реактор холодного ядерного синтеза

Сумма: 4568,25 рублей.

Комментарий отправителя: Хотелось бы дистанционного управления.

<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml">
    <input type="hidden" name="receiver" value="41001xxxxxxxxxxxx">
    <input type="hidden" name="formcomment" value="Проект «Железный человек»: реактор холодного ядерного синтеза">
    <input type="hidden" name="short-dest" value="Проект «Железный человек»: реактор холодного ядерного синтеза">
    <input type="hidden" name="label" value="$order_id">
    <input type="hidden" name="quickpay-form" value="donate">
    <input type="hidden" name="targets" value="транзакция {order_id}">
    <input type="hidden" name="sum" value="4568.25" data-type="number">
    <input type="hidden" name="comment" value="Хотелось бы дистанционного управления.">
    <input type="hidden" name="need-fio" value="true">
    <input type="hidden" name="need-email" value="true"> 
    <input type="hidden" name="need-phone" value="false">
    <input type="hidden" name="need-address" value="false">
    <label><input type="radio" name="paymentType" value="PC">Яндекс.Деньгами</label>
    <label><input type="radio" name="paymentType" value="AC">Банковской картой</label>
    <input type="submit" value="Перевести">
</form>