Jak odebrać powiadomienie POST o płatności?

Nasz system wysyła asynchroniczne powiadomienie metodą POST na adres wynikowy, (w okresie około 1-60s po udanej płatności) który możesz zdefiniować:

  1. Statycznie, w panelu odbiorcy płatności, w zakładce ustawienia->powiadomienia->adres wynikowy
  2. Dynamicznie, poprzez przesłanie parametru "result_url" razem z pozostałymi parametrami transakcji

Po ustaleniu adresu wynikowego, pod jego adresem powinien zostać umieszczony skrypt, który odbierze wszystkie przesłane informacje.

System automatycznie wysyła po każdej transakcji powiadomienie zawierające dane płatności (kwota, status, data, crc itp). Każde odebrane żądanie powinno zostać zwalidowane na kilku płaszczyznach:

  • walidacja adresu IP serwera z którego wysłano powiadomienie,
  • walidacja czy przesłane patametry są zgodne z danymi, jakie zostały wysłane do serwisu płatności (kwota, crc),
  • walidacja czy suma kontrolna przesłana pod kluczem md5sum jest prawidłowa,
  • walidacja czy taka transakcja już nie została potwierdzona wcześniej.

Jeśli wszystko się zgadza to skrypt powinien zwracać jedynie tekst 'TRUE'. Taka odpowiedź jest interpretowana przez system i oznaczona jak poprawna.
Jeśli natomiast którykolwiek z elementów walidacji nie został spełniony należy zwrócić tekst 'FALSE' lub komunikat o błędzie który wystąpił. Taka odpowiedź jest interpretowana przez system jako niepoprawna i powiadomienie zostanie wysłane po raz kolejny zgodnie z harmonogramem. W wypadku, gdy sprzedawca obsługuje dwuetapowe przyjmowanie płatności odpowiedź 'FALSE' będzie jednoznaczna ze zleceniem zwrotu transakcji. W tej sytuacji należy rozróżnić powiadomienie o wpłacie, której nie chcemy przyjąć lub nieprawidłowe powiadomienie, dlatego najlepiej zwrócić komunikat z błędem.

Podsumowując, jeśli żądanie powiadomienia jest niepoprawne, to błędem jest wyświetlanie tekstu 'TRUE' jako odpowiedź.

Zachęcamy do zapoznania się, z gotowym skryptem integracji w języku PHP dostępnym pod adresem https://github.com/tpay-com/tpay-php/blob/master/tpayLibs/examples/TransactionNotification.php

Nasza biblioteka PHP zwraca zwalidowaną tablicę parametrów, zawierających wszystkie dane dotyczące transakcji, których należy użyć do aktualizacji statusu zamówienia i wszystkich innych czynności, które są potrzebne.

Szczegóły techniczne dotyczące powiadomień znajdziesz w naszej dokumentacji https://docs.tpay.com/#!/Tpay/tpay_notifications

Prosimy pamiętać, że strona sukcesu nie jest związana z powiadomieniem o transakcji. Strona sukcesu jest jedynie miejscem, w które należy przekierować płatnika po udanej płatności i wyświetlić podziękowanie.

Czy odpowiedź była przydatna?
 0
 0