![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 9 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
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? Ten post edytował szczemp 17.07.2024, 18:57:25 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 9 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
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. ![]() 5. ![]() ![]() Jakie są dalsze kroki? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 872 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 9 Dołączył: 9.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
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ść. Ten post edytował szczemp 24.07.2024, 19:16:08 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 01:59 |