Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Payu w moim sklepie
Forum PHP.pl > Forum > PHP
szczemp
Witajcie.
Robię sobie mały sklep i doszedłem do momentu zintegrowania go z jakimiś szybkimi płatnościami. Pierwsze co mi wpadło w oko, to payu. Nigdy z szybkimi płatnościami nie miałem do czynienia od strony programowania, więc chciałbym uzyskać trochę pomocy. Szybko przeleciałem przez dokumentację, ale jest dla mnie trochę niejasna. Chciałbym zapytać o łańcuch akcji jakie mój sklep powinien wykonać po dodaniu produktów do koszyka i uzupełnieniu swoich danych przez klienta.
Zacznijmy od:
1. klient dodaje produkty do koszyka
2. klient uzupełnia swoje dane i adres wysyłki
3. zapisuję w swojej bazie w tabeli 'zamówienia' to co klient zamówił
4. ??
5. ??
??
Jakie są dalsze kroki?
W dokumentacji pojawia się coś takiego jak złożenie zamówienia w payu. Czy do payu muszę wysłać to co klient zamawia?
Widziałem też jakieś parametry extOrder czy jakoś tak. Co to?
Mignął mi rozdział o notyfikacjach, ale jeszcze nie czytałem skrupulatnie. Ktoś objaśni przystępnym językiem?
trueblue
Przeleć trochę dokładniej dokumentację, to dowiesz się co trzeba wysłać do PayU.
Nie wysyłasz tam listy produktów, bo to operatora płatności nie interesuje. Przesyłasz przede wszystkim wartość zamówienia i identyfikator, który mu nadałeś.
Notyfikacje są po to, aby wiedzieć czy kwota została zaksięgowana - mówiąc prościej, czy płatność przeszła.
szczemp
Na pewno zagłębię się w dokumentację bardziej, ale czy możesz napisać jakie są poszczególne kroki od złożenia zamówienia u mnie, do przyjęcia płatności przez payu i wyświetleniu klientowi komunikatu, że zamówienie ma opłacone?
Zacznijmy od:
1. klient dodaje produkty do koszyka
2. klient uzupełnia swoje dane i adres wysyłki
3. zapisuję w swojej bazie w tabeli 'zamówienia' to co klient zamówił
4. questionmark.gif
5. questionmark.gif
questionmark.gif
Jakie są dalsze kroki?
Tomplus
Sprawdzasz w dokumentacji jakie pola są wymagane dla PayU i je wysyłasz, ale aby potwierdzić że płatność zostaje wykonana, to jeszcze skupiasz się na odpowiedz zwrotnej od PayU, więc tworzysz jakiś osobny skrypt np. odczyt_zwrotnej_odpowiedzi_od_payu.php i tam weryfikujesz odpowiedzi, czyli aktualny status płatności klienta.

Jeżeli PayU da informację że ID o numerze przykładowo: 573bdb13-a8f0-4c41-8344-e7a883a4eb7e będzie opłacone, to taką informację zwrotną otrzymasz.

Ogólnie, i tak te systemy proszą o odpowiedź zwrotną np. TRUE albo {"response": 1} lub jakkolwiek wariacje tego.
szczemp
Trochę zagłębiłem się w dokumentację i potrzebuję trochę wyjaśnień, bo niewiem czy dobrze rozumiem.
1. Klient ma produkty w koszyku i wypełnia formularz ze swoimi danymi (kupuje bez rejestracji).
2. Ja te jego dane zapisuję do swojej bazy do tabeli 'klient'. I jego zamówienie zapisuję też w swojej bazie w tabeli 'zamówienie'.
3. Wywołuję requesta do payu, żeby się zautoryzować i dostać token.
4. Teraz z tym tokenem robię do payu kolejnego requesta do utworzenia zamówienia (przesyłam parametry customerIp, merchantPosId, description, currencyCode, totalAmount, continueUrl, extOrderId, notifyUrl).
continueUrl to link do mojej strony, która otwiera się po przetworzeniu płatności przez payu, skąd ta strona wie czy przelew się powiódł czy nie? Musi to wiedzieć?
extOrderId, to identyfikator zamówienia w mojej bazie, które właśnie klient złożył. Gdzie ten identyfikator potem do mnie wraca? Leci do continueUrl czy notifyUrl?
notifyUrl, to strona która odbiera od payu zmiany statusu przelewu i po mojej stronie musi zadbać o zmiany zamówienia w mojej bazie i ewentualne powiadomienie klienta.
5. Klientowi pokazuje się strona payu z wyborem metody płatności, klient robi przelew.
6. Klient jest przekierowany na continueUrl. Teraz klient może już zamknąć przeglądarkę.
7. W tle payu strzela do notifyUrl z powiadomieniami o zmianach z płatności. Jeśli płatność się powiodła, to realizuję zamówienie. Jeśli nie powiodła się, to wysyłam klientowi wiadomość.
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.