YooMoney API
Old versions of the API
Sign up for YooMoney
Cash payment via payment kiosks
The scenario for payments via kiosks differs slightly from the main workflow. During the payment process, the user gets a code to use for depositing the correct amount in cash at any payment point.
The money can be deposited in any payment service that accepts payments using a YooMoney code. This includes payment kiosks, payment points, electronic payment services, bank tellers or internet banking services.
Payment code is passed in the paymentType parameter: GP — Cash payment in Russia, Azerbaijan, Armenia, Georgia, Kazakhstan, Kyrgyzstan, Latvia, Moldova, Tajikistan, or Ukraine.
Interaction flow
Payment process
Step 1. The user selects the payment method (on the store’s website or in YooMoney) and clicks Pay.
Step 2. The information that the user enters is transmitted to the YooMoney payment service.
Steps 3-4. The user is asked to enter a phone number and email address.
If the merchant passes the user’s phone number (cps_phone) and/or email (cps_email) together with other parameters from the payment form, the users sees the fields filled in on the payment confirmation form.
Step 5. The user gets a special code and payment instructions. This code and the payment amount are sent in a text message to the phone number that the user entered in the previous step.
The user can click Return to store on the page where the code is issued to go to the page with the URL passed in the shopDefaultUrl parameter in the payment form. If this parameter is omitted, the store’s home page address is included in the link (see The store onboarding settings). The error page and successful payment page are not used in this case. You can set a permanent shopDefaultUrl in the merchant settings (by request).
Step 6. The user deposits money at a kiosk or ATM where it can be credited to YooMoney for Shopping wallets. When doing so, the user enters the code received in step 5 in the Account number field.
If the kiosk or terminal can notify YooMoney of deposited funds in real time, an additional Order verification (checkOrder) request is sent at this step. If the merchant refuses to process the payment, the kiosk doesn’t accept the user’s money.
Steps 7-11. Order verification (calling checkOrder) can be performed either before issuing the payment code to the user, or during the payment process. In the latter case, YooMoney gets information from the terminal network that a user deposited money, and executes the subsequent Order verification (checkOrder) and Payment notification (paymentAviso) requests.
  • If the merchant refuses to accept the payment, YooMoney returns the money to the user.
  • If the user deposits more money than necessary in the kiosk, the remainder is automatically credited to the balance of the mobile phone that the user entered during the payment process.
  • If the user deposits less money than needed, a text message is sent stating how much money is still required. In order for the payment to be completed, the user must add the missing amount.
  • If the user deposits money at a kiosk in Russia, YooMoney requests and reports on payments show one payment type (paymentType=GP). If it is outside of the Russian Federation, the payment method is different (paymentType=OP).
Step 11. After the YooMoney service gets the merchant’s response to the Payment notification request, a message containing payment data is sent to the user’s email.
See also
Payment form General description of interaction Processing HTTP notifications