Взаимодействие с платёжной системой «Robokassa»

Чтобы абоненты-физлица могли оплачивать счета в личном кабинете с помощью Robokassa, последовательно настройте четыре объекта.

  1. Личный кабинет Robokassa
  2. Административный интерфейс АСР LANBilling
  3. Скрипт для callback-уведомлений
  4. Конфигурационный файл

Личный кабинет Robokassa

  1. Зарегистрируйтесь на сайте Robokassa.

  2. В разделе «Технические настройки» укажите параметры:

    • Идентификатор магазина, придуманный при создании магазина.

    • Алгоритм расчёта хэша — MD5.

    • ResultURL — https://address/cgi-bin/robokassa.cgi

    • Метод отсылки данных по ResultURL — GET.

    • SuccessURL — https://address/lbweb-client/api.php?r=payment/success

    • Метод отсылки данных по SuccessURL — GET.

    • FailURL — https://address/lbweb-client/api.php?r=payment/fail

    • Метод отсылки данных по FailURL — GET.

    address — IP-адрес или URL сервера, где находится скрипт robokassa.cgi

    Подробнее читайте в документации.

Административный интерфейс АСР LANBilling

Создайте профиль для платёжной системы в АСР LANBilling.

Скрипт для callback-уведомлений robokassa.cgi

Скрипт нужен, чтобы фиксировать в АСР LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.

Настройка различается для разных ОС.

  1. Скопируйте файл robokassa.cgi в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/robokassa/robokassa.cgi /var/www/cgi-bin/
    

    ``

  2. Укажите в нём настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    # Атрибуты для доступа к LBcore
    my $proto           = 'http';
    my $lbcore_host     = '127.0.0.1';
    my $manager_login   = 'robokassa';
    my $manager_pass    = 'robokassa';
    

    ``

    • «Пароль #2» из личного кабинета Robokassa. Он заполняется при регистрации, отображается в разделе «Технические настройки».
    # 5. Пароль для ЭЦП (кодовое слово для MD5)
    my $mrh_pass2 = "test_Password_2";
    

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /var/www/cgi-bin/robokassa.cgi
    

    ``

  1. Скопируйте файл robokassa.cgi в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/robokassa/robokassa.cgi /usr/lib/cgi-bin/
    

    ``

  2. Укажите в нём настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    # Атрибуты для доступа к LBcore
    my $proto           = 'http';
    my $lbcore_host     = '127.0.0.1';
    my $manager_login   = 'robokassa';
    my $manager_pass    = 'robokassa';
    

    ``

    • «Пароль #2» из личного кабинета Robokassa. Он заполняется при регистрации, отображается в разделе «Технические настройки».
    # 5. Пароль для ЭЦП (кодовое слово для MD5)
    my $mrh_pass2 = "test_Password_2";
    

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /usr/lib/cgi-bin/robokassa.cgi
    

    ``

  1. Скопируйте файл robokassa.cgi в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/robokassa/robokassa.cgi /usr/local/www/apache24/cgi-bin/
    

    ``

  2. Укажите в нём настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    # Атрибуты для доступа к LBcore
    my $proto           = 'http';
    my $lbcore_host     = '127.0.0.1';
    my $manager_login   = 'robokassa';
    my $manager_pass    = 'robokassa';
    

    ``

    • «Пароль #2» из личного кабинета Robokassa. Он заполняется при регистрации, отображается в разделе «Технические настройки».
    # 5. Пароль для ЭЦП (кодовое слово для MD5)
    my $mrh_pass2 = "test_Password_2";
    

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /usr/local/www/apache24/cgi-bin/robokassa.cgi
    

    ``

Конфигурационный файл robokassa.ini

Действия различаются для разных ОС.

  1. Внесите изменения в файл конфигурации robokassa.ini:

    nano /etc/lanbilling/phpclient/client/robokassa.ini
    

    ``

    • Включите платёжную систему в личном кабинете абонентов АСР LANBilling:

      [paysystems/robokassa]
      enabled = true
      
      
      
    • Укажите ссылку на платёжный шлюз Robokassa.

      url = 'https://auth.robokassa.ru/Merchant/Index.aspx'
      
      
      
    • Впишите идентификатор магазина в Robokassa, который был придуман при создании:

      MerchantLogin = 'demo'
      
      
      

  1. Сохраните конфигурационный файл. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
    

    ``

  1. Внесите изменения в файл конфигурации robokassa.ini:

    nano /usr/local/etc/lanbilling/phpclient/client/robokassa.ini
    

    ``

    • Включите платёжную систему в личном кабинете абонентов АСР LANBilling:

      [paysystems/robokassa]
      enabled = true
      
      
      
    • Укажите ссылку на платёжный шлюз Robokassa.

      url = 'https://auth.robokassa.ru/Merchant/Index.aspx'
      
      
      
    • Впишите идентификатор магазина в Robokassa, который был придуман при создании:

      MerchantLogin = 'demo'
      
      
      

  1. Сохраните конфигурационный файл. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
    

    ``

Проверка взаимодействия

  1. В конфигурационном файле robokassa.ini включите тестовую оплату:

    [paysystems/robokassa/request/params]
    ; 0 - для обычной оплаты, 1 - для проведения тестовой оплаты
    IsTest = 1
    

    ``

  2. Проведите платёж из личного кабинета абонента.

После успешного тестирования платежей активируйте магазин по инструкции. Не забудьте отключить тестовый режим в конфигурационном файле.

Настройка завершена. Теперь абоненты-физлица могут пополнять баланс в личном кабинете с помощью этой платёжной системы.