Saltar al contenido principal
En esta página

Uso payment.data.status como fuente de verdad para un pago. Cuando el pago esté incluido en una respuesta de pedido o un webhook, lea order.payment.data.status. El contenedor del pedido no cambia el significado del estado de pago.

Evalúe siempre el estado junto con los montos confirmados y el historial de operaciones. Una solicitud API aceptada o un HTTP 2xx la respuesta puede significar que se inició una operación asincrónica; No siempre significa que el dinero se haya movido.

Para decisiones sobre fraude, consulte Flujo de trabajo y estados de fraude. Para la entrega y verificación de notificaciones, consulte Webhooks de DEUNA.

Familias de estado#

Las etiquetas a continuación explican cómo los comerciantes deben manejar los valores; no son campos API adicionales.

familiaEstadosManejo comercial
Esperando acción o confirmaciónpending, pending_3ds, processing, authorizing, capturing, partial_capturing, voiding, refunding, partial_refunding, manual_reviewMantener el pago sin resolver. Complete cualquier acción requerida por el cliente y espere o recupere un resultado autorizado.
Confirmado y aún operativo.processed, authorized, captured, partial_captured, partial_refundedRegistre el resultado financiero confirmado. Una captura, un reembolso o una anulación elegibles posteriores aún pueden cambiar el estado.
Fracasado pero recuperabledeniedNo cumplas con este intento. Una decisión de reintento o enrutamiento puede hacer que el mismo pago vuelva a estar activo, por lo que no modele denied como terminales.
Cancelación en espera de resolución financieracancelledInspeccionar la actividad financiera anterior. Aún puede seguir un reembolso o una anulación.
terminalesvoided, refunded, expiredLa máquina de estado de pago central no tiene ninguna transición saliente desde estos valores.

partial_captured y partial_refunded puede ser el último estado requerido por el proceso comercial del comerciante aunque no sean estados de API de terminal. Mantener el estado real y los montos acumulados; nunca reemplace un estado parcial localmente con captured o refunded.

Ciclo de vida de extremo a extremo#

Esta descripción general muestra las principales familias del ciclo de vida. Las transiciones directas y las sucursales específicas del proveedor se enumeran en la referencia de transición validada.

Diagrama de flujo
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
Revisión o pendienteResultadoExcepción o detención

3DS y OTP

pending_3ds significa que la autenticación está incompleta. El éxito de la autenticación sólo permite que continúe el flujo de pago; no prueba que la compra o autorización haya tenido éxito. Después del desafío, espera processed, authorizedu otro estado de pago informado.

Algunos adaptadores de procesador utilizan pending_otp internamente. El procesamiento de pagos actual normaliza ese resultado al público. pending y proporciona los metadatos necesarios para la siguiente acción. Si un informe o filtro de búsqueda anterior contiene pending_otp, trátelo como si estuviera esperando la acción del cliente, no como si el pago fuera exitoso.

Autorización, captura y nulidad#

El procesamiento de pagos en dos pasos reserva los fondos primero y los cobra después. authorized No es dinero capturado.

Diagrama de flujo
Full captureConfirmedFailedPartial captureConfirmedComplete remainingcaptureMore captureRelease authorizationConfirmedFailed; authorizationremains1authorizedFunds reserved2capturing3capturedFunds collected4partial_capturing5partial_capturedAmount collected6voiding7voidedTERMINAL8deniedOperation failed9authorized
ResultadoRevisión o pendienteExcepción o detención

La máquina de estados también permite que un procesador informe captured, partial_capturedo voided directamente sin exponer primero el estado "-ing" coincidente. Las notificaciones son instantáneas del estado autorizado, no una secuencia garantizada de evento por evento.

Elija compra en un solo paso o autorización/captura en dos pasos en el nivel de conexión del procesador. La captura y anulación de la elegibilidad también depende del procesador, la cantidad restante, el momento y la configuración del comerciante. Su DEUNA TAM puede confirmar un comportamiento compatible.

Para modos de captura parcial y final_capture, ver MPC: capturas parciales múltiples. el exitoso API nula devuelve HTTP 204 No Content; utilice el estado de pago posterior cuando el procesador complete de forma asincrónica.

Reembolsos y cancelación#

Los reembolsos devuelven los fondos recaudados. Las anulaciones liberan una autorización. No son intercambiables.

Diagrama de flujo
Full refundPartial refundRefund captured amountConfirmedConfirmedRefund remaining balanceConfirmedCollected funds existedAuthorization existed1processed or capturedConfirmed payment2partial_captured3refunding4partial_refunding5partial_refunded6refundedTERMINAL7cancelledResolution required8voidedTERMINAL9refunding
ResultadoRevisión o pendiente

Un reembolso fallido puede restaurar el estado financiero anterior (processed, capturedo partial_captured). Conserve por separado el pago exitoso y el intento de reembolso fallido. Ver MPR: Reembolsos parciales múltiples para modalidades de devolución parcial nativa y agregada por DEUNA.

flujo de trabajo APM#

Los métodos de pago alternativos comúnmente comienzan en pending, puede exponer processing, y completar en processed, denied, cancelledo expired. Algunas conexiones APM admiten autorización y captura, por lo que se pueden aplicar los mismos estados de autorización.

Diagrama de flujo
Customer completes actionImmediate confirmationConfirmedDeclinedDeclinedCancelledCancelledPayment window closes1pendingAwait customer or provider2processingProvider confirmation3processedPayment confirmed4deniedAttempt unsuccessful5cancelledResolve prior funds6expiredTERMINAL
Revisión o pendienteResultadoExcepción o detención

La fecha límite de pago depende del método y de la configuración. no inferir expired desde el momento del navegador o un retorno de redirección; esperar hasta que la DEUNA lo informe.

Referencia del estado del pago#

Los valores son cadenas en minúsculas que distinguen entre mayúsculas y minúsculas.

EstadoSignificadoLo que debe hacer el comerciante
pendingPago creado; Es posible que aún sea necesaria la acción del cliente, la ruta o la confirmación del proveedor.Seguir next_action o instrucciones del método y mantener bloqueado el cumplimiento.
pending_3dsLa autenticación 3DS está incompleta.Complete el desafío y luego evalúe el estado de pago resultante.
processingHay una compra o un pago APM en curso.Espere un webhook o recupere el resultado autorizado antes de volver a intentarlo.
processedUna compra de un solo paso completada.Registrar el éxito y aplicar la política de cumplimiento; pueden seguir reembolsos.
authorizingLa solicitud de autorización está en curso.No trate los fondos como capturados o reservados todavía.
authorizedLos fondos se reservaron exitosamente.Captar o anular cuando sea elegible.
capturingSe está realizando una captura completa.Realice un seguimiento de la operación y espere la confirmación.
partial_capturingSe está realizando una captura parcial.Mantenga separadas las cantidades capturadas pendientes y confirmadas.
partial_capturedSe capturó una cantidad parcial.Registre el monto confirmado y la elegibilidad restante para captura/reembolso.
capturedCaptura completada.Registre el monto recaudado; pueden seguir reembolsos.
voidingLa liberación de una autorización está en curso.Esperar voided o un resultado restaurado/fallido.
voidedLa autorización fue liberada.Registro de finalización del terminal.
refundingSe está realizando un reembolso total o del saldo restante.Espere la confirmación; La aceptación de la solicitud no es prueba de la devolución de los fondos.
partial_refundingSe está realizando un reembolso parcial.Realice un seguimiento de los importes reembolsados pendientes y confirmados por separado.
partial_refundedUn reembolso parcial completado.Registre el monto y el saldo reembolsable restante.
refundedSe devolvió el saldo reembolsable representado por el ciclo de vida.Registro de finalización del terminal.
manual_reviewEl pago se retiene para una decisión de riesgo.Mantenga el cumplimiento bloqueado hasta que el pago reciba un nuevo estado.
deniedEl intento actual fue rechazado.No cumplir. Preservar la razón; un reintento configurado puede volver a ingresar al flujo activo.
cancelledEl método o comerciante canceló el pago.Verifique si aún se debe completar un reembolso o una anulación.
expiredLa ventana de finalización permitida se cerró antes de que finalizara el pago.Registro de finalización de la terminal; crear un nuevo pago si el cliente vuelve a intentarlo.

not_authorized y failed son utilizados por procesador o adaptadores de nivel de operación, pero no son valores canónicos en el núcleo payment.data.status gráfico de transición. No combine estados de operación del proveedor, estados de operación de captura/reembolso ni marcadores de tiempo de espera locales en el campo de estado de pago.

Referencia de transición validada#

Las siguientes transiciones coinciden con la máquina de estado central de Pagos. Se omite la entrega repetida del mismo estado salvo aceptación expresa. Una transición enumerada no garantiza que cada procesador o método de pago admita la operación correspondiente.

Estado actualPróximos estados permitidos
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; para flujos de recuperación de captura pendientes soportados: 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
voidedNinguno (terminal)
refundedNinguno (terminal)
expiredNinguno (terminal)

La conciliación del archivo de liquidación puede permitir transiciones de recuperación adicionales mientras DEUNA concilia el resultado de un procesador externo. Estas transiciones no cambian el significado público de los estados.

Algunos perfiles de procesadores pueden aceptar un reembolso mientras una captura asíncrona aún está pendiente. En este flujo, DEUNA puede cancelar o revertir la captura pendiente y reembolsar la autorización original, lo que permite las transiciones adicionales enumeradas para capturing. No inicie este flujo a menos que DEUNA haya confirmado el soporte para la conexión del procesador.

Maneja las actualizaciones de forma segura#

  1. Verifique cada notificación con el método de verificación de webhook configurado.
  2. Identifique el pago y la operación relacionada antes de cambiar de estado local.
  3. Almacene el estado reportado, monto confirmado, moneda, identificador de operación y referencias de proveedores.
  4. Procese notificaciones repetidas de forma idempotente. No realice la deduplicación únicamente por estado.
  5. Mantenga el cumplimiento bloqueado para estados transitorios, de revisión o desconocidos.
  6. Concilie los resultados faltantes o contradictorios a través del flujo de recuperación de pagos admitido.

Un tiempo de espera de HTTP, una respuesta perdida o un webhook tardío no prueban denied o expired. Seguir orientación de solicitud idempotente, recuperar el pago y distinguir un reintento de la misma solicitud de un nuevo intento de pago.