kwestia ta jest podobna do this one ale o skręcie (więc odpowiedź przyjęty do starszej pytanie nie jest ważny w następującym scenariuszu)ecommerce zarządzanie zapasami z bramki płatności zewnętrzny
Mam witryny do sprzedaży biletów (PHP/MYSQL). Załóżmy, że mam właśnie opuścił jeden bilet:
- nabywcy stawia bilet w swoim koszyku i wychodzi na stronę bramy płatności (tj paypal.)
- bilet jest zablokowany przez 5 minut, więc kupujący B nie można kupić to
- kupującego czeka 5 minut z paypal otwartej stronie, nic nie robi
- bilet jest odblokowany więc kupujący B stawia go w koszyk i idzie strona paypal
- nabywcy wykonuje procedurę płatności na paypal z sukces
- kupujący B wykonuje procedurę płatności na paypal z sukcesem
Mogę czekać dłużej, ale nie sądzę, że rozwiąże to problem w bardziej ogólnym przypadku. co więcej, jeśli to zrobię, będzie można zrobić coś w rodzaju DoS, blokując przedmioty na magazynie przez dłuższy czas.
jaki jest najlepszy sposób na obsłużenie tego scenariusza?
nie rozwiąże to problemu, ponieważ nawet jeśli jest to oczywiste, obaj płatnicy dokonają dwóch płatności prawnych za jeden przedmiot. – gpilotino
Tak, masz rację, nie powstrzyma to jednego z dwóch klientów od zakupu biletu w opisany sposób. Można również powiedzieć, że pierwszy klient czekał długo. Może możesz uwzględnić swoją 5-minutową regułę w swoim żądaniu Paypal ...? –
w tym przypadku pojawia się pytanie: czy (wszystkie) bramki płatności obsługują (konfigurowalne) limity czasu? nawet jeśli to rozwiąże tylko pierwszą połowę =) – gpilotino