YooMoney API
Old versions of the API
Help
Sign up for YooMoney
Email Protocol: Simple Onboarding
An easy onboarding option: copy the prepared code lines from this page and put in it the parameters you received upon signing up. Embed the prepared code lines into the site—you will need elementary understanding of HTML.
For this method, we send notifications about payments at the email address your provided upon signing up. You receive separate email on every successful payment.
 
Capacities
Payment methods available: all but loans.
Additional features unavailable: setting up autopayments, linking bank cards, and providing preauthorization. On the plus side, you will be able to issue invoices to your clients via email.
Activating
Step 1. Fill out application
Fill out an application for implementing YooMoney. You will get access to your Merchant Profile.
Step 2. Select implementation method
  1. Sign in your Merchant Profile and push Fill out under the Settings section.
  2. Select Email protocol as your implementation method and push Proceed.
  3. Specify the email address you want to receive notifications on successful payments at.
  4. Push Send.
You will get a message with parameters for work: shopId and scid.
Step 3. Create payment form
  1. Use our form template.
    <!-- Пример заголовков на странице оплаты, которые вы можете показать пользователю -->
        <h1>Название товара</h1>
        <div>Цена: 1 руб.</div><hr>
    
    <!-- Платежная форма
         These fields are mandatory, you cannot remove them. -->
        <form action="https://yoomoney.ru/eshop.xml" method="post">
        <input name="shopId" value="впишите-сюда-значение-своего-shopId" type="hidden" required/>
        <input name="scid" value="впишите-сюда-значение-своего-scid" type="hidden" required/>
        To be paid<br/>
        <input name="sum" value="" type="number" min="1" placeholder="0.0" required><br/><br/>
    
    <!-- Поле name="customerNumber" обязательное, его нельзя удалять.
         It will help you understand who has made the payment.
         You can use any name for this field. For example, instead of "Customer's name", you can specify
         "Идентификатор плательщика", "Номер клиента", "Имя клиента" или "Номер заказа". -->
         Customer's name<br/>
         <input required name="customerNumber" value="" size="64"/><br/><br/>
    
    <!-- Эти поля можно убрать или переименовать.
         For example, instead of "Customer's phone number", you can specify "Eye color" or "License plate number". -->
         Customer's phone number<br/>
         <input name="custName" value="" size="64"/><br/><br/>
         Delivery address<br/>
         <input name="custAddr" value="" size="64"/><br/><br/>
         Customer's email address<br/>
         <input name="custEmail" value="" size="64"/><br/><br/>
         Commentary to the order<br/>
         <textarea name="orderDetails" value="" rows="5" cols="64" wrap="soft"></textarea><br/><br/>
    
    <!-- Кнопку "Заплатить" можно назвать как угодно.
         For example, "Pay for subscription" or "Add money"-->
         <input type="submit" value="Заплатить">
         </form>
    
    What the form looks like
  2. Set your own parameters.
    Be sure to use your shopId (identifier of your store) and scid (identifier of your showcase). Request them from your manager or copy them from your Merchant Profile.
    Specify your shopId instead of XXXX:
    <input name="shopId" value="XXXX" type="hidden" required/>
    
    What should be:
    <input name="shopId" value="1234567" type="hidden" required/>
    
    Sample of prepared form
    <!-- Пример заголовков на странице оплаты, которые вы можете показать пользователю -->
        <h1>Гравицапа</h1>
        <div>Цена: 100 руб.</div><hr>
    
        <form action="https://yoomoney.ru/eshop.xml" method="post">
        <input name="shopId" value="1234567" type="hidden" required/>
        <input name="scid" value="12345" type="hidden" required/>
        To be paid<br/>
        <input name="sum" value="" type="number" min="1" placeholder="0.0" required/>
    
         Customer's name<br/>
         <input required name="customerNumber" value="" size="64"/><br/><br/>
    
         Customer's phone number<br/>
         <input name="custName" value="" size="64"/><br/><br/>
    
         Commentary to the order<br/>
         <textarea name="orderDetails" value="" rows="5" cols="64" wrap="soft"></textarea><br/><br/>
    
         <input type="submit" value="Заплатить"/>
         </form>
    
    The parameters used in your payment form determine contents of an email about payment
Step 4. Place the form on the site
Insert the form's code into your site's source code near the product or service which you will accept money for.
Step 5. Conduct testing
Check how everything functions: try payment via this form.
For testing payments, you can set minimum price amount (parameter sum). It is crucial to set this amount within the limits for your payment method. For instance, you can pay minimum 1 rubles from a bank card.
Make sure of the following:
  • the payment is made without errors: you can see a page with a green tip and payment results
  • you received an email about the payment to your email address.
Email about Payment
We send such email messages after every successful payment at the address you provided upon signing up. The message includes values of the following parameters from the payment form:
  • sum and customerNumber are mandatory
  • custName, custAddr, custEmail и orderDetails are optional: deleting them will mean these fields will be empty in the message.
From: YooMoney Payment Center <paymentcenter@yoomoney.ru>
Subject: YooMoney payment for Your-company-name #56
------------------------------------------------------------------
Notification No. 56
Recipient: Your-company-name
Date of payment: 23.10.2016 18:24:09
Amount: 1,000.00 RUB
Transaction number: 2000000942259
Client identifier: <What the customer specifies in the customerNumber field>
Number in the store: 2000000942259
Filled out by the customer in the store's payment form:
Full name: <Value of the custName field from the payment form>
Delivery address: <Value of the custAddr field from the payment form>
Email: <Значение поля custEmail из платежной формы>
Contents of the order:
<Значение поля orderDetails из платежной формы>
------------------------------------------------------------------------------