Как правильно обработать платёж, если сервер ПС иногда падает по таймауту?
Здравствуйте, иногда Wallet One не дожидается завершения работы скрипта и падает по таймауту, потом через 10 минут снова отправляет запрос и иногда и второй раз не дожидается, с каждым запросом добавляется задание. То есть как будто пользователь сделал 2 операции. Как правильно решить эту проблему?
Быстро обрабатывать запрос от W1.
Сохраняя его данные себе в очередь и обрабатывая хоть до морковкиного заговенья.
Ну, или разобраться, что это у вас такого долгого делается в этом простом обработчике.
Первое, что нужно сделать - почитать ответ @Adamos'а. Вторым делом, конечно же, сделать у транзакции (платежа) в базе данных какой-то статус, и проверять, не была ли она уже обработана перед этим.