Cash payment via payment kiosks

Attention. This is an old version of the API. Switch to the Yandex.Checkout API.

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 Yandex.Money or Yandex.Checkout code. This includes payment kiosks, payment points, electronic payment services, bank tellers or internet banking services.

Different payment codes are passed in the paymentType parameter:

  • GP — Cash payment in Russia, Azerbaijan, Armenia, Georgia, Kazakhstan, Kyrgyzstan, Latvia, Moldova, Tajikistan, or Ukraine.
  • EP — Payment via the ERIP system in Belarus.

Interaction flow

Steps 1 and 2 are the same as in the main scenario.

1. The user selects the payment method (on the store's website or in Yandex.Checkout) and clicks Pay.

2. The information that the user enters is transmitted to the Yandex.Money payment service.

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.

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.


If the order amount (sum) was not included in the payment form parameters, the payment code becomes reusable. The user can use this code to repeatedly transfer any desired amounts to a specific store. For example, the user can add money to an account or make loan repayments with this code.

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).

6. The user deposits money at a kiosk or ATM where it can be credited to Yandex.Money 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 Yandex.Money 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.

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, Yandex.Money 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, Yandex.Money 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, Yandex.Money 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).

11. After the Yandex.Money 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