Payouts from a business account
The mass payouts protocol is now outdated. If you want to make payouts via the API, use the YooMoney API.
This article describes the specifics of payouts from a business account.
Specifics
The only difference between payouts from business accounts and regular payouts is the information required from the user to make a payout as well as payout limits.
Required information
If you make payouts from a business account, you need to specify less information in the request:
- you don't need the user to accept of the offer for payouts to mobile phone balance, banks cards, or bank accounts;
- you don't need to specify user's personal information for payouts to bank cards.
Information required from the user:
- Payouts to YooMoney wallets: recipient's wallet number.
- Payouts to bank cards: card number (you can obtain it by yourself or using a ready-made form for collecting data from YooMoney).
- Payouts to bank accounts: banking details of the account and user's personal information.
- Payouts to mobile phone balance: phone number to which you'd like to transfer money.
Payout limits
All types of payouts have restrictions on the minimum and maximum amounts as well as the total amount per day or month. The only difference between payouts from business accounts and regular payouts is the maximum amount which can be transferred to bank cards and bank accounts. Learn more about limits
Activation
If you'd like to activate payouts from a business account, contact your YooMoney manager.
Payouts via API
The interaction format is the same as the format for regular payouts. Learn more about interaction format
To make a payout, you need to send a makeDeposition request with the payout amount and information required to make the payout. There are standard rules for generating and processing requests. The response format is the same as for regular payouts. Description of the response format
Address for requests
https://payouts.yookassa.ru:9094/webservice/deposition/api/makeDeposition
How to process a payout:
- Payouts to YooMoney wallets
- Payouts to bank cards
- Payouts to bank accounts
- Payouts to mobile phone balance
Payouts to YooMoney wallets
Step 1. Obtain user's YooMoney wallet number however you prefer. Warn the user that after the payment, the wallet balance can’t exceed a certain amount which depends on the wallet status. If the payout doesn't go through due to the balance limit, the recipient should upgrade the wallet status, spend the amount that exceeds the balance, or choose another way to receive the payout.
Step 2. Send a
makeDeposition
request and specify the following information in it:- in the
dstAccount
parameter, specify the YooMoney wallet number; - in the
amount
andcurrency
parameters, specify the amount and currency of the payout; - in the
agentId
parameter, specify the ID of your gateway for payouts; - in the
clientOrderId
parameter, specify the unique transaction ID (it must be unique for the whole system over the entire transaction history); - in the
requestDT
parameter, specify the time and date when the request was created in your system; - in the
contract
parameter, add a description of the payout. If you're making a payout to a self-employed individual, add a description of the service that should be printed in the receipt; - if you're making a payout to a self-employed individual, specify the parameters for registering the receipt.
Example of a payout to a YooMoney wallet
XML
<makeDepositionRequest contract="Выплата на кошелек ЮMoney" agentId="12345" clientOrderId="272517" requestDT="2013-04-12T00:01:54.000Z" dstAccount="41001614575714" amount="249.00" currency="643"> </makeDepositionRequest>
Step 3. Wait until the request is executed.
Payouts to bank cards
Step 1. Obtain the synonym of the bank card number. To do that, you can use the ready-made form for collecting data from YooMoney or obtain the card number by yourself and exchange it for the synonym using a request for a card synonym.
A bank card synonym can be used multiple times and for different payouts. You can make multiple synonyms of the same card.
Step 2. Send a
makeDeposition
request and specify the following information in it:- in the
dstAccount
parameter, enter25700130535186
; - in the
amount
andcurrency
parameters, specify the amount and currency of the payout; - in the
agentId
parameter, specify the ID of your gateway for payouts; - in the
clientOrderId
parameter, specify the unique transaction ID (it must be unique for the whole system over the entire transaction history); - in the
requestDT
parameter, specify the time and date when the request was created in your system; - in the
contract
parameter, add a description of the payout. If you're making a payout to a self-employed individual, add a description of the service that should be printed in the receipt; - if you're making a payout to a self-employed individual, specify the parameters for registering the receipt;
- in the
skr_destinationCardSynonim
parameter, specify the bank card synonym inpaymentParams
.
Example of a payout to a bank card
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>
Step 3. Wait until the request is executed.
Payouts to bank accounts
Step 1. Obtain user's banking details to create a payment order for a transfer to their bank account. You need the banking details of the account and user's personal information (full name, passport details, and date of birth).
Step 2. Send a
makeDeposition
and specify the following information in it:- in the
dstAccount
parameter, enter2570066962077
; - in the
amount
andcurrency
parameters, specify the amount and currency of the payout; - in the
agentId
parameter, specify the ID of your gateway for payouts; - in the
clientOrderId
parameter, specify the unique transaction ID (it must be unique for the whole system over the entire transaction history); - in the
requestDT
parameter, specify the time and date when the request was created in your system; - in the
contract
parameter, add a description of the payout. If you're making a payout to a self-employed individual, add a description of the service that should be printed in the receipt; - if you're making a payout to a self-employed individual, specify the parameters for registering the receipt;
- specify
paymentParams
with the following parameters:- in
CustAccount
, specify recipient's bank account number; - in the
BankBIK
,BankName
,BankCity
,BankCorAccount
parameters, specify information about recipient's bank: BIC, name, city or town where the outlet of the bank is located, and outlet's correspondent account; - in the
pdr_lastName
,pdr_firstName
,pdr_middleName
parameters, specify recipient's last name, first name, and patronymic (if they have one); - in the
pdr_birthDate
parameter, specify recipient's date of birth; - in the
pdr_docNumber
parameter, specify the series and number of recipient's passport (only the digits, without spaces); - in the
pdr_docIssueDay
,pdr_docIssueMonth
,pdr_docIssueYear
parameters, specify the day, month, and year when the passport was issued; - in the
payment_purpose
parameter, specify the purpose of the payout or other information for the bank if necessary.
- in
Example of a payout to a bank account
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>
Step 3. Wait until the request is executed.
The bank can decline the transfer. In this case, YooMoney will return the payout and send you a notification about an unsuccessful transfer.
Payouts to mobile phone balance
Step 1. Obtain user's phone number to which money should be transferred. Warn the user that it must be a number of one of the Russian mobile carriers listed here.
Step 2. Send a
makeDeposition
and specify the following information in it:- in the
dstAccount
parameter, specify recipient's phone number; - in the
amount
andcurrency
parameters, specify the amount and currency of the payout; - in the
agentId
parameter, specify the ID of your gateway for payouts; - in the
clientOrderId
parameter, specify the unique transaction ID (it must be unique for the whole system over the entire transaction history); - in the
requestDT
parameter, specify the time and date when the request was created in your system; - in the
contract
parameter, add a description of the payout. If you're making a payout to a self-employed individual, add a description of the service that should be printed in the receipt; - if you're making a payout to a self-employed individual, specify the parameters for registering the receipt.
Example of a payout to mobile phone balance
XML
<makeDepositionRequest contract="Выплаты на баланс мобильного телефона" agentId="12345" clientOrderId="272517" requestDT="2013-04-12T00:01:54.000Z" dstAccount="79052075556" amount="249.00" currency="643"> </makeDepositionRequest>
Step 3. Wait until the request is executed.
The mobile carrier can decline the transfer. In this case, YooMoney will return the payout and send you a notification about an unsuccessful transfer.
Описание параметров запроса makeDeposition
Parameter | Type | Description |
---|---|---|
dstAccount | YMAccount | Identifier of the transfer recipient. Зависит от способа получения выплаты:
Required parameter |
clientOrderId | ClientTransactionNumber | Идентификатор операции. Должен быть уникальным для вашей системы на протяжении всей истории операций. Рекомендуемые значения: целое положительное число в десятичной системе счисления. Required parameter |
requestDT | xs:dateTime | Дата и время формирования запроса операции на стороне и по часам вашей системы. Required parameter |
amount | CurrencyAmount | Сумма перевода, например: 12.34 Required parameter |
currency | CurrencyCode | Код валюты перевода. Возможное значение — 643 (российский рубль).Required parameter |
agentId | xs:long | Идентификатор вашего шлюза. Выдается ЮKassa. Required parameter |
contract | xs: normalizedString, до 128 символов | Основание для зачисления перевода. При выплатах самозанятым — описание услуги, оказанной получателем выплаты (для печати в чеке). Required parameter |
paymentParams | xs: complexType | Дополнительные данные для выплат. Используется при выплатах на банковские карты и счета. Параметры описаны ниже. Optional parameter |
Параметры, предаваемые в paymentParams
Имя поля paymentParams | Type | Description |
---|---|---|
Для выплат на банковские карты | ||
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 кириллических символов | Назначение выплаты или иные сведения для банка (может быть пустым). Optional parameter |
Персональные данные получателя выплаты | ||
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 |
|
Выплаты на банковские карты |
|
Выплаты на банковские счета |
|
Выплаты на баланс мобильного телефона |
|
Выплаты самозанятым | Поля описаны в статье Выплаты самозанятым. |
See also