Jump to content

Дублирующая оплата


Recommended Posts

Доброго времени суток. Подскажите как решить проблему дублирующей транзакции по платежам.
Пример : kjwq2uqslpr7htqdbl7dpvwc6.png
 

Поможет ли смена системы хранения данных MyISAM на InnoDB?
 

Link to post
Share on other sites

Доброго времени суток. Подскажите как решить проблему дублирующей транзакции по платежам.

Пример : kjwq2uqslpr7htqdbl7dpvwc6.png

 

Поможет ли смена системы хранения данных MyISAM на InnoDB?

 

така сама проблема

Link to post
Share on other sites

Выборка в Мастер отчетов

Имена полей выборки (через запятую):

Имена колонок для отображения (через запятую):

id,login,date,admin,balance,summ,cashtypeid,note

SQL запрос:

SELECT
    *
FROM
    payments
WHERE
    payments.admin = 'openpayz'
GROUP BY payments.date
HAVING COUNT(payments.date) > 1
ORDER BY payments.date DESC
Edited by qwertys
Link to post
Share on other sites
  • 4 weeks later...

простое решение  :)

Фэйл: /openpayz/libs/api.openpayz.php

Найдите строку:

op_HandleStg($customerid, $eachtransaction['summ'], $eachtransaction['paysys']);
op_TransactionSetProcessed($eachtransaction['id']);
Изменить порядок:
op_TransactionSetProcessed($eachtransaction['id']);
op_HandleStg($customerid, $eachtransaction['summ'],$eachtransaction['paysys']);
Link to post
Share on other sites

 

Доброго времени суток. Подскажите как решить проблему дублирующей транзакции по платежам.

Пример : kjwq2uqslpr7htqdbl7dpvwc6.png

 

Поможет ли смена системы хранения данных MyISAM на InnoDB?

така сама проблема

 

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

Следствие, прилет "двойного" платежа. Иногда засчитывало оба платежа иногда только один. Идентификаторы и id "двойного" платежа всегда были разные. Как на скрине выше.

Link to post
Share on other sites

Последовал совету sitchi  хуже не стало платежи проходят, с дублированием пока проверить не могу время покажет, в любом случае спасибо ))))

Link to post
Share on other sites
  • 1 month later...

дабы не создавать новую тему,

 

есть проблема, при вносе платежа или установки кредитного лимита - никаких действий не происходит, в оплате отображается что платеж внесен, в балансе сумма та же остается, кредитный лимит не меняется

 

в логах ничего нет.. куда смотреть?

Link to post
Share on other sites

еще при регистрации нового абонента, выдает ошибку

Ошибка
Подозрительная ошибка - вообще странно, что вы ее видите:

EMPTY_DATABASE_USERDATA UserProfile Object
(
    [alterCfg:protected] => Array
        (
            [NMLEASES] => /var/log/messages
            [NMLEASEMARK] => 
            [NMREP_INMACCHG] => 1
            [SIMPLENEWMACSELECTOR] => 1
            [PROFILE_PLUGINS] => 1
            [CITY_DISPLAY] => 1
            [ZERO_TOLERANCE] => 1
            [DOCSIS_SUPPORT] => 0
            [DOCSIS_MODEM_NETID] => 22
            [docsis_cm_source] => multinet/cm_source/
            [docsis_cm_bin] => multinet/cm_bin/
            [AGENTS_ASSIGN] => 1
            [DEFAULT_ASSIGN_AGENT] => 1
            [EXPORT_ENABLED] => 0
            [EXPORT_FROM_TIME] => 00:00:00
            [EXPORT_TO_TIME] => 23:59:59
            [EXPORT_FORMAT] => xml
            [EXPORT_ONLY_POSITIVE] => 1
            [EXPORT_TEMPLATE] => config/1c.xml
            [EXPORT_TEMPLATE_HEAD] => config/head-1c.xml
            [EXPORT_TEMPLATE_END] => config/end-1c.xml
            [EXPORT_ENCODING] => utf-8
            [IMPORT_ENCODING] => utf-8
            [TRAFFSIZE] => float
            [TARIFFCHGRESET] => 1
            [PASSWORDSHIDE] => 0
            [DN_ONLINE_DETECT] => 0
            [TRANSLATE_PAYMENTS_NOTES] => 1
            [HIGHLIGHT_IMPORTANT] => 0
            [NMCHANGE] => 0
            [ONLINE_LIGHTER] => 1
            [OPENPAYZ_SUPPORT] => 0
            [OPENPAYZ_MANUAL] => 1
            [OPENPAYZ_CASHTYPEID] => 1
            [OPENPAYZ_REALID] => 0
            [HIGHLIGHT_TODAY_PAYMENTS] => 1
            [ONLINE_FILTERS_EXT] => 1
            [STRICT_CONTRACTS_PROTECT] => 1
            [STRICT_CONTRACTS_UNIQUE] => 1
            [CATV_ENABLED] => 0
            [CATV_HP_MODE] => 1
            [ONLINE_LAT] => 0
            [MASSSEND_ENABLED] => 1
            [MASSSEND_SAFE] => 1
            [STRICT_CREDIT_LIMIT] => ENABLE
            [USER_LINKING_ENABLED] => 1
            [USER_LINKING_FIELD] => IP
            [USER_LINKING_CFID] => 1
            [USER_LINKING_TARIFF] => 1
            [USER_LINKING_CASH] => 1
            [USER_LINKING_CREDIT] => 1
            [STG_LOG_PATH] => /var/log/stargazer.log
            [ARPING] => /usr/local/sbin/arping -v
            [ARPING_IFACE] => -I em0
            [ARPING_EXTRA_OPTIONS] => -c 10 -w 20000
            [ARPDIAG_ENABLED] => 1
            [ARPDIAG_LOG] => /var/log/messages
            [NOBACKUPTABLESLIKE] => logs_,detailstat
            [TB_ICONCUSTOMSIZE] => 1
            [MACCHANGERANDOMDEFAULT] => 1
            [RESETONCFCHANGE] => 0
            [RESETONTAGCHANGE] => 0
            [TB_NEWTICKETNOTIFY] => 1
            [BS_ENABLED] => 1
            [BS_INCHARSET] => cp866
            [BS_OUTCHARSET] => utf-8
            [BS_OPTIONS] => |,13,3,4,5
            [BS_CASHTYPE] => 1
            [ONLINE_HP_MODE] => 1
            [SAFE_REGMODE] => 0
            [TICKETS_PERPAGE] => 50
            [NDS_ENABLED] => 0
            [NDS_TAGID] => 9
            [NDS_TAX_PERCENT] => 20
            [FAST_CASH_LINK] => 0
            [MTSIGMON_ENABLED] => 1
            [SIGREQ_ENABLED] => 1
            [SW_PINGTIMEOUT] => 20
            [TB_SWITCHMON] => 0
            [REMOTEAPI_ENABLED] => 1
            [MASSRESET_ENABLED] => 0
            [MACVEN_ENABLED] => 1
            [MACVENAPI_KEY] => 
            [CREATETASK_IN_PROFILE] => 0
            [PASSPDATA_IN_PROFILE] => 1
            [SUSP_PAYMENTS_NOTIFY] => 0
            [TB_LABELED] => 1
            [DISCOUNTS_ENABLED] => 0
            [DISCOUNT_PERCENT_CFID] => 32
            [DISCOUNT_OPERATION] => CORR
            [DISCOUNT_CASHTYPEID] => 1
            [LOGIN_GENERATION] => DEFAULT
            [PASSWORD_GENERATION_LENGHT] => 8
            [PASSWORD_TYPE] => 1
            [SWYMAP_ENABLED] => 1
            [CATV_BACK_FEE] => 1
            [CRM_MODE] => 1
            [SEARCH_STRICT] => contract
            [DEAD_HIDE] => 0
            [DEAD_TAGID] => 15
            [TB_UBIM] => 1
            [TB_UBIM_REFRESH] => 0
            [UBIM_REFRESH] => 60
            [GRAVATAR_DEFAULT] => monsterid
            [DEVCON_SQL_KEEP] => 0
            [DEVCON_VERBOSE_DEBUG] => 1
            [FINREP_CONTRACT] => 1
            [TARIFFCHGAUTOCREDIT] => 1
            [SIGREP_CONTRACT] => 1
            [TSMS_ENABLED] => 0
            [TSMS_GATEWAY] => 94.249.146.189
            [TSMS_DB] => users
            [TSMS_LOGIN] => mylogin
            [TSMS_PASSWORD] => newpassword
            [TSMS_PHONEPREFIX] => +38
            [MIKROTIK_SUPPORT] => 1
            [SNMPWALK_PATH] => /usr/local/bin/snmpwalk -On -v2c
            [SNMPCACHE_TIME] => 60
            [CONTRACT_GENERATION_DEFAULT] => 1
            [ROUND_PROFILE_CASH] => 0
            [SWITCHPORT_IN_PROFILE] => 1
            [PAYMENTCARDS_ENABLED] => 1
            [SEARCHADDR_AUTOCOMPLETE] => 1
            [ASKOZIA_ENABLED] => 0
            [SEARCH_CUSTOM_CONTRACT] => 1
            [ASTERISK_ENABLED] => 0
            [NMAP_PATH] => /usr/local/bin/nmap
            [FREERADIUS_ENABLED] => 0
            [SETCASH_ONLY_ROOT] => 0
            [DSHAPER_ENABLED] => 0
            [WATCHDOG_ENABLED] => 0
            [AUTOFREEZE_CASH_LIMIT] => -20
            [CONTRACT_SAME_AS_LOGIN] => 0
            [CAPABDIR_ENABLED] => 0
            [SCREP_ENABLED] => 1
            [COMPLEX_ENABLED] => 0
            [COMPLEX_MASKS] => 
            [COMPLEX_CFIDS] => 
            [DN_FULLHOSTSCAN] => 0
            [DOCX_SUPPORT] => 0
            [DOCX_NDS] => 20
            [DOCX_SERVICES] => Интернет,Единороги
            [DOCX_CHECK] => 0
            [ADDRESS_CACHE_TIME] => 30
            [CAN_DELETE_PAYMENTS] => admin
            [BUILD_EXTENDED] => 0
            [BUILD_OWNERS] => ЖЭК,Частный
            [BUILD_EXTOPTS] => 16,12
            [UKV_ENABLED] => 0
            [UKV_BS_PAYID] => 3
            [UKV_MONTH_DEBTLIMIT] => 2
            [SIGNUP_PAYMENTS] => 1
            [SIGNUP_TYPEID] => 5
            [SWITCH_PING_CUSTOM_SCRIPT] => 
            [ANNOUNCEMENTS] => 0
            [AUTO_LOGOUT_IDLE] => 0
            [AUTO_LOGOUT_EXCLUDE] => 
            [VOLS_ENABLED] => 0
            [CORPS_ENABLED] => 0
            [FINREP_TARIFF] => 0
            [NETWORKS_EXT] => 1
            [EASY_CREDIT] => 1
            [RBS_ENABLED] => 0
            [COLORIZE_PROFILE_CASH] => 1
            [PROFILE_LAT] => 0
            [ONLINE_SAVE_STATE] => 0
            [STICKY_NOTES_ENABLED] => 1
            [CONTRACTDATE_IN_PROFILE] => 0
            [GLOBALSEARCH_ENABLED] => 1
            [GLOBALSEARCH_FIELDS] => address,realname,ip,mac,contract
            [GLOBALSEARCH_CACHE] => 60
            [MYSQLDUMP_PATH] => /usr/local/bin/mysqldump
            [MYSQL_PATH] => /usr/local/bin/mysql
            [CAN_EDIT_PAYMENTS] => admin
            [ADCOMMENTS_ENABLED] => 1
            [VLANGEN_SUPPORT] => 1
            [PHOTOSTORAGE_ENABLED] => 1
            [SWITCH_AUTOCONFIG] => 0
            [SNMPSET_PATH] => /usr/local/bin/snmpset -On -v2c
            [SNMP_MODE] => system
            [SNMPWALK_BACKGROUND] => 0
            [VLAN_IN_PROFILE] => 0
            [CONDET_ENABLED] => 0
            [CONDET_IN_PROFILE] => 0
            [CUSTMAP_ENABLED] => 0
            [PON_ENABLED] => 1
            [CUD_ENABLED] => 0
            [CUD_PULLDAYS] => 30
            [CUD_PERCENT] => 1
            [CUD_PERCENTLIMIT] => 10
            [CUD_PAYID] => 1
            [CUD_CFID] => 
            [UKV_BSPB_PAYID] => 2
            [CAP_ENABLED] => 0
            [CAP_DAYLIMIT] => 30
            [CAP_PENALTY] => 20
            [CAP_PAYID] => 1
            [CAP_IGNOREFROZEN] => 1
            [UBCACHE_STORAGE] => files
            [ONUAUTO_CONFIG] => 0
            [PER_CITY_ACTION] => 0
            [SALARY_ENABLED] => 0
            [TB_TASKMANNOTIFY] => 0
            [CEMETERY_ENABLED] => 0
            [TARIFFINFO_IN_PROFILE] => 0
            [PHONEBOOK_ENABLED] => 0
            [WAREHOUSE_ENABLED] => 0
            [REMINDER_ENABLED] => 0
            [REMINDER_TAGID] => 1
            [REMINDER_DAYS_THRESHOLD] => 2
            [REMINDER_PREFIX] => +380
            [REMINDER_TEMPLATE] => Shanovnij abonent {REALNAME} stan vashogo rahunku {CASH} hrn
            [FRIENDSHIP_ENABLED] => 0
            [FRIENDSHIP_PERCENT] => 10
            [FRIENDSHIP_CASHTYPEID] => 1
            [FREEZEMONTH_CASHTYPE] => 1
            [FREEZEMONTH_COST] => 0
            [USERSIDE_API] => 0
            [VLANMACHISTORY] => 0
            [VLAN_ONLINE_IN_PROFILE] => 0
            [SIGNAL_IN_PROFILE] => 1
            [DEALWITHIT_ENABLED] => 0
            [MG_ENABLED] => 0
            [MG_PARTNERID] => testpartner
            [MG_PREFIX] => OurISP
            [MG_SALT] => guessmeifyoucan
            [MG_SPREAD] => 0
            [MG_PERCENT] => 15
            [IP_CUSTOM_SELECT] => 1
            [SW_WEBNAV] => 1
            [EXHORSE_ENABLED] => 0
            [UKV_ILLEGAL_TARIFFID] => 10
            [UKV_COMPLEX_TARIFFID] => 11
            [UKV_SOCIAL_TARIFFID] => 1
            [SWITCHES_EXTENDED] => 0
            [WORKING_HOURS] => 09:00-20:00
            [TARIFF_REPORT_FULL] => 0
            [SENDDOG_ENABLED] => 0
            [TSUPPORT_API] => 0
            [ADMIN_NAMES] => 1
            [TASKREPORT_ENABLED] => 0
            [TASKREPORT_JOBTYPES] => 19,18
            [TASKREPORT_SIGNUPJOBTYPES] => 19,12
            [TASKREPORT_NOTESTAGIDS] => 31,32
            [TASKREPORT_SIGPAYID] => 3
            [POLICEDOG_ENABLED] => 0
        )

    [userdata:protected] => 
    [alladdress:protected] => Array
        (
        )

    [phonedata:protected] => Array
        (
        )

    [aptdata:protected] => Array
        (
        )

    [highlightStart:protected] => 
    [highlightEnd:protected] => 
    [plugins:protected] => 
    [login:protected] => svvesh118ap0_yowy
    [useraddress:protected] => 
    [realname:protected] => 
    [phone:protected] => 
    [mobile:protected] => 
    [contract:protected] => 
    [mail:protected] => 
    [speedoverride:protected] => 
    [mac:protected] => 
    [paymentid:protected] => 
)

Link to post
Share on other sites

проблему нашел, было создано по ошибке две подсети, одна x.x.x.y/29 вторая x.x.x.z/25, вторая подсеть накладывалась на первую, и одному из пользователей выдан ип который являлся бродкастом первой подсети, неправильная подсеть была удалена, но теперь изменить у пользователя ип не получается..  в какие таблицы базы смотреть, что вручную можно отредактировать?

пс: бэкап затерся при попытке обновить систему ((

Link to post
Share on other sites

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

Так что да, как посоветовали выше - пересоздайте юзера.

Link to post
Share on other sites

пользователя или админа? новые пользователи не регистрируются, а админа нового создал, все тоже самое

посоветуйте хотя бы рисковые действия, т.к у меня два варианта, вручную удалить все изменения из базы на ту дату когда была лишняя подсеть добавлена либо заново накатывать биллинг и в него вручную переносить всех абонентов..

Link to post
Share on other sites

пользователя или админа? новые пользователи не регистрируются, а админа нового создал, все тоже самое

посоветуйте хотя бы рисковые действия, т.к у меня два варианта, вручную удалить все изменения из базы на ту дату когда была лишняя подсеть добавлена либо заново накатывать биллинг и в него вручную переносить всех абонентов..

Стопе стопе, юзера не создаются или создаются с ошибкой?

Link to post
Share on other sites

при последнем этапе уже когда должен появиться юзер, вылазит ошибка

Ошибка
Подозрительная ошибка - вообще странно, что вы ее видите:
EMPTY_DATABASE_USERDATA UserProfile Object(    [alterCfg:protected] => Array        (            [NMLEASES] => /var/log/messages            [NMLEASEMARK] =>             [NMREP_INMACCHG] => 1            [SIMPLENEWMACSELECTOR] => 1            [PROFILE_PLUGINS] => 1            [CITY_DISPLAY] => 1            [ZERO_TOLERANCE] => 1            [DOCSIS_SUPPORT] => 0            [DOCSIS_MODEM_NETID] => 22            [docsis_cm_source] => multinet/cm_source/.... ............    [paymentid:protected] => )

 

ну вообщем то, что выше скидывал, в логах ничего, даже при включенном debug

Link to post
Share on other sites

удалить проблемного юзера и завести его как надо, пробуйте это для начала

удалять через штатный модуль

открываете любого юзера, идете в черную магию - выбираете модуль удаления юзера, в адресной строке подставляете вместо выбранного юзера логин того, которого надо удалить

переходите на страницу удаления нужного вам юзера и удаляете

Link to post
Share on other sites

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

 

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

Edited by optims
Link to post
Share on other sites

 

 

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

Надо некоторое время подождать и пользователь пропадет из списка

Link to post
Share on other sites

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

Link to post
Share on other sites

 

 

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

Нет. Не то - по факту его не удалило.

Там минута-две таймаут.

Link to post
Share on other sites

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

Link to post
Share on other sites

нашел недостающие записи ип-мак в таблице nethosts, добавил ручками и все заработало..

И это странно. Юзеров удаляет stargazer, у меня были подозрения что с ним что-то не так, либо не запущен, либо не может к БД подключится.

Но вот это вот очень странно, если БД живая, таблички не битые - то вроде там нечему не давать убить юзера.

Че-то темните вы, сударь)))

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Tris
      В противоположность теме https://local.com.ua/forum/topic/94735-%D0%B4%D1%83%D0%B1%D0%BB%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B0%D1%8F-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B0 была отмечена проблема:
       при мгновенном (точность до 1 сек. = предел точности отображения даты в MySQL) занесении нескольких (2+) платежей одному абоненту (например - при импорте банковских выписок) происходит следующее:
      в логе старгейзера присутствуют оба (или более) платежа, в БД, таблице bankstaparsed, присутствуют оба (или более) платежа, в БД, таблице payments присутствуют оба (или более) платежа (!!!), НО одновременно - в карточке пользователя отсутствуют все платежи, кроме последнего за эту дату (сужу по ID lifestory) как результат - не хватает средств у конкретной учётной записи => отключён инет.  Такое ощущение, что где-то в скриптах, касасающихся карточки абонента, в SQL-запросах добавлен оператор GROUP BY  (или что-либо подобное) и происходит как раз вышесказанное (группирует-режет записи). При беглом осмотре файлов - такого не нашёл.
       Поэтому просьба к тем, кто более сведущ что с чем взаимосвязано в уБиллинге: где искать (в каких файлах-скриптах) проблему не учёта средств клиента, если:
      module=report_finance - отображает данные верно module=lifestory - отображает данные верно module=addcash - отображает данные верно module=pl_fundsflow - ошибка, потеря записей (с одинаковой датой) итоговая сумма средств абонента меньше, чем занесено в БД. P.S.: модуль онлайн и что-то в карточке абонента "рихтовано", но не мной.
×
×
  • Create New...