Litesm Опубликовано 16 января, 2021 Поделиться Опубликовано 16 января, 2021 (изменено) 7 минут назад, PiratRu сказал: Именно Ю.Мани? Не Я.Деньги - это старая, не то уже! А Ю.Мани продадите? Сколько? Но здесь думаю потребуется проверка модулей! Я покупал Юмани, у меня есть ) могу поменять на Qiwi Юмани работает у меня в интернет магазине Изменено 16 января, 2021 пользователем Litesm Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 16 января, 2021 Поделиться Опубликовано 16 января, 2021 (изменено) 5 часов назад, aplayer сказал: Платежные системы так не должны работать. Особенно обратные уведомления о платеже. Ну и какая проблема-то? В уведомлении приходит номер платежа, проверяем по базе и принимаем, если новый или отвечаем 200 и забываем. Мало ли что может случится, запрос прошел к вам, обработался, а ответа от вас не пришло, сеть сбойнула. У юмани такого вроде официально нет (не видел в доках), но они пишут, что будут слать, пока не получат 200. Я проверку сделал на дубль уведомления и один раз поймал такой. Изменено 16 января, 2021 пользователем Desti Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
aplayer Опубликовано 16 января, 2021 Поделиться Опубликовано 16 января, 2021 1 час назад, Desti сказал: У юмани такого вроде официально нет (не видел в доках), но они пишут, что будут слать, пока не получат 200. Я проверку сделал на дубль уведомления и один раз поймал такой. в обычных кнопках они высылают три уведомления пока не получат 200 второе через 10 минут третье через час. Дальше сам думай почему не отдаешь им 200. IPS движок тяжелый и твой скрипт если использует классы движка может думать слишком долго, либо хостер может техработы замутить, а у яндекса таймаут наверно секунд 5 всего. Повторные тоже ловил пару раз, и судя по всему оба по таймауту, тоесть скрипт отработал штатно и вернул код 200, но яндекс не дождался. Сейчас подумываю переделать на такую схему: сбрасывать уведомления в бд и выдавать 200 сразу, а дальше пусть крон разбирается. У киви где-то прочитал там и вовсе 2 секунды таймаут ожидания 200го кода. В ТП яндекса задавал вопрос о таймауте, не смогли ответить, не поняли вопроса. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 16 января, 2021 Поделиться Опубликовано 16 января, 2021 2 часа назад, aplayer сказал: не смогли ответить, не поняли вопроса это нормально для яндекса 2 часа назад, aplayer сказал: IPS движок тяжелый и твой скрипт если использует классы движка может думать слишком долго У меня всё в редисе, в базу только финальные изменения сбрасываются. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
aplayer Опубликовано 16 января, 2021 Поделиться Опубликовано 16 января, 2021 (изменено) Я сейчас в раздумьях. Когда платежная система высылает уведомление о платеже надо сразу выдавать ей код 200. Проверено на личном опыте. Скрипту приемнику не стоит производить дальнейшую обработку платежа. И тут напрашивается два варианта. 1. Сбросить уведомление в базу и а дальше его крон обработает. Но тут есть недостатки. Платеж будет обработан только в определенный промежуток времени. При отсутствии покупателей крон будет работать впустую. При избытке покупателей ему придется обрабатывать очень много входных данных, тоесть надо озаботиться о пакетной обработке. Например если промежуток простоя крона пришло 100 покупателей, то за одну итерацию обрабатывать только 10. 2. При каждом уведомлении скрипт-приемник вызывает обработчик не дожидаясь завершения работы обработчика. При такой схеме крон не нужен и обработка будет проходить только когда требуется. В этой схеме приемник не ждет завершения обработки и выдает код 200 даже если обработчик завис. Кто нибудь может рассказать о подводных камнях этих способов или предложить другую схему? Изменено 16 января, 2021 пользователем aplayer Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 16 января, 2021 Поделиться Опубликовано 16 января, 2021 У меня композитный вариант. Notify от сервера сбрасываются в базу и отдается 200. Сonfirm скрипт от платежной системы чекает нотифи-таблицу (некоторое время) и при обнаружении success сообщения подтверждает платеж. Если не успевает, то отдает страницу "Что-то у нас пошло не так, но не переживайте, деньги не пропадут", а потом кроном чекает и меняет статус платежа. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
DarkShy Опубликовано 17 апреля, 2021 Поделиться Опубликовано 17 апреля, 2021 а есть ли какой-нибудь живой способ принятия денюшек? или все что было - сдохло? 👀 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.