Yandex's payment services for HostCMS

Configuration manual

Using this manual, you can set up payment acceptance via one of the Yandex payment services: Yandex.Checkout, Yandex.Money, or Yandex.Billing.

Yandex.Checkout

Yandex.Checkout provides all the popular payment methods: bank cards, e-wallets, cash, online banking, direct carrier billing, and others.

This is a service for business: it requires a contract, and the funds are credited to the company's settlement account.

Sing up for Yandex.Checkout

Yandex.Billing

Yandex.Billing allows accepting payments on your website from bank cards and e-wallets.

This is a service for business: the funds are credited to the company's settlement account. The contract is not required, but the form has a fee of 3000 ₽ for every 100 payments.

Learn more about Yandex.Billing

Yandex.Money

Yandex.Money allows accepting payments on your website from bank cards and e-wallets. The funds will be credited to your Yandex.Money wallet, the contract is not required.

Create a wallet

How to set up payment acceptance via Yandex.Checkout

How to set up payment acceptance via Yandex.Money

How to set up payment acceptance via Yandex.Billing

How to set up payment acceptance via Yandex.Checkout

To set up payment acceptance using this manual, you need to sign up for Yandex.Checkout and get the shopId and Secret key parameters.

  • shopId will appear in your Merchant Profile by itself when you sign up for the service,
  • Secret key is issued independently and requires activation in Merchant Profile.

Once you get both parameters, you can proceed with the configuration.

1. View the Online stores section in the website's dashboard, select your store, and click Directories — Payment systems.

2. Hover over "Payment system" and click Add.

3. The payment system configuration page opens.

Use this table to fill out the fields on the page.

Name Yandex.Checkout
Currency Rub.
Description Bank cards, e-wallets, online banking, and other payment methods.
Activity Check the box
Handler

Paste the code from the file included in the archive containing the Yandex.Checkout module in this field.

  1. Download the archive containing the module. It includes the yandex-money folder and the handlerXX.php file.
  2. Copy the yandex-money folder to the root directory of the website on your hosting.
  3. Paste the code from the handlerXX.php file to the Handler field and edit the following lines using the notes provided in the table.
protected $mode = self::

Enter MODE_KASSA after the colon. The line should look like this:

protected $mode = self::MODE_KASSA

protected $ym_shopid = '000000'; Enter your shopId in place of the zeroes. You can copy it from the Yandex.Checkout Merchant Profile (indicated in the upper left corner of every page).
protected $ym_password = 'abcde00000abcde00000'; Enter your Secret key between the quotation marks in place of abcde00000abcde00000. You will need to generate and activate it in the Yandex.Checkout Merchant Profile.
protected $sendCheck = true;

If you signed up for the Yandex.Checkout payment solution for Federal Law No. 54-FZ, leave the true parameter in this line.

If you did not sign up for the Yandex.Checkout payment solution, set the parameter tofalse.

Read more about the Yandex.Checkout payment solution for Federal Law No. 54-FZ

protected $kassaTaxRateDefault = 0;

Leave this line unchanged, if you set false in the previous line (protected $sendCheck = false).

Edit this line, if you set true in the previous one (protected $sendCheck = true): set a value from the list that matches the VAT rate in your store instead of zero. For example, if your rate is 10%, set 3 instead of zero.

  1. VAT not included
  2. 0%
  3. 10%
  4. 18%
  5. VAT rate 10/110
  6. VAT rate 18/118

This will be the default rate indicated in the receipt for products that you did not specify a different bid for.

protected $kassaTaxRates = array(
2 => 0,
5 => 0,
19 => 0,
20 => 0,
21 => 0,
); 

If you set false in the protected line $sendCheck = false, leave these lines unchanged.

If you set true for protected $sendCheck = true, you will need to compare the VAT rate identifiers on your website (left column) with the VAT rates identifiers in Yandex.Checkout (right column).

VAT rate identifiers in Yandex.Checkout:

  1. VAT not included
  2. 0%
  3. 10%
  4. 18%
  5. VAT rate 10/110
  6. VAT rate 18/118
protected $sendChangeStatusEmail = true;

If you want to receive two payment notification emails (for order status changes and for payment confirmation from Yandex.Checkout), leave the true parameter unchanged.

If you want to receive only one email notification (for payment confirmation), set the false parameter.

4. Save your settings and view the Online stores — Directories — Payment systems section. Copy the number next to "Yandex.Checkout".

5. Return to the payment system configuration (double-click on "Yandex.Checkout") and paste the number in place of XX in the "Handler" field. Specifically in this line:

class Shop_Payment_System_HandlerXX extends Shop_Payment_System_Handler

For example, let's assume you copied and pasted number 12 to the Handler field. The line will look like this:

class Shop_Payment_System_Handler12 extends Shop_Payment_System_Handler

Attention. 12 is used only as an example, your number will be different.

6. Save the settings again. That's it, now you can test payment acceptance.

How to set up payment acceptance via Yandex.Money

To set up payment acceptance using this manual, you will need a Yandex.Money wallet. Create a wallet

1. View the Online stores section in the website's dashboard, select your store, and click Directories — Payment systems.

2. Hover over "Payment system" and click Add.

3. The payment system configuration page opens.

Use this table to fill out the fields on the page.

Name Yandex.Checkout
Currency Rub.
Description Bank cards and Yandex.Money wallets
Handler

Paste the code from the file included in the archive containing the Yandex.Checkout module in this field.

  1. Download the archive containing the module. It includes the yandex-money folder and the handlerXX.php file.
  2. Copy the yandex-money folder to the root directory of the website on your hosting.
  3. Paste the code from the handlerXX.php file to the Handler field and edit the following lines using the notes provided in the table.
protected $mode = self::

Enter MODE_MONEY after the colon. The line should look like this:

protected $mode = self::MODE_MONEY

protected $ym_account = '';

Enter the number of the wallet you want to accept money to between the quotation marks. The line should look like this:

protected $ym_account = '1234567890';

Where 1234567890 is your wallet's number.

protected $ym_hash_secret = 'abcde00000abcde00000';

Enter the Code word between the quotation marks. You can get it on the Yandex.Money website:

  1. Add this URL in the upper field: http://example.ru/shop/cart/ (use your website's URL in place of example.ru)
  2. Check the Send notifications box and click Save at bottom of the page.
  3. Refresh the page and click Show code word. The website will provide you with a combination of 20 letters and digits: paste it between the quotation marks in the Handler field.

4. Save your settings and view the Online stores — Directories — Payment systems section. Copy the number next to "Yandex.Money".

5. Return to the payment system configuration (double-click on "Yandex.Money") and paste the number in place of XX in the "Handler" field.

class Shop_Payment_System_HandlerXX extends Shop_Payment_System_Handler

For example, let's assume you copied and pasted number 12 to the Handler field. The line will look like this:

class Shop_Payment_System_Handler12 extends Shop_Payment_System_Handler

Attention. 12 is used only as an example, your number will be different.

6. Save the settings again. That's it, now you can test payment acceptance.

How to set up payment acceptance via Yandex.Billing

The configuration of payment acceptance via Yandex.Billing consists of three steps:

  1. Get the payment form settings at the Yandex.Billing website.
  2. Embed the form to your website.
  3. Pay the fee for using the form.

How to create the payment form

1. Fill out the form template at the Yandex.Billing website: indicate "Payment for order" in the Name of product or service field. You don't need to fill out the Amount field, add other products, or additional fields, as this information is already included in your CMS.

What the form template looks like

2. Click Next and fill out the company questionnaire on the next page. You will need to indicate:

  • your company's legal name and INN (TIN),
  • account's banking details,
  • ​email address where you'd like to receive payment notifications,
  • URL of the website where you're going to accept payments via Yandex.Billing.​
What the company questionnaire looks like

3. Click Create form. Banking details, URL, and other provided information will be sent for verification. It will take a couple of minutes.

​4. If everything's in order, you will receive an email containing the form's parameters and banking details for paying the fee.​

Body of the email

How to embed the payment form to your website

1. View the Online stores section in the website's dashboard, select your store, and click Directories — Payment systems.

2. Hover over "Payment system" and click Add.

3. Fill out the fields:

  • name: set "Yandex.Billing",
  • currency: set "rub.",
  • description: set "Bank cards and Yandex.Money wallets",
  • activity: check the box.

4. Paste the code from the file included in the archive containing the Yandex.Checkout module in this field. The archive includes the yandex-money folder and the handlerXX.php file. Copy the yandex-money folder to the root directory of the website on your hosting. |||UNTRANSLATED_CONTENT_START|||Код из файла handlerXX.php скопируйте в поле Обработчик и отредактируйте в нём следующие строчки по подсказкам из таблички.|||UNTRANSLATED_CONTENT_END|||

protected $mode = self::

Enter MODE_BILLING after the colon. The line should look like this:

protected $mode = self::MODE_BILLING

protected $billingId = ''

Enter the form ID between the quotation marks: you need to copy this parameter from the Yandex.Billing email (sent after you created the form).

The line should look like this:

protected $billingId = '1111111111'

Where 1111111111 is your form ID.

protected $billingPurpose = 'Order number %order_id% Payment via Yandex.Billing'; If necessary, edit the text between the quotation marks. This line indicates the purpose of the payment.
protected $billingChangeStatus = 0; After = (instead of 0), set the order status ID assigned by your system to the order that you selected for payment via Yandex.Billing. The status should indicate that the payment result is unknown: you can only find out whether the customer paid or not from the email notification.

6. Save the settings and visit the Online stores — Directories — Payment systems section. Copy the number next to "Yandex.Billing".

7. Return to the payment system configuration (double-click on "Yandex.Billing") and paste the number in place of XX in the "Handler" field to the line:

class Shop_Payment_System_HandlerXX extends Shop_Payment_System_Handler

For example, let's assume you copied and pasted number 12 to the Handler field. The line will look like this:

class Shop_Payment_System_Handler12 extends Shop_Payment_System_Handler

Attention. 12 is used only as an example, your number will be different.

8. Save the settings again. All you need to do now is pay for the form, then you can start accepting payments.

The form on your website will look like this

How to pay for the form

  1. Open the email containing the form's code and the banking details for paying a fee.
  2. Pay 3,000 rubles using the banking details from the settlement account that you will use for accepting payments (otherwise the fee will not be considered as paid).
  3. As soon as we receive the funds, we will activate the form and send you an email. The duration depends on your bank, but it shouldn't take more than 3 days.
  4. Make a test payment for a small amount: check that the form works properly, and the money can reach your account.

That's it, you can accept payments now.

Attention. One paid fee covers all the forms that you select for your company (we check by INN (TIN) indicated during the creation of the form). Limitations on quantity and amount of payments also apply to all forms at the same time.