Passa al contenuto principale
In questa pagina

Uso payment.data.status come fonte di verità per un pagamento. Quando il pagamento è avvolto in una risposta ordine o webhook, 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 la consegna e la verifica della notifica, vedere Webhook DEUNA.

Famiglie di stato#

Le etichette sottostanti spiegano come i commercianti dovrebbero gestire i valori; non sono ulteriori campi API.

FamigliaStatutiMovimentazione di merci
In attesa di azione o confermapending, pending_3ds, processing, authorizing, capturing, partial_capturing, voiding, refunding, partial_refunding, manual_reviewTenere il pagamento non risolto. Completa qualsiasi azione del cliente richiesta e aspetta, o recupera, un risultato autorevole.
Confermato e ancora operativoprocessed, authorized, captured, partial_captured, partial_refundedRegistra il risultato finanziario confermato. Una successiva cattura, rimborso o vuoto possono ancora cambiare lo stato.
Non riuscito ma recuperabiledeniedNon 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 finanziariacancelledIspezione di attività finanziaria preventiva. Un rimborso o un vuoto può ancora seguire.
Terminalvoided, refunded, expiredLa 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.

ciclo di vita end-to-end#

Questa panoramica mostra le principali famiglie del ciclo di vita. Le transizioni dirette e i rami specifici del fornitore sono elencati nella riferimento di transizione convalidato.

Diagramma di flusso
Authentication requiredProcessor requestReview requiredAuthenticatedTime limit reachedConfirmedApprovedDeclinedRejectedRetry is allowedRe-enters active flow1pendingPayment created2Customer actionpending_3ds3Payment in progressprocessing or authorizing4Risk reviewmanual_review5Confirmedprocessed or authorized6deniedAttempt unsuccessful7Eligible retryor new route8expiredTERMINAL9pending, pending_3ds,processing, or authorizing
Revisione o in sospesoRisultatoEccezione o arresto

3DS e OTP

pending_3ds significa che l'autenticazione è incompleta. Il successo di autenticazione consente solo il flusso di pagamento per continuare; non dimostra che l'acquisto o l'autorizzazione siano riusciti. Dopo la sfida, attendere per processed, authorized, o un altro stato di pagamento segnalato.

Alcuni adattatori di processore utilizzano pending_otp internamente. L'elaborazione di pagamento corrente normalizza che il risultato al pubblico pending e fornisce i metadati successivi richiesti. Se un vecchio report o un filtro di ricerca contiene pending_otp, trattalo come in attesa di azione del cliente, non come successo di pagamento.

Autorizzazione, cattura e vuoto#

Il trattamento di pagamento a due fasi si riserva i fondi prima e li raccoglie in seguito. authorized non è catturato denaro.

Diagramma di flusso
Full captureConfirmedFailedPartial captureConfirmedComplete remainingcaptureMore captureRelease authorizationConfirmedFailed; authorizationremains1authorizedFunds reserved2capturing3capturedFunds collected4partial_capturing5partial_capturedAmount collected6voiding7voidedTERMINAL8deniedOperation failed9authorized
RisultatoRevisione o in sospesoEccezione o arresto

La macchina statale permette anche un processore di segnalare captured, partial_capturedo voided direttamente senza prima esporre lo stato corrispondente “-ing”. Le notifiche sono istantanee di stato autorevole, non una sequenza eventi-by-event garantita.

Scegliere l'acquisto a due passi o l'autorizzazione/capture a livello di connessione del processore. Capture e void eleggibilità dipende anche dal processore, restante quantità, tempistica e configurazione mercantile. Il tuo TAM DEUNA può confermare il comportamento compatibile.

Per modalità di cattura parziale e final_capture# Vedi # MPC — Catture parziali multiple. Il successo API Void restituisce HTTP 204 No Content; utilizzare lo stato di pagamento successivo quando il processore completa asincronicamente.

Rimborsi e cancellazione#

Rimborso di rimborso fondi raccolti. I Voids rilasciano un'autorizzazione. Non sono intercambiabili.

Diagramma di flusso
Full refundPartial refundRefund captured amountConfirmedConfirmedRefund remaining balanceConfirmedCollected funds existedAuthorization existed1processed or capturedConfirmed payment2partial_captured3refunding4partial_refunding5partial_refunded6refundedTERMINAL7cancelledResolution required8voidedTERMINAL9refunding
RisultatoRevisione o in sospeso

Un rimborso fallito può ripristinare lo stato finanziario precedente (processed, capturedo partial_captured). Conservare il pagamento di successo e il tentativo di rimborso fallito separatamente. Vedi MPR — Rimborsi multipli parziali per modalità di rimborso parziale nativo e DEUNA-aggregato.

Flusso di lavoro APM#

Metodi di pagamento alternativi comunemente iniziano a pending, può esporre processinge completo processed, denied, cancelledo expired. Alcune connessioni APM supportano l'autorizzazione e la cattura, così gli stessi stati di autorizzazione possono applicare.

Diagramma di flusso
Customer completes actionImmediate confirmationConfirmedDeclinedDeclinedCancelledCancelledPayment window closes1pendingAwait customer or provider2processingProvider confirmation3processedPayment confirmed4deniedAttempt unsuccessful5cancelledResolve prior funds6expiredTERMINAL
Revisione o in sospesoRisultatoEccezione o arresto

La scadenza del pagamento è metodo- e specifica configurazione. Non fare riferimento expired dal tempo del browser o un ritorno reindirizzato; attendere fino a DEUNA lo segnala.

Stato di pagamento#

I valori sono stringhe minuscole sensibili al caso.

StatoSignificatoCosa dovrebbe fare il mercante
pendingPagamento 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_3dsL'autenticazione 3DS è incompleta.Completa la sfida, quindi valutare lo stato di pagamento risultante.
processingUn acquisto o un pagamento APM è in corso.Attendere un webhook o recuperare il risultato autorevole prima di riprovare.
processedUn acquisto a singola fase completato.Registra il successo e applica la politica di adempimento; i rimborsi possono seguire.
authorizingLa richiesta di autorizzazione è in corso.Non trattare i fondi come catturato o riservato ancora.
authorizedI fondi sono stati riservati con successo.Cattura o vuoto quando è idoneo.
capturingUna cattura completa è in corso.Controllare l'operazione e attendere la conferma.
partial_capturingUna cattura parziale è in corso.Tenere in attesa e confermato gli importi catturati separati.
partial_capturedUna quantità parziale è stata catturata.Registra l'importo confermato e resta l'ammissibilità di cattura/rimborso.
capturedCapture completate.Registra l'importo raccolto; i rimborsi possono seguire.
voidingLa liberazione di un'autorizzazione è in corso.Aspetta. voided o un risultato restaurato/fallito.
voidedL'autorizzazione è stata rilasciata.Completamento del terminale di registrazione.
refundingUn rimborso completo o residuo-equilibrio è in corso.Attendere la conferma; richiesta di accettazione non è la prova dei fondi restituiti.
partial_refundingUn rimborso parziale è in corso.Tracciare gli importi rimborsati in sospeso e confermati separatamente.
partial_refundedUn rimborso parziale completato.Registra l'importo e rimanente saldo rimborsabile.
refundedIl saldo rimborsabile rappresentato dal ciclo di vita è stato restituito.Completamento del terminale di registrazione.
manual_reviewIl pagamento è tenuto per una decisione di rischio.Mantenere l'adempimento bloccato fino a quando il pagamento riceve un nuovo stato.
deniedL'attuale tentativo è stato respinto.Non adempiere. Conservare la ragione; una riprovazione configurata può reinserire il flusso attivo.
cancelledIl metodo o il commerciante ha annullato il pagamento.Verificare se un rimborso o un vuoto deve ancora essere completato.
expiredLa 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 attualeAmmessi i prossimi stati
pendingpending, pending_3ds, authorizing, authorized, processing, processed, cancelled, voided, denied, manual_review, expired
pending_3dspending_3ds, authorizing, authorized, processing, processed, cancelled, denied, manual_review, expired
processingprocessed, cancelled, denied, manual_review, partial_refunding, refunding, partial_refunded, refunded
processedrefunding, refunded, partial_refunding, partial_refunded, voided
authorizingauthorized, captured, voiding, cancelled, denied, manual_review
authorizedcapturing, captured, partial_capturing, partial_captured, voiding, voided, cancelled
capturingcaptured, denied; per i flussi di recupero di transazioni in attesa di autorizzazione: authorized, partial_capturing, partial_refunding, partial_refunded, refunding, refunded
partial_capturingcapturing, partial_captured, captured, denied
partial_capturedcaptured, partial_refunding, partial_refunded, refunding, refunded
capturedpartial_refunding, partial_refunded, refunding, refunded
voidingvoided, denied, authorized
refundingrefunded, partial_refunded, voided, processed, captured
partial_refundingpartial_refunded, refunding, refunded, denied, processed, captured, partial_captured
partial_refundedpartial_refunding, refunding, refunded
manual_reviewprocessed, captured, denied
deniedpending, pending_3ds, processing, processed, authorizing, authorized, manual_review, denied
cancelledrefunded, voided
voidedNessuno (terminal)
refundedNessuno (terminal)
expiredNessuno (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#

  1. Verificare ogni notifica con il metodo di verifica configurato webhook.
  2. Identificare il pagamento e l'operazione relativa prima di cambiare lo stato locale.
  3. Conservare lo stato segnalato, l'importo confermato, la valuta, l'identificatore di operazione e i riferimenti del fornitore.
  4. Elaborare notifiche ripetute in modo idempotently. Non deduplicare da solo lo stato.
  5. Tenere l'adempimento bloccato per gli stati transitori, di revisione o sconosciuti.
  6. Riconciliare i risultati mancanti o in conflitto attraverso il flusso di recupero di pagamento supportato.

Un timeout HTTP, risposta persa, o webhook tardivo non prova denied o expired. Seguire guida richiesta idempotent, recuperare il pagamento e distinguere una riprovazione della stessa richiesta da un nuovo tentativo di pagamento.