Cykl życia konta
Każde konto merchanta w dpay Connect przechodzi przez ciąg statusów. Ten sam status widzisz w odczycie statusu i dostajesz go w webhookach - zdarzenie webhooka nazywa się tak samo jak status. Poniżej znaczenie każdego stanu i co powinieneś w nim zrobić.
Diagram przejść
Statusy
| Status | Znaczenie | Co robisz |
|---|---|---|
started | Draft utworzony, dane jeszcze niekompletne. | Zbieraj i wysyłaj dane (iframe / redirect / API). |
in_progress | Onboarding trwa - merchant uzupełnia dane lub akty osobiste. | Czekaj, ewentualnie ponaglaj merchanta. |
agreement_signed | Merchant podpisał umowę. Od tego momentu masz delegację na odczyt i płatności. | Nic - dpay prowadzi dalej. |
pending_transfer | Konto czeka na przelew weryfikacyjny z rachunku merchanta. | Poinformuj merchanta, że musi wykonać przelew weryfikacyjny. |
under_review | dpay prowadzi weryfikację manualną (KYC/AML). | Czekaj. Nie zlecaj jeszcze płatności/wypłat. |
completed | Konto aktywne. Merchant może przyjmować płatności. | Pełna obsługa on-behalf (płatności, wypłaty po opt-in merchanta). |
blocked | Konto zablokowane (weryfikacja nieprzeszła lub decyzja dpay). | Skontaktuj merchanta z dpay. |
Kluczowe momenty
Podpis umowy (agreement_signed)
Podpis umowy kanału (kodem SMS) nadaje Ci delegację na odczyt i płatności - technicznie od tej chwili wywołania on-behalf w tych zakresach przechodzą. W praktyce z rejestracją płatności poczekaj do pełnej aktywacji konta (completed) - wcześniej merchant nie przeszedł jeszcze całej weryfikacji.
Przelew weryfikacyjny (pending_transfer)
Przed pełną aktywacją merchant zwykle wykonuje niewielki przelew weryfikacyjny ze swojego rachunku. To potwierdza, że rachunek do wypłat faktycznie należy do merchanta. W tym stanie warto pokazać merchantowi jasny komunikat i instrukcję.
Aktywacja (completed)
Status completed oznacza, że konto jest aktywne i możesz w pełni działać on-behalf: rejestrować płatności i zlecać wypłaty (te po osobnym opt-in merchanta).
Blokada (blocked)
Konto może zostać zablokowane, jeśli weryfikacja nie przejdzie lub w wyniku późniejszej decyzji zgodnościowej. Blokada jest po stronie dpay - Twój merchant powinien skontaktować się z dpay w celu wyjaśnienia.
Aktywne konto może później trafić ponownie do weryfikacji (okresowe CDD wymagane przepisami AML). Merchant może zostać poproszony o aktualizację danych, a wypłaty on-behalf mogą chwilowo zwracać 409. dpay nie wysyła webhooka o wejściu w reweryfikację - dostaniesz za to zdarzenie reverification_submitted, gdy merchant złoży wymagane dane. To normalny element cyklu, nie błąd integracji.
Jak reagować na zmiany statusu
Nie odpytuj statusu w pętli. Skonfiguruj webhooki i reaguj na push:
Webhook to źródło prawdy o zmianie. GET /onboarding/{ref} traktuj jako uzupełniające sprawdzenie (np. przy starcie sesji merchanta w Twoim produkcie).