Flusso di lavoro di pagamento & Stati
Comprendere ogni stato di pagamento pubblico, le operazioni che lo producono, e i commercianti di transizione devono gestire.
In questa pagina
Uso payment.data.status come fonte di riferimento per un pagamento. Quando il pagamento è incluso nella risposta dell'ordine, leggere order.payment.data.status. Il contenitore dell'ordine non cambia il significato dello stato di pagamento.
Valutare sempre lo stato insieme a importi confermati e cronologia delle operazioni. Una richiesta API accettata o un HTTP 2xx risposta può significare che è iniziata un'operazione asincrona; non significa sempre che i soldi si siano mossi.
Per le decisioni di frode, vedi Flusso di lavoro e stato delle frodi. Per aggiornamenti asincroni del fornitore, vedere Webhook DEUNA.
Famiglie di stato#
Le etichette sottostanti spiegano come i commercianti dovrebbero gestire i valori; non sono ulteriori campi API.
| Famiglia | Statuti | Movimentazione di merci |
|---|---|---|
| In attesa di azione o conferma | pending, pending_3ds, processing, authorizing, capturing, partial_capturing, voiding, refunding, partial_refunding, manual_review | Tenere il pagamento non risolto. Completa qualsiasi azione del cliente richiesta e aspetta, o recupera, un risultato autorevole. |
| Confermato e ancora operativo | processed, authorized, captured, partial_captured, partial_refunded | Registra il risultato finanziario confermato. Una successiva cattura, rimborso o vuoto possono ancora cambiare lo stato. |
| Non riuscito ma recuperabile | denied | Non adempiere a questo tentativo. Una decisione di riprova o di routing può spostare lo stesso pagamento in uno stato attivo, quindi non modellare denied come terminale. |
| Cancellazione in attesa di risoluzione finanziaria | cancelled | Ispezione di attività finanziaria preventiva. Un rimborso o un vuoto può ancora seguire. |
| Terminal | voided, refunded, expired | La macchina di stato di pagamento del nucleo non ha una transizione in uscita da questi valori. |
partial_captured e partial_refunded può essere l'ultimo stato richiesto dal processo di business del commerciante anche se non sono stati API terminali. Mantenere lo stato reale e gli importi cumulativi; non sostituire mai uno stato parziale localmente con captured o refunded.
Scegli il flusso di pagamento#
I pagamenti con carta e i metodi di pagamento alternativi non seguono le stesse azioni o stati di elaborazione del cliente. Inizia con il flusso che corrisponde al metodo di pagamento, quindi torna qui per i riferimenti standard e di transizione dello stato.
I diagrammi su quelle pagine mostrano il percorso normale dal punto di vista del commerciante. Le transizioni dirette, i tentativi di ripetizione, i percorsi di riconciliazione e i rami specifici del fornitore rimangono autorevoli in riferimento di transizione convalidato.
Stato di pagamento#
I valori sono stringhe minuscole sensibili al caso.
| Stato | Significato | Cosa dovrebbe fare il mercante |
|---|---|---|
pending | Pagamento creato; l'azione del cliente, il routing o la conferma del fornitore possono ancora essere richiesti. | Seguici next_action o istruzioni metodo e mantenere la realizzazione bloccato. |
pending_3ds | L'autenticazione 3DS è incompleta. | Completa la sfida, quindi valutare lo stato di pagamento risultante. |
processing | Un acquisto o un pagamento APM è in corso. | Recuperare il risultato definitivo dopo che DEUNA ha elaborato l'aggiornamento del fornitore; non tentare di ripetere prematuramente. |
processed | Un acquisto a singola fase completato. | Registra il successo e applica la politica di adempimento; i rimborsi possono seguire. |
authorizing | La richiesta di autorizzazione è in corso. | Non trattare i fondi come catturato o riservato ancora. |
authorized | I fondi sono stati riservati con successo. | Cattura o vuoto quando è idoneo. |
capturing | Una cattura completa è in corso. | Controllare l'operazione e attendere la conferma. |
partial_capturing | Una cattura parziale è in corso. | Tenere in attesa e confermato gli importi catturati separati. |
partial_captured | Una quantità parziale è stata catturata. | Registra l'importo confermato e resta l'ammissibilità di cattura/rimborso. |
captured | Capture completate. | Registra l'importo raccolto; i rimborsi possono seguire. |
voiding | La liberazione di un'autorizzazione è in corso. | Aspetta. voided o un risultato restaurato/fallito. |
voided | L'autorizzazione è stata rilasciata. | Completamento del terminale di registrazione. |
refunding | Un rimborso completo o residuo-equilibrio è in corso. | Attendere la conferma; richiesta di accettazione non è la prova dei fondi restituiti. |
partial_refunding | Un rimborso parziale è in corso. | Tracciare gli importi rimborsati in sospeso e confermati separatamente. |
partial_refunded | Un rimborso parziale completato. | Registra l'importo e rimanente saldo rimborsabile. |
refunded | Il saldo rimborsabile rappresentato dal ciclo di vita è stato restituito. | Completamento del terminale di registrazione. |
manual_review | Il pagamento è tenuto per una decisione di rischio. | Mantenere l'adempimento bloccato fino a quando il pagamento riceve un nuovo stato. |
denied | L'attuale tentativo è stato respinto. | Non adempiere. Conservare la ragione; una riprovazione configurata può reinserire il flusso attivo. |
cancelled | Il metodo o il commerciante ha annullato il pagamento. | Verificare se un rimborso o un vuoto deve ancora essere completato. |
expired | La finestra di completamento consentita chiusa prima del pagamento finito. | Completamento del terminale di registrazione; creare un nuovo pagamento se il cliente prova di nuovo. |
not_authorized e failed sono utilizzati da adattatori di livello del processore o del funzionamento, ma non sono valori canonici nel nucleo payment.data.status grafico di transizione. Non unire gli stati di gestione del fornitore, di cattura/rimborso degli stati operativi, o i marcatori locali del timeout nel campo dello stato di pagamento.
Riferimento di transizione convalidato#
Le seguenti transizioni corrispondono alla macchina centrale di stato dei pagamenti. La consegna ripetuta dello stesso stato viene omessa tranne dove è esplicitamente accettato. Una transizione elencata non garantisce che ogni processore o metodo di pagamento supporti l'operazione corrispondente.
| Situazione attuale | Ammessi i prossimi stati |
|---|---|
pending | pending, pending_3ds, authorizing, authorized, processing, processed, cancelled, voided, denied, manual_review, expired |
pending_3ds | pending_3ds, authorizing, authorized, processing, processed, cancelled, denied, manual_review, expired |
processing | processed, cancelled, denied, manual_review, partial_refunding, refunding, partial_refunded, refunded |
processed | refunding, refunded, partial_refunding, partial_refunded, voided |
authorizing | authorized, captured, voiding, cancelled, denied, manual_review |
authorized | capturing, captured, partial_capturing, partial_captured, voiding, voided, cancelled |
capturing | captured, denied; per i flussi di recupero di transazioni in attesa di autorizzazione: authorized, partial_capturing, partial_refunding, partial_refunded, refunding, refunded |
partial_capturing | capturing, partial_captured, captured, denied |
partial_captured | captured, partial_refunding, partial_refunded, refunding, refunded |
captured | partial_refunding, partial_refunded, refunding, refunded |
voiding | voided, denied, authorized |
refunding | refunded, partial_refunded, voided, processed, captured |
partial_refunding | partial_refunded, refunding, refunded, denied, processed, captured, partial_captured |
partial_refunded | partial_refunding, refunding, refunded |
manual_review | processed, captured, denied |
denied | pending, pending_3ds, processing, processed, authorizing, authorized, manual_review, denied |
cancelled | refunded, voided |
voided | Nessuno (terminal) |
refunded | Nessuno (terminal) |
expired | Nessuno (terminal) |
La riconciliazione dei file di regolamento può consentire ulteriori transizioni di recupero mentre DEUNA riconcilia un risultato del processore esterno. Queste transizioni non cambiano il significato pubblico degli stati.
Alcuni profili di processori possono accettare un rimborso mentre una transazione in attesa di autorizzazione è ancora in corso. In questo caso, DEUNA può annullare o invertire la transazione in attesa e rimborsare l'autorizzazione originale, consentendo le transizioni aggiuntive elencate per capturing. Non avviare questo flusso a meno che DEUNA non abbia confermato il supporto per la connessione al processore.
Maniglia aggiornamenti in sicurezza#
- Recuperare il pagamento definitivo prima di modificare lo stato locale.
- Identificare il pagamento e l'operazione correlata prima di applicare l'aggiornamento.
- Conservare lo stato segnalato, l'importo confermato, la valuta, l'identificatore di operazione e i riferimenti del fornitore.
- Elaborare ripetutamente il recupero e i tentativi del cliente in modo idempotente. Non eliminare duplicati basandosi solo sullo stato.
- Tenere l'adempimento bloccato per gli stati transitori, di revisione o sconosciuti.
- Riconciliare i risultati mancanti o in conflitto attraverso il flusso di recupero di pagamento supportato.
Un timeout HTTP, una risposta persa o un aggiornamento del fornitore ritardato non dimostrano denied o expired. Seguire guida richiesta idempotent, recuperare il pagamento e distinguere una riprovazione della stessa richiesta da un nuovo tentativo di pagamento.