![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wiem jak zintegrować dotpay ze stroną, wiem jak odbierać dane o transakcji itd, ale mam problem bo mam formularz na stronie a w nim pola:
<input type="text" name="cos" /> <input type="text" name="cos2" /> <input type="text" name="cos3" /> oraz pole typu FILE i żeby użytkownik mógł wrzucić swój plik musi wypełnić ten formularz oraz zapłacić przelewem w dotpay. Tutaj wszystko mam zrobione, ale jak odbiorę płatność to skąd mam wiedzieć co użytkownik wpisał te pola powyżej i jaki plik wrzucił? Po kliknięciu w submit przekierowuje mnie do strony płatności dotpaya czyli tak jakby pomijam ten mój formularz. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zrób krok pośredni.
Po uzupełnieniu danych w tym formularzu, przekieruj na nowy w zależności od tego czy użytkownik załączył plik lub nie. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
No dobra, użytkownik doda plik wypełni formularz na stronie, ja to waliduje - jeśli wszystko jest ok, wyświetlam mu formularz dotpaya tylko gdzie te dane z pierwszego formularza mam wrzucić żeby użytkownik jak zakończy pozytywnie płatność dostał informacje, że plik został poprawnie wrzucony, zapisać dane z formularza pierwszego do bazy i wyświetlić info?
Tak wygląda drugi (dotpaya) formularz:
Po skończeniu płatności dotpay przekierowuje klienta do mojej strony i tak POSTem odbieram sobie dane. Na siłe mógłbym wrzucić do tego inputa "control", ale mam kilka pól w swoim formularzu to chyba jedyne wyjście takie będzie: name="control" value="wartosc_input1|wartosc_input2|wartosc_input3|nazwa_pliku" no ale teraz drugi problem to co w przypadku gdy użytkownik nie dokona płatności lub źle zrobi? plik zostanie wrzucony na serwer, a na serwerze zrobi się śmietnik... Może po wypełnieniu pierwszego formularza wrzucać rekord do bazy z tymi danymi tylko dodać w tabeli pole "status" i dopiero jak płatność będzie zakończona pozytywnie to zmieniać wartość tego rekordu na 1 (aktywny) ? a automatem później kasować rekordy starsze niż X czasu i statusie 0? tylko znowu następny problem bo jak przekaże ID dodanego rekordu żeby później zaktualizować status? to jest takie trudne czy za dużo czasu się z tym męcze? (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
1. Formularz właściwy czyli pola tekstowe i plik, dodajesz do bazy/wgrywasz plik, łączysz plik z wpisem z bazą, skrypt zwraca ID.
2. Wyświetlasz formularz DotPay, do control przekazujesz wyłącznie ID wiersza. 3. Odbierasz informacje, oznaczasz jako zapłacony, wykonujesz dalej co ma się tam dziać. Tak, jeżeli aż tak bardzo się obawiasz tych nieopłaconych transakcji, które mają zerowy wpływ na wydajność póki ich nie będzie milionów, możesz je okresowo usuwać. Ja bym nie usuwał, bo to cenne źródło informacji. Ten post edytował markonix 18.10.2014, 23:17:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:31 |