YooMoney API
Old versions of the API
Help
Sign up for YooMoney
Data collecting form

The mass payouts protocol is now outdated. If you want to make payouts via the API, use the YooMoney API.

To transfer money to a bank card, you must collect user’s personal details and the bank card data. You can do it independently or using the YooMoney form.
If you use the form, YooMoney will store the required data on its side. You will receive the card synonym and the user ID in YooMoney, i.e. the depersonalized data that won’t result in financial loss or image discrediting if published. Using the received data, you will be able to make payouts to the card without verifying the passport information.
YooMoney will verify personal data only while getting a user ID. The guaranteed validity period of the user ID is 330 days. For further payouts to the user’s card, personal data must be collected again.
Interaction scenario
Step 1. The user initiates a payout to their bank card in your system.
Step 2. You redirect the user to the form for collecting bank card data.
Step 3. The user enters the card details and clicks Дальше (Next).
Form for bank card details
Form for bank card details
Step 4. The user is redirected to the form for entering passport details, where they fill out all the fields and click На проверку (Verify).
Form for user’s personal information (full set of fields)
Form for user’s personal information (full set of fields)
Step 5. YooMoney displays the Taxpayer Identification Nmuber (INN) corresponding with the information entered in the previous step and asks them confirm that the INN is correct.
Form for confirming the INN
Form for confirming the INN
After the user clicks Подтверждаю (Confirm), YooMoney sends the parameters for making the payout (bank card synonym and the user ID) to you and redirects the user to the success page.
If there's something wrong with the data or if it doesn't return an INN, YooMoney will ask the user to double check the entered information and correct it if necessary.
Form for checking the entered information
Form for checking the entered information
If the user changes their information, YooMoney will start another verification process. If the user doesn't change anything and confirms that the information is correct, YooMoney will offer them the option to enter another document: INN (TIN), SNILS, and the OMS insurance policy number to verify the payout recipient via an alternative method.
Form for entering the second document
Form for entering the second document
If this results in successful verification, YooMoney will send the parameters for making the payout (bank card synonym and the user ID) to you and redirect the user to the success page. If there's still something wrong with the information, YooMoney will redirect the user to the error page.
Step 6. YooMoney sends the received data to the GUVM MVD service to complete the verification of the payout recipient.
Done!
You can start making payouts as soon as you receive the data from YooMoney. You will find out the final result of the verification after first using the user ID:
  • If the payout for this user ID is successful (status=0), then everything is fine: the recipient is identified and you can use the data to make payouts.
  • If you receive an error stating the passport details weren't verified (status=3 and error=48), the recipient will need to repeat the identification process.
  • If you receive a response stating the request is being processed (status=1), it means the information is still being verified. Wait for the final request status (success or failure).
Form for linking a bank card and user identification
Data collecting form is available in the YooMoney service. You must redirect the user to it.
URL for requests
https://yookassa.ru/cardauth
ParameterTypeDescription
url_success
xs:string,
up to 250 characters
URL for redirecting the user to in case of successful authorization.
Required parameter
url_error
xs:string,
up to 250 characters
URL for redirecting the user to in case of unsuccessful authorization.
Required parameter
identify
xs:boolean
The requirement to obtain data from the user for wallet identification. Used when maintenance and verification of passport information are to be made on the YooMoney’s side.
Optional parameter

If sent, the response will include the result of passport data verification (identificationStatus) and the user ID in YooMoney (accountNumber).

small_amount_only
xs:boolean
Payouts attribute from 100 to 15,000 rubles inclusive. It affects the number of fields to be completed by the user.
The default value is false.
Optional parameter

  • If the payouts are small (up to 15,000 rubles), we recommend setting small_amount_only=true. In this case, if the card was issued by a Russian bank, the user will need to fill in fewer fields.
  • Set identify=true so the user could enter their personal details after linking the bank card.

Example of the form (full set of fields)
https://yookassa.ru/cardauth?url_error=http://domain.tld/fail&url_success=http://domain.tld/success&identify=true
Example of the form (reduced set of fields)
https://yookassa.ru/cardauth?url_error=http://domain.tld/fail&url_success=http://domain.tld/success&identify=true&small_amount_only=true
Response after submitting the form
The service processes the data received via the form and redirects the user to the URL specified in url_success or url_error using the GET method.
You receive the response when redirecting the user to the success or error page.
In case of success, the synonym, mask, and additional card parameters identified during processing will be added to the URL. You can store the synonyms, masks, and additional card parameters on your side without risk of leaks: publishing this information will not lead to any financial loss or image discrediting.
ParameterTypeDescription
Required parameters
skr_destinationCardPanmaskxs:string,
up to 25 characters
Bank card mask. Example: 510612******3456
skr_destinationCardSynonimxs:string,
up to 100 characters
Bank card synonym. Example: Ubc1CrurSqRQ5Va09IeVIRI6.SC.000.201812
skr_destinationCardCountryCodexs:string,
up to 3 characters
Numeric code of the card-issuing country. For example, 643 (Russia)
skr_destinationCardTypexs:string,
up to 25 characters
Type of bank card. Visa, Mastercard, Mir
identificationStatus
xs:string,
up to 100 characters
The result of passport information verification:
  • success if successful,
  • error or fail if unsuccessful.
Returned only if you have set identify=true
accountNumber
xs:string,
up to 25 characters
User ID in YooMoney. Returned only if identification was successful. Example: 410012345678933
Returned only if you have set identify=true
Conditional required parameters
identificationErrorxs:string,
up to 1000 characters
Returned only if an error occurred during verification. In some cases may not be returned

The YooMoney response might include parameters not described in this document. You should ignore them.

The received data should be used in deposit requests. YooMoney uses the received synonym to determine the recipient’s card number, and the ID to determine the user’s personal information.
See also
Deposits to bank card Data types Error codes Testing