Выплаты с расчетного счета
Протокол массовых выплат устарел. Если хотите делать выплаты по API, используйте API ЮKassa.
В этой статье описаны особенности выплат с расчетного счета.
Особенности
Выплаты с расчетного счета отличаются от обычных выплат только данными, которые нужно получить от пользователя для проведения выплаты, и лимитами выплат.
Передаваемые данные
Если вы делаете выплаты с расчетного счета, вам нужно передавать в запросе меньше данных:
- при выплатах на мобильный телефон, банковскую карту или банковский счет не нужно получать у пользователя согласие с офертой;
- при выплатах на банковскую карту не нужно передавать персональные данные пользователя.
Какие данные нужно получить от пользователя:
- Выплаты на кошельки ЮMoney: номер кошелька получателя выплаты.
- Выплаты на банковскую карту: номер карты (его можно получить самостоятельно или с помощью готовой формы ЮKassa для сбора данных).
- Выплаты на банковский счет: реквизиты счета, персональные данные получателя.
- Выплаты по номеру телефона: номер телефона, на баланс которого необходимо перевести деньги.
Лимиты выплат
Для всех видов выплат есть ограничения на минимальный и максимальный размер выплаты и на общую сумму выплат за сутки и месяц. Выплаты с расчетного счета отличаются от обычных выплат только максимально допустимой суммой перевода на банковские карты и счета. Подробнее о лимитах
Подключение
Если хотите подключить выплаты с расчетного счета, обратитесь к вашему менеджеру ЮKassa.
Выплаты по API
Формат взаимодействия такой же, как у обычных выплат. Подробнее о формате взаимодействия
Для проведения выплаты необходимо отправить запрос makeDeposition с суммой выплаты и данными, которые нужны для проведения выплаты. Правила формирования и обработки запросов стандартные. Формат ответа такой же, как в обычных выплатах. Описание формата ответа
Адрес для отправки запросов
https://payouts.yookassa.ru:9094/webservice/deposition/api/makeDeposition
Как провести выплату:
- Выплата на кошелек ЮMoney
- Выплата на банковскую карту
- Выплата на банковский счет
- Выплата на баланс мобильного телефона
Выплаты на кошелек ЮMoney
Шаг 1. Получите у пользователя номер кошелька ЮMoney любым удобным для вас способом. Предупредите пользователя, что после выплаты остаток в кошельке не должен превышать определенную сумму, размер которой зависит от статуса кошелька. Если выплата не проходит из-за лимита на баланс, получателю следует изменить статус кошелька, потратить сумму, на которую превышается остаток, или выбрать другой способ получения выплаты.
Шаг 2. Отправьте запрос
makeDeposition
и передайте в нём следующие данные:- в параметре
dstAccount
передайте номер кошелька ЮMoney; - в параметрах
amount
иcurrency
передайте сумму и валюту выплаты; - в параметре
agentId
передайте идентификатор вашего шлюза для выплат; - в параметре
clientOrderId
передайте уникальный идентификатор операции (должен быть уникальным для всей системы на протяжении всей истории операций); - в параметре
requestDT
передайте дату и время формирования запроса в вашей системе; - в параметре
contract
передайте описание выплаты, а если делаете выплату самозанятому, то описание услуги для печати в чеке; - если делаете выплаты самозанятому, передайте параметры для регистрации чека.
Пример выплаты на кошелек ЮMoney
XML
<makeDepositionRequest contract="Выплата на кошелек ЮMoney" agentId="12345" clientOrderId="272517" requestDT="2013-04-12T00:01:54.000Z" dstAccount="41001614575714" amount="249.00" currency="643"> </makeDepositionRequest>
Шаг 3. Дождитесь результата выполнения запроса.
Выплаты на банковскую карту
Шаг 1. Получите синоним номера банковской карты. Для этого можно использовать готовую форму ЮKassa для сбора данных или самостоятельно получить номер карты и обменять его на синоним с помощью запроса на получение синонима.
Синоним банковской карты можно использовать несколько раз и для разных выплат. Для одной и той же карты можно сделать несколько синонимов.
Шаг 2. Отправьте запрос
makeDeposition
и передайте в нём следующие данные:- в параметре
dstAccount
передайте значение25700130535186
; - в параметрах
amount
иcurrency
передайте сумму и валюту выплаты; - в параметре
agentId
передайте идентификатор вашего шлюза для выплат; - в параметре
clientOrderId
передайте уникальный идентификатор операции (должен быть уникальным для всей системы на протяжении всей истории операций); - в параметре
requestDT
передайте дату и время формирования запроса в вашей системе; - в параметре
contract
передайте описание выплаты, а если делаете выплату самозанятому, то описание услуги для печати в чеке; - если делаете выплаты самозанятому, передайте параметры для регистрации чека;
- в
paymentParams
, в параметреskr_destinationCardSynonim
передайте синоним банковской карты.
Пример выплаты на банковскую карту
XML
<makeDepositionRequest contract="Выплата на банковскую карту" agentId="12345" clientOrderId="payouts-110_1561126417933" requestDT="2019-06-21T14:13:37.965Z" dstAccount="25700130535186" amount="249.00" currency="643"> <paymentParams> <skr_destinationCardSynonim>oALesdd_h_YT6pzpJ10Kn5aB.SC.000.201906</skr_destinationCardSynonim> </paymentParams> </makeDepositionRequest>
Шаг 3. Дождитесь результата выполнения запроса.
Выплаты на банковский счет
Шаг 1. Получите от пользователя данные для формирования платежного поручения для перевода на банковский счет. Нужны реквизиты счета и персональные данные пользователя (его ФИО, паспортные данные, дата рождения).
Шаг 2. Отправьте запрос
makeDeposition
и передайте в нём следующие данные:- в параметре
dstAccount
передайте значение2570066962077
; - в параметрах
amount
иcurrency
передайте сумму и валюту выплаты; - в параметре
agentId
передайте идентификатор вашего шлюза для выплат; - в параметре
clientOrderId
передайте уникальный идентификатор операции (должен быть уникальным для всей системы на протяжении всей истории операций); - в параметре
requestDT
передайте дату и время формирования запроса в вашей системе; - в параметре
contract
передайте описание выплаты, а если делаете выплату самозанятому, то описание услуги для печати в чеке; - если делаете выплаты самозанятому, передайте параметры для регистрации чека;
- передайте
paymentParams
с этими параметрами:- в
CustAccount
передайте номер банковского счета получателя выплаты; - в параметрах
BankBIK
,BankName
,BankCity
,BankCorAccount
передайте информацию о банке получателя: БИК банка, название, город, в котором находится отделение банка, и корреспондентский счет отделения банка; - в параметрах
pdr_lastName
,pdr_firstName
,pdr_middleName
передайте фамилию, имя и при наличии отчество получателя выплаты; - в параметре
pdr_birthDate
передайте дату рождения получателя выплаты; - в параметре
pdr_docNumber
передайте серию и номер паспорта получателя (только цифры, без пробелов); - в параметрах
pdr_docIssueDay
,pdr_docIssueMonth
,pdr_docIssueYear
передайте день, месяц и год выдачи паспорта; - при необходимости в параметре
payment_purpose
передайте назначение выплаты или иные сведения для банка.
- в
Пример выплаты на банковский счет
XML
<makeDepositionRequest contract="Выплата на банковский счет" agentId="12345" clientOrderId="272517" requestDT="2013-04-12T00:01:54.000Z" dstAccount="2570066962077" amount="249.00" currency="643"> <paymentParams> <BankName>ПАО Сбербанк</BankName> <BankCity>г. Москва</BankCity> <BankCorAccount>30101810400000000225</BankCorAccount> <CustAccount>40817810255030943620</CustAccount> <BankBIK>042809679</BankBIK> <payment_purpose>Возврат по договору 25-001, без НДС</payment_purpose> <pdr_firstName>Владимир</pdr_firstName> <pdr_middleName>Владимирович</pdr_middleName> <pdr_lastName>Владимиров</pdr_lastName> <pdr_docNumber>4002109067</pdr_docNumber> <pdr_docIssueYear>1999</pdr_docIssueYear> <pdr_docIssueMonth>07</pdr_docIssueMonth> <pdr_docIssueDay>30</pdr_docIssueDay> <pdr_birthDate>24.05.1987</pdr_birthDate> </paymentParams> </makeDepositionRequest>
Шаг 3. Дождитесь результата выполнения запроса.
Банк может отказать в переводе. В этом случае ЮKassa вернет выплату и пришлет вам уведомление о неуспешном переводе.
Выплаты на баланс мобильного телефона
Шаг 1. Получите у пользователя номер телефона, на баланс которого необходимо перевести деньги. Предупредите пользователя, что номер должен обслуживаться российским сотовым оператором из этого списка.
Шаг 2. Отправьте запрос
makeDeposition
и передайте в нём следующие данные:- в параметре
dstAccount
передайте номер телефона получателя выплаты; - в параметрах
amount
иcurrency
передайте сумму и валюту выплаты; - в параметре
agentId
передайте идентификатор вашего шлюза для выплат; - в параметре
clientOrderId
передайте уникальный идентификатор операции (должен быть уникальным для всей системы на протяжении всей истории операций); - в параметре
requestDT
передайте дату и время формирования запроса в вашей системе; - в параметре
contract
передайте описание выплаты, а если делаете выплату самозанятому, то описание услуги для печати в чеке; - если делаете выплаты самозанятому, передайте параметры для регистрации чека.
Пример выплаты на баланс мобильного телефона
XML
<makeDepositionRequest contract="Выплаты на баланс мобильного телефона" agentId="12345" clientOrderId="272517" requestDT="2013-04-12T00:01:54.000Z" dstAccount="79052075556" amount="249.00" currency="643"> </makeDepositionRequest>
Шаг 3. Дождитесь результата выполнения запроса.
Оператор мобильной связи может отказать в переводе. В этом случае ЮKassa вернет выплату и пришлет вам уведомление о неуспешном переводе.
Описание параметров запроса makeDeposition
Параметр | Тип | Описание |
---|---|---|
dstAccount | YMAccount | Идентификатор получателя перевода. Зависит от способа получения выплаты:
Обязательный параметр |
clientOrderId | ClientTransactionNumber | Идентификатор операции. Должен быть уникальным для вашей системы на протяжении всей истории операций. Рекомендуемые значения: целое положительное число в десятичной системе счисления. Обязательный параметр |
requestDT | xs:dateTime | Дата и время формирования запроса операции на стороне и по часам вашей системы. Обязательный параметр |
amount | CurrencyAmount | Сумма перевода, например: 12.34 Обязательный параметр |
currency | CurrencyCode | Код валюты перевода. Возможное значение — 643 (российский рубль).Обязательный параметр |
agentId | xs:long | Идентификатор вашего шлюза. Выдается ЮKassa. Обязательный параметр |
contract | xs: normalizedString, до 128 символов | Основание для зачисления перевода. При выплатах самозанятым — описание услуги, оказанной получателем выплаты (для печати в чеке). Обязательный параметр |
paymentParams | xs: complexType | Дополнительные данные для выплат. Используется при выплатах на банковские карты и счета. Параметры описаны ниже. Необязательный параметр |
Параметры, предаваемые в paymentParams
Имя поля paymentParams | Тип | Описание |
---|---|---|
Для выплат на банковские карты | ||
skr_destinationCardSynonim | xs:string, до 50 символов | Синоним номера банковской карты. Можно получить с помощью готовой формы ЮKassa для сбора данных или с помощью запроса на получение синонима. Обязательный параметр для выплат на банковские карты |
Для выплат на банковский счет | ||
Реквизиты счета | ||
CustAccount | xs:long, 20 символов | Номер банковского счета получателя. Обязательный параметр для выплат на банковские счета |
BankBIK | xs:long, 9 символов | БИК банка. Обязательный параметр для выплат на банковские счета |
BankName | xs:string, до 200 кириллических символов | Наименование банка. Обязательный параметр для выплат на банковские счета |
BankCity | xs:string, кириллические символы | Город, в котором находится отделение банка. Обязательный параметр для выплат на банковские счета |
BankCorAccount | xs:long, 20 символов | Корреспондентский счет отделения банка. Обязательный параметр для выплат на банковские счета |
payment_purpose | xs:string, до 100 кириллических символов | Назначение выплаты или иные сведения для банка (может быть пустым). Необязательный параметр. |
Персональные данные получателя выплаты | ||
pdr_lastName | xs:string, до 50 кириллических символов | Фамилия. Обязательный параметр для выплат на банковские счета |
pdr_firstName | xs:string, до 50 кириллических символов | Имя. Обязательный параметр для выплат на банковские счета |
pdr_middleName | xs:string, до 50 кириллических символов | Отчество. Обязательно, если есть в паспорте. |
pdr_birthDate | xs:string, 10 символов | Дата рождения в формате ДД.ММ.ГГГГ Обязательный параметр для выплат на банковские счета |
pdr_docNumber | xs:long, 10 символов | Серия и номер паспорта гражданина РФ (без пробелов). Обязательный параметр для выплат на банковские счета |
pdr_docIssueYear | xs:int, 4 символа | Год выдачи паспорта в формате ГГГГ .Обязательный параметр для выплат на банковские счета |
pdr_docIssueMonth | xs:int, 2 символа | Месяц выдачи паспорта в формате ММ .Обязательный параметр для выплат на банковские счета |
pdr_docIssueDay | xs:int, 2 символа | День выдачи паспорта в формате ДД .Обязательный параметр для выплат на банковские счета |
Выплаты по спискам
Если вы используете выплаты по спискам, то для выплат с расчетного счета процесс и формат файла будут такими же, как и для обычных выплат. Единственное отличие — в шаблонах файлов будет меньше полей. Шаблоны в XLSX и CSV для выплат по спискам с расчетного счета нужно скачать в личном кабинете.
Поля, которые нужно заполнять для разных видов выплат
Вид выплаты | Поля, которые нужно заполнить |
---|---|
Общие поля для всех видов выплат |
|
Выплаты на кошелек ЮMoney |
|
Выплаты на банковские карты |
|
Выплаты на банковские счета |
|
Выплаты на баланс мобильного телефона |
|
Выплаты самозанятым | Поля описаны в статье Выплаты самозанятым. |
Что почитать еще