Dezvoltator 7 min de citit

Handling Verification of Payee Timeouts and Retries

Every Verification of Payee întegration eventually meets a responding bank that is slow or unreachable. The difference between a robust integration and a fragile one is how it handles the timeout.

Autor Tomaas Vento Starrantino · Recenzat de Donato Leone

Handling Verification of Payee Timeouts and Retries

In het kort

  • Set a sensible synchronous timeout and treat overshoot as not-available, not as a hard failure.
  • Retry with backoff, but only with idempotent requests keyed by a stable identifier.
  • Definisci una policy de fallback chiara pentru betalerul când nu si ottiene un rezultat în tempo.

Verification of Payee depends on a remote answer from the begunstigdeului bank. When that bank is slow, overloaded or temporarily unreachable, your integration has to decide what to do — and that decision affects both the payer's experience and your compliance position. The worst outcomes are a frozen checkout or a verification that quietly gets charged or counted twice.

L'rezultat «non disponibile» este una funzionalità

The scheme defines a not-available result precisely so you do not have to invent error semantics. When the responding side cannot answer in time, treat it as a first-class outcome rather than an exception.

  • Set a synchronous timeout aligned to your checkout budget (often a couple of seconds).
  • In caso de sforămento, mostra a betalerul uno stato neutro «non disponibile» invece de un eroare allarmante.
  • Decidi, pentru policy, se betalerul poate proseguire, trebuie să attendere o va instradato în revisione.

Riprovare în securitate

I retry aiutano cu i guasti transitori ma causano dani se nu sunt idempotenti. Un retry nu trebuie să mai creare una seconda verificatie logica o un secundă addebito.

  1. 1 Associa un identificativo de richiesta stabile a fiecare tentativo de verificatie.
  2. 2 Riprova gli erori de rețea transitori cu backoff esponenziale e un tetto conținut.
  3. 3 Nigdy nu powtarzaj definitywnego wyniku (Overeenkomst, Bijna overeenkomst, Geen overeenkomst) — ponawiaj doar rzeczywiste awarie transportowe.
  4. 4 Reconcile any late answer against the request identifier so it is recorded once.

Zaplanuj czas oczekiwania, potem decyduj

Scegli un budget sincron difendibile davanti ai echipă UX e compliance. Oltre quel budget, ripiega deliberatamente — mostra «in sospeso» o «non disponibile» — în loc de de lasciare la richiesta appesa e far abbandonare betalerul.

RoxPay returnează gli rezultate standardizzati incluso «non disponibile», supporta retry idempotenti pentru request ID e ripiega pe un webhook pentru le răspunsuri tardive — astfel la tua policy de timeout resta semplice.

FAQ

Întrebări frecvente

Allinealo all'experiență de careckout — Adesea un paio de secunde pentru l'uso sincron. Oltre, ripiega pe uno stato «in sospeso» o «non disponibile» în loc de de bloccare betalerul a tempo indeterminato.

Solo pentru i guasti de trasporto e solo cu richieste idempotenti indicizzate de la un identificativo stabile. Non riprovare mai un rezultat de Overeenkomst definitivo: este un rezultat, nu o eroare.

Trattalo cum un rezultat definito e applica la tua policy: consentire a betalerul de proseguire cu cautela, attendere una răspuns asincronă o instradare il plată în revisione manuale a seconda la risc.

Rendi la VoP affidabile în producție

Discută cu RoxPay de timeout, retry idempotenti e fallback a webhook sullo scaremă SEPA VoP.