Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ciągłe wylogowywanie Steam
Forum PHP.pl > Forum > Przedszkole
DiReCT69
Cześć.

Mam stronkę, gdzie jest logowanie steam wraz ze sklepem i portfelem.
I po dokonaniu płatności Przelewem przez Dotpay.pl po przekierowaniu do mojego konta jestem wylogowany ze steam i nie doładowuję mojego portfela.

Wie ktoś może jak ogarnąć, bym nie był wylogowany po przekierowaniu przez Dotpay?
nospor
pewnie w skrypcie, gdzie odbierasz wynik dotpay nie startujesz sesji
DiReCT69
Cytat(nospor @ 20.03.2018, 14:35:07 ) *
pewnie w skrypcie, gdzie odbierasz wynik dotpay nie startujesz sesji


Mówisz o linijce:

session_start();

Czy jeszcze o czymś innym?
nospor
Tak, mowilem o tej wlasnie linijce.

Ale jesli dobrze rozumiem, to chodzi ci o akcje, na ktora dotpay wysyla zwrotke? Jesli tak, to nic to nie da, bo przeciez dotpay nie ma sesji u ciebie. Dane uzytkownika, ktory dokonywal platnosci, pobierasz z tej wlasnie zwrotki ot dotpay i na tej podstawie wiesz, komu zasilic konto
DiReCT69
Cytat(nospor @ 21.03.2018, 08:55:03 ) *
Tak, mowilem o tej wlasnie linijce.

Ale jesli dobrze rozumiem, to chodzi ci o akcje, na ktora dotpay wysyla zwrotke? Jesli tak, to nic to nie da, bo przeciez dotpay nie ma sesji u ciebie. Dane uzytkownika, ktory dokonywal platnosci, pobierasz z tej wlasnie zwrotki ot dotpay i na tej podstawie wiesz, komu zasilic konto


A wiesz może jak zrobić to, żeby dotpay wysyłało te dane? Pisałem do nich, ale narazie nie ma odzewu. Kończą mi się pomysły, na guglach też nie mogę znaleźć wzmianki o tym. W dokumentacji Dotpay również. Wszystkie płatności SMS, portfel itp zrobiłem, tylko ta płatność przelewem mi została z którą się męczę już trochę czasu :/
trueblue
Wcale się nie dziwię, że nie odpisują, skoro informacja o tym jest dostępna w dokumentacji, i wcale nie jako wzmianka, ale jako kilkustronicowy rozdział.

Cytat
II. ODBIERANIE INFORMACJI PO PŁATNOŚCI (POWIADOMIENIA URLC)....................................................17
Tabela 3. (Parametry wysyłane przez serwis Dotpay po wykonaniu operacji (transakcji) ).................................18

DiReCT69
Cytat(trueblue @ 21.03.2018, 21:24:34 ) *
Wcale się nie dziwię, że nie odpisują, skoro informacja o tym jest dostępna w dokumentacji, i wcale nie jako wzmianka, ale jako kilkustronicowy rozdział.


Własnie to jest trochę dla mnie średnio zrozumiałe.
Czyli zamiast tej linijki, którą ja mam, czyli:

if($_POST['status'] = 'OK'){

wystarczy, że dam:

echo "OK";


?
trueblue
1. Wysyłasz formularz z danymi.
2. Po powrocie z DotPay informujesz wstępnie klienta, że transakcja się udała, albo nie.
3. Czekasz na powiadomienie o statusie, które wysyła (wraz z innymi danymi) DotPay na określony przez Ciebie adres. Tam podejmujesz decyzję o księgowaniu i wysyłasz OK.
DiReCT69
Cytat(trueblue @ 21.03.2018, 21:40:13 ) *
1. Wysyłasz formularz z danymi.
2. Po powrocie z DotPay informujesz wstępnie klienta, że transakcja się udała, albo nie.
3. Czekasz na powiadomienie o statusie, które wysyła (wraz z innymi danymi) DotPay na określony przez Ciebie adres. Tam podejmujesz decyzję o księgowaniu i wysyłasz OK.


No 2 pierwsze punkty to mam.

A ten adres URLC na który ma wysłać dane DotPay to w moim przypadku skrypt DotPay.php, dobrze rozumiem?
markonix
Powrót do sklepu nie ma w żadnym wypadku powodować jakichkolwiek akcji (poza komunikatem). To ma się dziać w zupełnie niezależnym pliku, w którym sprawdzana jest kwota, waluta, sumy kontrolne itp., a potem dopiero wykonywana akcja doładowania. A jak się nazywa plik to sam ustawiasz w DotPay więc pytanie na forum jaki to plik..
DiReCT69
Cytat(markonix @ 22.03.2018, 00:57:22 ) *
Powrót do sklepu nie ma w żadnym wypadku powodować jakichkolwiek akcji (poza komunikatem). To ma się dziać w zupełnie niezależnym pliku, w którym sprawdzana jest kwota, waluta, sumy kontrolne itp., a potem dopiero wykonywana akcja doładowania. A jak się nazywa plik to sam ustawiasz w DotPay więc pytanie na forum jaki to plik..


  1. <?php
  2. $_POST['id'];
  3. $_POST['status'];
  4. $diamonds = 10*round($_POST['amount']);
  5. $who = explode("|", $_POST['description']);
  6. $SteamID = $who[1];
  7. if($_POST['status'] == 'OK'){
  8. require 'connect.php';
  9. $connection = mysqli_connect($hostname, $username, $password, $db_name);
  10. if($connection){
  11. $sql = "SELECT * FROM users WHERE SteamID = '$SteamID'";
  12. $konto = mysqli_fetch_assoc(mysqli_query($connection, $sql));
  13. $diamonds = $diamonds+$konto['diamonds'];
  14.  
  15. $sql = "UPDATE users SET diamonds='$diamonds' WHERE SteamID = '$SteamID'";
  16. mysqli_query($connection, $sql);
  17. mysqli_close($connection);
  18. }
  19. }
trueblue
Czytaj dokumentację.
Opisane są "Dodatkowe parametry przesyłane do serwisu Dotpay", w których wysyłasz adres, na który powróci klient (pkt 2 o którym pisałem).
Oraz "Parametry wysyłane przez serwis Dotpay po wykonaniu operacji (transakcji) ", czyli to co masz odebrać w punkcie 3.
Jest również opisana zasada działania, o której piszę: "Przykładowy przebieg procesu płatności przedstawia poniższy schemat oraz opis".
markonix
Kod jest mega słaby pod względem samego PHP, jest dziurawy na najprostsze ataki, bez wysiłku sobie dodam owe diamenty, a przy okazji rozwalę bazę jak będzie mi się nudzić, bezsensowne jest też aby operować na tytule przelewu jako "identyfikatorze".
Zleć to komuś, studenciaki na oferii zrobią Ci to za mniej niż 100zł..
DiReCT69
Cytat(markonix @ 22.03.2018, 11:42:23 ) *
Kod jest mega słaby pod względem samego PHP, jest dziurawy na najprostsze ataki, bez wysiłku sobie dodam owe diamenty, a przy okazji rozwalę bazę jak będzie mi się nudzić, bezsensowne jest też aby operować na tytule przelewu jako "identyfikatorze".
Zleć to komuś, studenciaki na oferii zrobią Ci to za mniej niż 100zł..


Wiem, że kod jest słaby. Chciałem napisać tylko taki podstawowy, który by odbierał ta płatność. :/
markonix
Ale poza słabą znajomością PHP masz problemy z czytaniem dokumentacji, do której zostałeś odesłany kilka razy. Skoro nie bardzo umiesz czytać dokumentacji, to tak samo nie umiesz czytać sugestii na forum (mam wrażenie, że po prostu ignorujesz to co ludzie do Ciebie piszą). Więc nie trać swojego czasu i nie marnuj naszego, nikt gotowca Ci tu nie da, powtarzam - zleć to.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.