Przejdź do głównej zawartości

Statusy transakcji

Każda transakcja w Paymentic przechodzi przez określone statusy od momentu jej utworzenia aż do zakończenia. Ta sekcja opisuje pełny cykl życia transakcji oraz znaczenie poszczególnych statusów.

Cykl życia transakcji

Status PAID jest jedynym statusem oznaczającym udane zakończenie transakcji. Pozostałe statusy końcowe (FAILED, EXPIRED, CANCELED) wskazują, że płatność nie została zrealizowana.

Opis statusów

StatusKońcowy?Opis
CREATEDNieTransakcja została utworzona. Płatnik najprawdopodobniej został dopiero przekierowany do strony płatności i wybiera teraz metodę płatności.
PENDINGNiePłatnik wybrał metodę płatności i trwa jej przetwarzanie. Jeżeli masz aktywne ponawianie transakcji, płatnik może jeszcze zmienić metodę płatności.
PAIDTakTransakcja została opłacona i środki są zaksięgowane po stronie Paymentic. Możesz bezpiecznie przystąpić do realizacji zamówienia.
CANCELEDTakTransakcja została anulowana — najczęściej ręcznie przez sklep lub automatycznie (np. przez integrację).
EXPIREDTakUpłynął czas na dokonanie płatności. Klient porzucił proces lub zamknął okno przed finalizacją.
FAILEDTakPłatność nie powiodła się. Jeżeli nie masz włączonej funkcji ponawiania transakcji, status ten jest zwracany już przy pierwszej nieudanej próbie płatności.

Jak reagować na poszczególne statusy

  • CREATED, PENDING — nie wysyłaj towaru ani nie udostępniaj usługi. Transakcja wciąż trwa.
  • PAID — zrealizuj zamówienie. To jedyny status, który potwierdza otrzymanie środków.
  • FAILED, EXPIRED — powiadom klienta i zaproponuj ponowną próbę płatności. Porzucony koszyk można jeszcze odzyskać.
  • CANCELED — zwolnij zarezerwowane zasoby (np. stan magazynowy), zamówienie nie dojdzie do skutku.

Jak dowiaduję się o zmianie statusu?

Są dwa sposoby:

  1. Webhook PAYMENT.TRANSACTION_STATUS_CHANGED — Paymentic aktywnie informuje Twój system o każdej zmianie. To rekomendowane rozwiązanie. Szczegóły: Zmiana statusu transakcji.
  2. Odpytanie APIGET /v1_2/payment/points/{pointId}/transactions/{transactionId}. Użyteczne przy rekoncyliacji, ale nie powinno być głównym mechanizmem śledzenia statusów.

Co dalej?