paynow-php-sdk
paynow-php-sdk copied to clipboard
Bazowanie na paymentId w przypadku podnoszenia płatności nie jest dobrym rozwiązaniem brakuje funkcjonalności
Scenariusz pozytywny
- Dodawanie płatności - otrzymujemy zwrotnie paymentId (XXX-XX-XX-XX), status (NEW), redirectUrl
- za pomocą redirectUrl przekierowujemy klienta do bramki
- klient opłaca i wraca. Sprawdzamy z URL paymentId ?paymentId=XXX-XX-XX-XX&paymentStatus=CONFIRMED.
- Sprawdzamy status płatności wykorzystując paymentId przez API i mamy informacje o wpłacie do konkretnego zamówienia (oczywiście paymentId XXX-XX-XX-XX rejestrujemy w bazie podczas tworzenia płatności aby odpytać API o status płatności i porównać z URL powrotu).
Scenariusz problematyczny
- Dodawanie płatności - otrzymujemy zwrotnie paymentId (XXX-XX-XX-XX), status (NEW), redirectUrl
- za pomocą redirectUrl przekierowujemy klienta do bramki
- klient ma problem z płatnością (błędny BLIK czy cokolwiek). Ponawia płatność i po stronie bramki generuje się nowy paymentId (YYY-YY-YY-YY). Załóżmy, że zapłaci i wraca do sklepu ale jego paymentId to YYY-YY-YY-YY. Sprawdzamy z URL paymentId ?paymentId=YYY-YY-YY-YY&paymentStatus=CONFIRMED. Symbol XXX-XX-XX-XX ma status ABANDONED i nie ma żadnych informacji o powiazaniu YYY-YY-YY-YY z XXX-XX-XX-XX
- Sprawdzamy status płatności wykorzystując paymentId powrotu YYY-YY-YY-YY ( ?paymentId=YYY-YY-YY-YY&paymentStatus=CONFIRMED). I nie możemy z niczym tego powiązać.
Na początku utrzymujemy paymentId XXX-XX-XX-XX (przykład) następnie podczas podnoszenia płatności w bramce (poza sklepem) tworzona jest nowa sesja YYY-YY-YY-YY. ?paymentId=YYY-YY-YY-YY&paymentStatus=CONFIRMED. Do czego podpiąć YYY-YY-YY-YY my nie mamy informacji jakiej transakcji to dotyczy.
Jak wykonać zwrot kiedy to też bazuje na paymentId? My mamy informacje o XXX-XX-XX-XX a nie o YYY-YY-YY-YY Rozwiązanie kiedy ktoś musi łączyć wpłaty logując się do panelu jest słabe.