YooMoney API
Old versions of the API
Help
Sign up for YooMoney
Transfer to bank card

This is an old version of the API. Switch to the YooMoney API.

If you make payouts from a business account, use the instructions in the article on payouts from a business account.

Using YooMoney for Business, you can make payouts to bank cards issued by Russian and foreign banks.
Чтобы сделать выплату, в запросе на зачисление перевода необходимо передать подтверждение принятия оферты, синоним банковской карты и персональные данные получателя выплаты.
Payout details
Bank card synonym
Receiving and storing bank card numbers is subject to the PCI DSS standard, so YooMoney stores card data on its side. In order to allow you to make payouts to cards, YooMoney provide them with:
  • card synonym skr_destinationCardSynonim — card’s ID in the YooMoney system;
  • card’s mask to be displayed to the user skr_destinationCardPanmask;
  • additional card parameters that have been defined during processing.
You can store this data on their side without the risk of leakage: publishing this information will not lead to any financial loss or image discrediting.
User’s personal details
Personal details must be sent in accordance with the legislation of the Russian Federation.
Passport information (full name, series, passport number and date of issue, date of birth, nationality) and phone number are required.
If the card is issued by a non-Russian bank or if the payout exceeds 15,000 rubles, additional data about the user’s place of residence must be provided. If the card is issued by a non-Russian bank, the payout amount will not affect the number of fields: you should always send an expanded set of details.

If you don’t send all the information, the money transfer request (makeDeposition) will return an error (error=48).

In addition to passport details, the recipient can specify other documents such as INN (TIN), SNILS, and the OMS insurance policy number. If something goes wrong during the standard personal data verification process, YooMoney will use this information to verify the payout recipient as an alternative.
Scenarios for making payouts to cards
You can collect data independently or using the YooMoney form.
Obtaining the bank card synonym and the user’s personal data independently
Чтобы провести выплаты с самостоятельным сбором данных получателя выплаты:
  1. Obtain card synonym.
  2. Embed a form for entering user’s personal details on your website and collect data.
  3. Send a money transfer request (makeDeposition) containing the received synonym, user’s personal data, and confirmation of acceptance of the offer.
YooMoney will verify the personal details every time you send the makeDeposition request.
Obtaining a synonym and collecting personal data on YooMoney’s side
Чтобы провести выплаты со сбором данных получателя выплаты через форму ЮKassa:
  1. Redirect the user to the YooMoney’s form for collecting bank card data and personal details and obtain the card synonym and user ID.
  2. Send a money transfer request (makeDeposition) containing the data obtained in Step 1 as well as the confirmation of acceptance of the offer.
YooMoney will verify the personal details only during the obtaining process.
The guaranteed validity period of the user ID is 330 days. Once the user ID expires, you need to get a new one or collect personal data independently. If you specify an expired user ID in the makeDeposition request, YooMoney will return an error with the code 160.
Request parameters
This section describes only the parameters specific to transfers to bank card. Other parameters are shared by all types of funds deposition (makeDeposition) requests.
To make payouts to bank card, enter the value 25700130535186 in recipient’s dstAccount ID.
Enter payout recipient’s details in paymentParams.
Name of the paymentParams fieldTypeDescription
skr_destinationCardSynonimxs:string,
up to 50 characters
Synonym of the bank card number. Required parameter
pof_offerAccepted
xs:int,
1 character
Confirmation of the user’s acceptance of the terms (1 — accepted).
Required parameter
User information is required when collecting data using the YooMoney form
cps_ymAccountxs:string,
up to 25 characters
User ID in YooMoney. Same as the accountNumber parameter value received in response after user identification via the form
Personal details of the payout recipient are required when collecting data independently
pdr_lastNamexs:string,
up to 50 Cyrillic characters
Last name
pdr_firstNamexs:string,
up to 50 Cyrillic characters
First name
pdr_middleNamexs:string,
up to 50 Cyrillic characters
Middle name. Required, if specified in the passport.
pdr_docNumberxs:long,
10 characters
Passport series and number for a Russian citizen (without spaces).
pdr_docIssueDatexs:string,
10 characters
Passport’s date of issue, in the DD.MM.YYYY format
smsPhoneNumberxs:long,
up to 15 characters
Phone number of the payout recipient in international format (79…).
pdr_birthDatexs:string,
10 characters
Date of birth in the format DD.MM.YYYY
pdr_countryxs:int,
3 digits
Nationality. Specified as a numeric country code (643 for Russian Federation)
pdr_oms
xs:int,
up to 16 characters
OMS insurance policy number. Example: 12345678901234
Optional parameter
pdr_snils
xs:int,
up to 14 characters
Payout recipient's SNILS (digits only, no spaces). Example: 12345678901
Optional parameter
pdr_inn
xs:int,
up to 12 characters
Payout recipient's INN. Example: 123456789012
Optional parameter
Additional personal information (if the payout exceeds 15,000 rubles or if the card was issued by a non-Russian bank) is required when collecting data independently
pdr_cityxs:string,
up to 30 Cyrillic characters
Payout recipient’s city
pdr_addressxs:string,
up to 100 Cyrillic characters
Payout recipient’s address
pdr_postcodexs:long,
6 characters
Postal code
Request examples
Example of a request for funds deposit to bank card (reduced set of fields)
XML
<makeDepositionRequest
  requestDT="2019-06-21T14:13:37.965Z"
  contract="Перевод денег на банковскую карту"
  amount="15000.00"
  agentId="12345"
  clientOrderId="payouts-110_1561126417933"
  dstAccount="25700130535186"
  currency="643">
  <paymentParams>
    <skr_destinationCardSynonim>oALesdd_h_YT6pzpJ10Kn5aB.SC.000.201906</skr_destinationCardSynonim>
    <pof_offerAccepted>1</pof_offerAccepted>
    <smsPhoneNumber>79818932328</smsPhoneNumber>
    <pdr_firstName>Эдуард</pdr_firstName>
    <pdr_lastName>Запеканкин</pdr_lastName>
    <pdr_docNumber>1013123456</pdr_docNumber>
    <pdr_docIssueDate>10.10.2013</pdr_docIssueDate>
    <pdr_inn>12345678912</pdr_inn>
    <pdr_country>643</pdr_country>
    <pdr_birthDate>31.10.1973</pdr_birthDate>
  </paymentParams>
</makeDepositionRequest>
Example of a request for funds deposit to bank card (full set of fields)
XML
<makeDepositionRequest
  requestDT="2019-06-21T14:17:29.578Z"
  contract="Перевод денег на банковскую карту"
  amount="20000.00"
  agentId="12345"
  clientOrderId="payouts-110_1561126649528"
  dstAccount="25700130535186"
  currency="643">
  <paymentParams>
    <skr_destinationCardSynonim>3lSdWL0Yf9DHRd2r4LAbyhfV.SC.000.201906</skr_destinationCardSynonim>
    <pof_offerAccepted>1</pof_offerAccepted>
    <smsPhoneNumber>79818932328</smsPhoneNumber>
    <pdr_firstName>Эдуард</pdr_firstName>
    <pdr_lastName>Запеканкин</pdr_lastName>
    <pdr_docIssueDate>10.10.2013</pdr_docIssueDate>
    <pdr_inn>12345678912</pdr_inn>
    <pdr_phoneNumber>79111471111</pdr_phoneNumber>
    <pdr_postcode>701152</pdr_postcode>
    <pdr_country>643</pdr_country>
    <pdr_city>Санкт-Петербург</pdr_city>
    <pdr_address>Невский проспект, д 1, к 2, кв 1</pdr_address>
    <pdr_birthDate>22.07.1967</pdr_birthDate>
  </paymentParams>
</makeDepositionRequest>
Example of a request for funds deposit to bank card (collection of data on the YooMoney’s side)
XML
<makeDepositionRequest
  agentId="200200"
  clientOrderId="db6c3eaf9ffc0d8933490ed1"
  requestDT="2018-12-01T00:00:01+03:00"
  dstAccount="25700130535186"
  amount="100.00"
  currency="643"
  contract="Перевод денег на банковскую карту">
  <paymentParams>
    <skr_destinationCardSynonim>2OHSXN6QG-vGPX8WHtOciU86.SC.000.201906</skr_destinationCardSynonim>
    <pof_offerAccepted>1</pof_offerAccepted>
    <cps_ymAccount>4100322815079</cps_ymAccount>
  </paymentParams>
</makeDepositionRequest>
Response
If an error occurs when executing a transfer to a bank card (error=48), the YooMoney response may contain additional explanatory text (techMessage):
  • notRegistrationRecord — missing required parameters (pdr_). The missing fields are listed additionally.
  • Банк отклонил перевод денег на данную карту — the bank declined to transfer funds to this card.
  • Банк отклонил операцию — the bank declined the operation.
  • Превышен лимит операций — exceeded the limit on operations.
  • Паспортные данные не прошли проверку — passport information didn’t pass verification.
Example of an error message
XML
<makeDepositionResponse
  clientOrderId="payouts-110_1561103462999"
  status="3"
  error="48"
  processedDT="2019-06-21T10:51:04.089+03:00"
  techMessage="Не заданы или неверно заданы поля: pdr_docIssueDate"
/>
See also
Payouts from a business account Data types Error codes Testing Reports on successful and returned payouts