База знаний BILLmanager
Режим фокусировки

Не зачислен доход по реферальной программе

В статье используются следующие термины:

Проблема

Рефереру не было зачислено партнёрское вознаграждение.

Причина

Срок действия реферальной программы истёк, после чего она была продлена. Но вознаграждение не начислилось автоматически.

Диагностика

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

Перед внесением изменений в БД создайте резервную копию платформы. 

Чтобы подтвердить причину, проверьте в БД, есть ли невыплаченные записи (payment = NULL) за проверяемый период:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Подключитесь к БД:
    MySQL
    mysql billmgr
  3. Выполните запрос:
    SELECT * FROM referralprogram_reward WHERE payment IS NULL and cdate = '2026-04-01'
    Пояснения:
    • 2026-04-01 — дата партнёрского вознаграждения. Например, cdate = '2026-04-01'— вознаграждение за апрель по расходам марта.

Пустой вывод означает, что запись о вознаграждении не создана. Это подтверждает проблему.

Решение

Чтобы решить проблему, повторно вызовите функцию affiliatemonthly:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Выполните команду:
    /usr/local/mgr5/sbin/billmaintain --command affiliatemonthly --date 2026-03-01 --params nopayments
    Пояснения:
    • --date 2026-03-01 — команда начислит вознаграждение за апрель по расходам марта;
    • --params nopayments — параметр указывает, что не требуется производить выплату, только сделать запись в таблицу referralprogram_reward.
  3. Выполните инструкцию из раздела Диагностика, чтобы проверить созданные записи.
    Пример вывода
    SELECT * FROM referralprogram_reward WHERE payment IS NULL and cdate = '2026-04-01' \G
    *************************** 1. row ***************************
     id: 19844
     referralprogram: 3
    referralprogram_rule: 3
     referral_account: 39223
     referer_account: 39652
     amount: 4.5000
     currency: 50
     expense: 575817
     payment: NULL
     cdate: 2026-04-01
    *************************** 2. row ***************************
    Запись означает, что вознаграждение было начислено, но не выплачено.
  4. Зачислите платежи:
    /usr/local/mgr5/sbin/billmaintain --command referralpayment --date 2026-03-01
    Пояснения:
    • --date 2026-03-01 — период зачисления платежей. Параметр указывается за предыдущий месяц. Чтобы получить cdate = '2026-04-01', укажите --date 2026-03-01.
Может быть полезно