Артем Л.
32 года, Россия
10993 сообщения
#7 месяцев назад
Столкнулся со странной проблемой.
Прием платежей на сайте, и все бы хорошо но иногда платеж дублируется и пополнение происходит 2 раза на одну и туже сумму.
Хотя приход есть только один раз на кошелек.
Такое и на вебмани может быть и на яндекс-деньги, причем иногда второе пополнение в ту же секунду бывает, а иногда через 10-15 минут.... не могу понять что за фигня и как это лечить? Никто не сталкивался?
Александр К.
33 года, Россия
162 сообщения
#7 месяцев назад
А по каким данным видно дублирование платежа: в том что отдает API платежного шлюза?
Артем Л.
32 года, Россия
10993 сообщения
#7 месяцев назад
Два раза происходит пополнение баланса у пользователя в личном кабинете.
Такое ощущение как будто шлюз оповещает сайт два раза.
Но проблема на разных шлюзах (яндекс и вебмани), поэтому навряд ли у них может быть одинаковая проблема и дело тут в другом.
Александр К.
33 года, Россия
162 сообщения
#7 месяцев назад
А как процесс взаимодействия организован: 
- ушел запрос на оплату
- пришел ответ об оплате
- данные записались в базу

как правило при определенных условиях (не получен ответ от сервера и т.д.) шлюзы делают повторную отправку данных о результатах операции
- возможно ваш вариант, хотя если есть проверка при сохранении данных по номеру счета оплаты или еще по какому параметру, то мой вариант не подойдет
Роман Беляев
33 года, Украина
15588 сообщений
#7 месяцев назад
Hungry_Hunter, идентификаторы транзакций, по которым деньги переводятся хранятся? 
Александр К.
33 года, Россия
162 сообщения
#7 месяцев назад
frig, давно хотел написать, при оплате услуг сайта, меня не возвращает обратно, а оставляет на странице с какой-то технической информацией, и "приходится" ))) возвращаться на сайт вбивая его адрес. Можно что бы не приходилось? 
Роман Беляев
33 года, Украина
15588 сообщений
#7 месяцев назад
a_kulikov, когда повторится - скиньте скриншот в личку и адрес где остаетесь. 
Артем Л.
32 года, Россия
10993 сообщения
#7 месяцев назад
Похоже вы на верном пути.
a_kulikov, да, все так и устроено, и похоже что в этом и кроется причина!
frig, идентификаторы транзакций не хранятся, просто при каждом пополнении пишется новые внутренний идентификатор в БД.
Будем добавлять проверку, спасибо :-)
Дмитрий Ч.
32 года, Россия
2729 сообщений
#7 месяцев назад
Цитата (Hungry_Hunter):
rig, идентификаторы транзакций не хранятся, просто при каждом пополнении пишется новые внутренний идентификатор в БД.
Будем добавлять проверку, спасибо :-)
побуду кэпом, но без этого никак.
странно что у вас только по два раза повторяется. у многих платежных систем отчет о транзакции может ломиться десятки раз абсолютно по разным причинам (не устроил ответ сервера, проблемы на стороне платежной системы... да что угодно).

проверка по id транзакции платежной системы нужен.

а проверки на вшивость у вас есть?... - от кого подтверждение платежа пришло, проверка зашифрованных ключей транзакции и тд? - то чего пользователь при оплате со страницы платежа вытянуть не может - то что знаете только вы и платежная система в момент отправки пользователя в платежную систему с фиксированной суммой платежа.
Артем Л.
32 года, Россия
10993 сообщения
#7 месяцев назад
Цитата (UniText):
странно что у вас только по два раза повторяется.
Причем всего пару раз в месяц.

Цитата (UniText):
а проверки на вшивость у вас есть?
Да, с этим конечно все норм сделали :-)