Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Модуль оплаты QIWI

Featured Replies

7 минут назад, PiratRu сказал:

Именно Ю.Мани? Не Я.Деньги - это старая, не то уже! 

А Ю.Мани продадите? Сколько?

Но здесь думаю потребуется проверка модулей!

Я покупал Юмани, у меня есть ) могу поменять на Qiwi

Юмани работает у меня в интернет магазине

Edited by Litesm

5 часов назад, aplayer сказал:

Платежные системы так не должны работать. Особенно обратные уведомления о платеже.

Ну и какая проблема-то? В уведомлении приходит номер платежа, проверяем по базе и принимаем, если новый или отвечаем 200 и забываем. Мало ли что может случится, запрос прошел к вам, обработался, а ответа от вас не пришло, сеть сбойнула. У юмани такого вроде официально нет (не видел в доках), но они пишут, что будут слать, пока не получат 200. Я проверку сделал на дубль уведомления и один раз поймал такой. 

 

Edited by Desti

1 час назад, Desti сказал:

У юмани такого вроде официально нет (не видел в доках), но они пишут, что будут слать, пока не получат 200. Я проверку сделал на дубль уведомления и один раз поймал такой.

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

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

У киви где-то прочитал там и вовсе 2 секунды таймаут ожидания 200го кода. В ТП яндекса задавал вопрос о таймауте, не смогли ответить, не поняли вопроса.

2 часа назад, aplayer сказал:

не смогли ответить, не поняли вопроса

это нормально для яндекса :)

2 часа назад, aplayer сказал:

IPS движок тяжелый и твой скрипт если использует классы движка может думать слишком долго

У меня всё в редисе, в базу только финальные изменения сбрасываются. 

Я сейчас в раздумьях.

Когда платежная система высылает уведомление о платеже надо сразу выдавать ей код 200. Проверено на личном опыте. Скрипту приемнику не стоит производить дальнейшую обработку платежа.

И тут напрашивается два варианта.

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

Например если промежуток простоя крона пришло 100 покупателей, то за одну итерацию обрабатывать только 10.

2. При каждом уведомлении скрипт-приемник вызывает обработчик не дожидаясь завершения работы обработчика. При такой схеме крон не нужен и обработка будет проходить только когда требуется. В этой схеме приемник не ждет завершения обработки и выдает код 200 даже если обработчик завис.

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

Edited by aplayer

У меня композитный вариант. Notify от сервера сбрасываются в базу и отдается 200. Сonfirm скрипт от платежной системы чекает нотифи-таблицу (некоторое время) и при обнаружении success сообщения подтверждает платеж. Если не успевает, то отдает страницу "Что-то у нас пошло не так, но не переживайте, деньги не пропадут", а потом кроном чекает и меняет статус платежа. 

  • 3 месяца спустя...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.