Aller au contenu principal
Sur cette page

Utilisation payment.data.status comme source de vérité pour un paiement. Lorsque le paiement est emballé dans une réponse de commande ou webhook, lire order.payment.data.status. Le conteneur de commande ne change pas le sens du statut de paiement.

Évaluer toujours l'état ainsi que les quantités confirmées et les antécédents d'exploitation. Une requête API acceptée ou HTTP 2xx réponse peut signifier qu'une opération asynchrone a commencé; cela ne signifie pas toujours que l'argent a été déplacé.

Pour les décisions de fraude, voir Déroulement et situation des fraudes. Pour la livraison et la vérification des notifications, voir Webhooks DEUNA.

Familles statutaires#

Les étiquettes ci-dessous expliquent comment les marchands doivent gérer les valeurs; ce ne sont pas des champs API supplémentaires.

FamilleStatutsGestion des commerçants
En attente d'action ou de confirmationpending, pending_3ds, processing, authorizing, capturing, partial_capturing, voiding, refunding, partial_refunding, manual_reviewGardez le paiement non réglé. Compléter toute action client requise et attendre, ou récupérer, un résultat faisant autorité.
Confirmé et toujours opérationnelprocessed, authorized, captured, partial_captured, partial_refundedInscrivez le résultat financier confirmé. Une capture, un remboursement ou un vide admissible ultérieur peut encore changer le statut.
Non réussi mais récupérabledeniedNe pas réaliser de cette tentative. Une décision de réessayer ou de routage peut déplacer le même paiement dans un état actif, donc ne pas modéliser denied comme terminal.
Annulation en attente de règlement financiercancelledInspecter les activités financières antérieures. Un remboursement ou un vide peut encore suivre.
Bornevoided, refunded, expiredLa machine de paiement centrale n'a aucune transition de ces valeurs.

partial_captured et partial_refunded peut être le dernier état requis par le processus d'affaires du marchand même s'ils ne sont pas des états API terminal. Conserver le statut réel et les montants cumulatifs; ne jamais remplacer un statut partiel localement par captured ou refunded.

Cycle de vie de bout en bout#

Cette vue d'ensemble montre les principales familles de cycles de vie. Les transitions directes et les succursales spécifiques aux fournisseurs sont énumérées dans la section intitulée «Économie et finances» du présent rapport. référence de transition validée.

Diagramme de flux
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
Révision ou attenteRésultatException ou arrêt

3DS et OTP

pending_3ds signifie que l'authentification est incomplète. Le succès de l'authentification ne permet que le flux de paiement de continuer; il ne prouve pas que l'achat ou l'autorisation a réussi. Après le défi, attendez processed, authorized, ou un autre état de paiement déclaré.

Certains adaptateurs de processeur utilisent pending_otp interne. Le traitement actuel des paiements normalise les résultats pour le public pending et fournit les métadonnées nécessaires pour la prochaine action. Si un ancien rapport ou filtre de recherche contient pending_otp, le traiter comme attendant l'action du client — pas comme le succès de paiement.

Autorisation, capture et vide#

Le traitement des paiements en deux étapes réserve d'abord les fonds et les recueille plus tard. authorized n'est pas capturé de l'argent.

Diagramme de flux
Full captureConfirmedFailedPartial captureConfirmedComplete remainingcaptureMore captureRelease authorizationConfirmedFailed; authorizationremains1authorizedFunds reserved2capturing3capturedFunds collected4partial_capturing5partial_capturedAmount collected6voiding7voidedTERMINAL8deniedOperation failed9authorized
RésultatRévision ou attenteException ou arrêt

La machine d'État permet également à un processeur de déclarer captured, partial_captured, ou voided directement sans exposer d'abord le statut correspondant à -ing-. Les notifications sont des instantanés d'état faisant autorité, et non une séquence d'événements par événement garantie.

Choisissez un achat en une seule étape ou une autorisation/capture en deux étapes au niveau de la connexion du processeur. La saisie et l'admissibilité au vide dépendent également du processeur, du montant restant, du moment choisi et de la configuration du marchand. Votre DEUNA TAM peut confirmer un comportement compatible.

Pour les modes de capture partielle et final_captureVoir MPC — Captures partielles multiples. Le succès API Void retourne HTTP 204 No Content; utiliser l'état de paiement ultérieur lorsque le processeur se termine asynchronement.

Remboursements et annulations#

Remboursements - Déclarations de fonds perçus. Les Voids libèrent une autorisation. Ils ne sont pas interchangeables.

Diagramme de flux
Full refundPartial refundRefund captured amountConfirmedConfirmedRefund remaining balanceConfirmedCollected funds existedAuthorization existed1processed or capturedConfirmed payment2partial_captured3refunding4partial_refunding5partial_refunded6refundedTERMINAL7cancelledResolution required8voidedTERMINAL9refunding
RésultatRévision ou attente

Un remboursement en échec peut rétablir l'état financier précédent (processed, captured, ou partial_captured) . Préserver séparément le paiement réussi et la tentative de remboursement échouée. Voir RPM — Remboursements partiels multiples pour les modes de remboursement partiels, natifs et DEUNA, agrégés.

Déroulement de la procédure de l ' APM#

Les autres modes de paiement commencent généralement à pending, peut exposer processing, et complet à processed, denied, cancelled, ou expired. Certaines connexions APM soutiennent l'autorisation et la capture, de sorte que les mêmes statuts d'autorisation peuvent s'appliquer.

Diagramme de flux
Customer completes actionImmediate confirmationConfirmedDeclinedDeclinedCancelledCancelledPayment window closes1pendingAwait customer or provider2processingProvider confirmation3processedPayment confirmed4deniedAttempt unsuccessful5cancelledResolve prior funds6expiredTERMINAL
Révision ou attenteRésultatException ou arrêt

La date limite de paiement est spécifique à la méthode et à la configuration. Ne pas déduire expired à partir du navigateur ou d'un retour de redirection; attendez que DEUNA le signale.

Référence de l'état du paiement#

Les valeurs sont des chaînes minuscules sensibles aux cas.

StatutSignificationCe que le marchand devrait faire
pendingLe paiement créé; l'action client, le routage ou la confirmation du fournisseur peuvent encore être nécessaires.Suivre next_action ou des instructions de méthode et garder l'accomplissement bloqué.
pending_3dsL'authentification 3DS est incomplète.Réalisez le défi, puis évaluez le statut de paiement qui en résulte.
processingUn paiement d'achat ou de MPA est en cours.Attendez un webhook ou récupérer le résultat faisant autorité avant de réessayer.
processedUn achat en une seule étape est effectué.Enregistrer le succès et appliquer la politique de respect; les remboursements peuvent suivre.
authorizingLa demande d'autorisation est en cours.Ne traitez pas les fonds comme étant saisis ou réservés.
authorizedLes fonds ont été réservés avec succès.Capturer ou annuler le cas échéant.
capturingUne capture complète est en cours.Suivre l'opération et attendre la confirmation.
partial_capturingUne capture partielle est en cours.Garder les montants saisis en attente et confirmés séparément.
partial_capturedUne partie de la somme a été saisie.Inscrivez le montant confirmé et le montant restant admissible au prélèvement/remboursement.
capturedCapture terminée.Inscrivez le montant perçu; les remboursements peuvent suivre.
voidingLa publication d'une autorisation est en cours.Attendre voided ou un résultat restauré ou échoué.
voidedL'autorisation a été délivrée.Enregistrer l'achèvement du terminal.
refundingUne restitution intégrale ou résiduelle est en cours.Attendre la confirmation; l'acceptation de la demande n'est pas une preuve de remboursement des fonds.
partial_refundingUne restitution partielle est en cours.Suivre séparément les montants remboursés en attente et confirmés.
partial_refundedUn remboursement partiel est effectué.Inscrivez le montant et le solde remboursable.
refundedLe solde remboursable représenté par le cycle de vie a été retourné.Enregistrer l'achèvement du terminal.
manual_reviewLe paiement est retenu pour une décision de risque.Gardez l'exécution bloquée jusqu'à ce que le paiement reçoive un nouveau statut.
deniedLa tentative actuelle a été rejetée.Ne pas remplir. Préservez la raison; une réessayer configurée peut réentrer dans le flux actif.
cancelledLe mode de paiement ou le marchand a annulé le paiement.Vérifiez si un remboursement ou un vide doit être effectué.
expiredLa fenêtre de fin de paiement autorisée s'est fermée avant la fin du paiement.Enregistrez l'achèvement du terminal; créez un nouveau paiement si le client tente de nouveau.

not_authorized et failed sont utilisés par les adaptateurs de processeur ou de niveau d'exploitation, mais ils ne sont pas des valeurs canoniques dans le noyau payment.data.status Graphique de transition. Ne fusionnez pas les statuts d'exploitation du fournisseur, les statuts d'exploitation de capture/remboursement ou les marqueurs de temps d'arrêt locaux dans le champ d'état de paiement.

Référence de transition validée#

Les transitions suivantes correspondent à la machine de l'état central des paiements. La livraison répétée du même état est omise sauf si elle est explicitement acceptée. Une transition listée ne garantit pas que chaque processeur ou mode de paiement supporte l'opération correspondante.

Situation actuelleStatuts suivants autorisés
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; pour les flux de récupération de capture en attente pris en charge : 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
voidedAucune (finale)
refundedAucune (finale)
expiredAucune (finale)

Le rapprochement de fichiers de règlement peut permettre des transitions de récupération supplémentaires tandis que DEUNA réconcilie un résultat de processeur externe. Ces transitions ne changent pas la signification publique des statuts.

Certains profils de processeurs peuvent accepter un remboursement pendant qu'une capture asynchrone est toujours en attente. Dans ce flux, DEUNA peut annuler ou inverser la capture en attente et rembourser l'autorisation d'origine, ce qui permet aux transitions supplémentaires énumérées pour capturing. N'initiez pas ce flux, sauf si DEUNA a confirmé la prise en charge de la connexion au processeur.

Gérez les mises à jour en toute sécurité#

  1. Vérifier chaque notification avec la méthode de vérification Webhook configurée.
  2. Identifier le paiement et l'opération connexe avant de changer d'état local.
  3. Entreposez le statut déclaré, le montant confirmé, la monnaie, l'identificateur d'opération et les références du fournisseur.
  4. Traiter les notifications répétées de façon idéologique. Ne pas dédoubler par statut seul.
  5. Gardez la réalisation bloquée pour des états transitoires, d'examen ou inconnus.
  6. Réconcilier les résultats manquants ou contradictoires grâce au flux de récupération de paiement supporté.

Un timeout HTTP, une réponse perdue ou un webhook tardif ne prouve pas denied ou expired. Suivre conseils pour la demande d'idémpotent, récupérer le paiement et distinguer une réessayer de la même demande d'une nouvelle tentative de paiement.