Cron-job для рекуррентов

Настройка cron-job обязательна, если вы хотите принимать рекуррентные платежи через Юкассу, Сбербанк-эквайринг, Робокассу. Это процедура, которая активизирует снятие средств по активной подписке.

Настройка вызова процедуры возможна двумя способами: 

  • По PHP-скрипту через абсолютный файл процедуры. Мы рекомендуем именно этот способ — особенно для тех, у кого много пожертвований.
  • По URL.

Настройка популярных хостингов по PHP-скрипту (рекомендуемый способ)

  1. Найдите абсолютный адрес файла процедуры

В админке настроек платежного оператора в Лейке поставьте чекбокс “доступны ежемесячные рекуррентные пожертвования”.

Скопируйте абсолютный адрес файла процедуры из соответствующего блока:

2. Создайте задание на хостинге по инструкции ниже.

Хостинг Timeweb

  1. Зайдите в раздел Инструменты — «Crontab»

2. Добавьте новую задачу.

3. Параметры задачи:

  • Поле «Название»: понятное вам обозначение задачи. Например, «Рекурренты для ЮКассы — Лейка»
  • Поле «Исполнитель»: Укажите сценарий PHP более 7, но не более 8.
  • В поле “путь до файла” кликните на выпадающий список и найдите скрипт, оканчивающийся на leyka-active-recurring.php у нужного сайта.

  • Поле «Периодичность»: раз в день
  • Поле «Время выполнения»: 3 или 4 часа ночи.

4. Сохраните изменения.

Если у вас несколько сайтов с хостингом на Таймвебе нужно проследить, чтобы путь относился в нужному сайту. В этом случае процедуру может понадобиться прописать вручную.

Nic.ru

1. Зайдите в Планировщик заданий, создайте новую задачу.

2. Укажите параметры задачи:

  • укажите название команды
  • тип файла «Тип файла: PHP»
  • в поле «Команда или путь к файлу» укажите абсолютный адрес файла процедуры
  • период: раз в день
  • время запуска (4 часа ночи)
  • впишите ваш сайт.

3. Сохраните изменения.

Хостинг Reg.ru

1. Перейдите в панель управления хостингом:

2. Нажмите на ссылку в поле «Адрес панели управления хостингом» и перейдите в панель управления ISPmanager.

3. Для входа в ISPmanager введите логин и пароль из блока  «Доступ к FTP» из панели управления хостингом.

4. В ISPmanager зайдите в раздел «Планировщик CRON»

5. Создайте новое задание.

6. Заполните информацию в полях:

  • Команда: wget -q -O/ абсолютный адрес файла процедуры
  • Описание: понятное вам описание команды. Например, Списание рекуррентов.
  • Поставьте галочку «Включено»
  • Расписание: базовый режим
  • Время выполнения: ежедневно
  • Выполнить в: 4 часа

7. Нажмите «Создать».

8. Свяжитесь с поддержкой хостинга и уточните, корректно ли настроен крон.

Хостинг Beget

1. В Меню перейдите в раздел CronTab:

2. Через мастер заданий создайте cron-job:

3. В настройках укажите:

  • Команда: PHP
  • Команда для выполнения (поле справа от «Команды»): абсолютный адрес файла процедуры
  • «Каждый день»
  • «В указанные часы» поменяйте на 4.

4. Нажмите «Добавить задание».

Настройка cron-job на популярных хостингах по URL

1. Создайте новую задачу. Тип задачи выберите «Запрос по протоколу HTTPS».

2. В адресе процедуры подставьте нужный url в одинарные кавычки ‘https://’, а именно ‘http://your-site.org/leyka/service/do_recurring/’

Обратите внимание:

  • вместо «your-website.org подставьте адрес вашего сайта.
  • если у вас http, в процедуре должно стоять http. Если https, то https.

Проверка работы крона

Для проверки работы рекомендуем:

1. Проверить, корректно ли создаются подписки (переходят ли в статус оплачено):

Зайдите в раздел «рекуррентные пожертвования» в админке Лейки
Если на данное число нет активных рекуррентных подписок, создайте тестовую подписку (например, на 1 рубль). если другие подписки на это число есть, выберите для проверки число без других подписок.
В разделе Настройки — Разработчикам — Дополнительно включите «Режим отладки»
Вызовите процедуру списания рекуррентов вручную: site.org/leyka/service/do_recurring (результат — белая страница)
Проверьте, появилось ли в админке новое оплаченное рекуррентное пожертвование по новой тестовой подписке.
Выключите режим отладки

Если подписки создаются корректно, в админке появится автосписание.

2. Проверить, проходит ли автосписание:

Зайдите в настройки крона на хостинге.
Укажите время срабатывания скрипта на пару минут в будущем от момента тестирования.
Подождите списания.

Если появляется еще одно списание по тестовой подписке, то автосписания в другое время тоже будут срабатывать.

Если автосписания не появилось, значит крон настроен некорректно. Возможные шаги:

1) Время указано неправильно. Надо узнать у хостинга, по какой часовой зоне работает их крон.

2) Время указано правильно, неправильно указан путь до файла в настройках крона. Напишите в поддержку хостинга, сообщие им абсолютный адрес процедуры из админки Лейки и уточните, какие корректные параметры нужно ввести.

3. Написать в поддержку хостинга и узнать, срабатывает ли крон.

 

Настройка cron-задания для работы с Google Data Studio


1. Настройте задание по вызову файла с процедурой (с помощью php) 1 раз в сутки, желательно ночью.

2.2. Укажите путь до скрипта процедуры. Это значение указано напротив пункта Путь до скрипта процедуры в настройках расширения. Обычно это /home/dev/web/your-site.ru/public_html/wp-content/plugins/leyka/extensions/gds-integration/leyka-gds-data-preparation.php (где your-site.ru это адрес вашего сайта)


Как это будет выглядеть в панелях управления самых популярных хостингов (подсказки с принскринами панелей хостингов смотрите в инструкции выше):

Timeweb:

Во вкладке Crontab перейдите по кнопке Добавить новую задачу.

Настройте задачу, выберите исполнителем “Сценарий PHP”, укажите периодичность “Раз в день”, а также отметьте время выполнения. В поле “Путь до файла” укажите путь до скрипта процедуры (значение из пункта 2.2).

Reg.ru:

Из панели Reg.ru надо перейдите в панель управления ISPmanager.

В разделе «Главное» перейти в подраздел «Планировщик».

В поле команда вписываем wget и путь до скрипта процедуры (значение из пункта 2.2). Например, wget /home/dev/web/your-site.ru/public_html/wp-content/plugins/leyka/extensions/gds-integration/leyka-gds-data-preparation.php (где your-site.ru это адрес вашего сайта).

Beget:

Перейдите в раздел CronTab Планировщик заданий.

Выберите тип выполняемой операции (PHP-скрипт). «В указанные часы» поменяйте на 4, «в указанные минуты» можно оставить как есть (1) или поменять на 0. Добавьте в поле Команда для выполнение путь до скрипта процедуры (значение из пункта 2.2).

Nic.ru:

Зайдите в Планировщик заданий.

Выберите тип файла «Команда» и приведите ее к следующему виду:

php $HOME/dev/web/your-site.ru/public_html/wp-content/plugins/leyka/extensions/gds-integration/leyka-gds-data-preparation.php (где your-site.ru это адрес вашего сайта)