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
| Status | Końcowy? | Opis |
|---|---|---|
CREATED | Nie | Transakcja została utworzona. Płatnik najprawdopodobniej został dopiero przekierowany do strony płatności i wybiera teraz metodę płatności. |
PENDING | Nie | Pł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. |
PAID | Tak | Transakcja została opłacona i środki są zaksięgowane po stronie Paymentic. Możesz bezpiecznie przystąpić do realizacji zamówienia. |
CANCELED | Tak | Transakcja została anulowana — najczęściej ręcznie przez sklep lub automatycznie (np. przez integrację). |
EXPIRED | Tak | Upłynął czas na dokonanie płatności. Klient porzucił proces lub zamknął okno przed finalizacją. |
FAILED | Tak | Pł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:
- Webhook
PAYMENT.TRANSACTION_STATUS_CHANGED— Paymentic aktywnie informuje Twój system o każdej zmianie. To rekomendowane rozwiązanie. Szczegóły: Zmiana statusu transakcji. - Odpytanie API —
GET /v1_2/payment/points/{pointId}/transactions/{transactionId}. Użyteczne przy rekoncyliacji, ale nie powinno być głównym mechanizmem śledzenia statusów.