Playbook
Runbook y proceso de recuperación de pagos (Runbook Y Proceso DE Recuperacion DE Pagos)
Antes de la automatización: trabajador de reconciliación y canal de recuperación. Los runbooks humanos basados en evidencia entran en juego cuando los muros de singularidad impiden la repetición.
Motor de pago distribuido
Parte 19 de 22
Una serie de arquitecturas de pago distribuidas que cierran la brecha entre la captura y la finalización.
En la sección anterior, vimos cómo la correlación con la identificación de pago, el registro de eventos de pasos y las métricas de finalización diferida alimentan la operación. Esta sección analiza el proceso de recuperación que se basa en esa visibilidad: ¿qué puede hacer primero el sistema por sí solo cuando un pago se atasca y cuándo interviene el ser humano?
El principio de un buen proceso de recuperación es simple: la automatización primero. Trabajador de reconciliación, observador atascado, trabajador de reintento: estos eliminan la mayoría de las derivas sin requerir intervención humana. Los runbooks humanos solo entran en juego cuando la automatización choca contra muros de singularidad o evidencia ambigua.```text Ödeme takıldı → otomatik: reconciliation scan → otomatik: retry with backoff → otomatik: PSP status query → insan: uniqueness wall / ambiguous evidence
## Conceptos en la primera mención```text
📦 Recovery Pipeline
Takılan veya tutarsız ödemeleri otomatik olarak teşhis edip düzeltmeye çalışan ardışık işlem hattı.
📦 Uniqueness Wall
Veritabanı benzersizlik kısıtının, güvenli replay veya heal girişimini engellediği durum.
📦 Evidence-Driven Runbook
Her adımın hangi kanıta (step log, PSP sorgusu, audit) dayandığını tanımlayan operasyon kılavuzu.
📦 Manual Review Queue
Otomasyonun çözemediği kayıtların biriktiği, görünür bekleme alanı.
```Runbook responde a la pregunta "qué hacer"; El runbook basado en evidencia responde a la pregunta "¿Qué no se puede hacer sin evidencia?"
## Antes de la automatización: capas de canalización de recuperación
El proceso de recuperación no es un solo trabajador, sino capas que se complementan entre sí. Cada capa aborda lo que la anterior no pudo resolver; Ninguno debería intentar hacer el trabajo del otro.```text
Katman 1: Retry worker
→ transient hataları backoff ile tekrar dener
Katman 2: Stuck watcher
→ lease süresi dolmuş, Processing'de kalan kayıtları sıfırlar
Katman 3: Reconciliation sweeper
→ aged FinalizePending / Expired kayıtları PSP ile karşılaştırır
Katman 4: Manual review queue
→ otomasyonun çözemediği kayıtlar
```Los niveles 1 a 3 son completamente automáticos y suficientes para la mayor parte del día. La capa 4 no es la falla del oleoducto, sino la visibilidad de sus límites.
## Muro de singularidad: donde termina la automatización
Un trabajador de conciliación ve "Exitoso" del PSP e intenta crear el registro local `Captured`, pero ya hay una fila `Captured` con la misma clave de idempotencia en la base de datos. La inserción o actualización falla; la automatización se detiene.```text
Reconciliation: payment #5521 → PSP says Captured
→ local UPDATE attempt
→ UNIQUE constraint violation on idempotency_key
→ otomasyon durur
→ manual review queue'ya yaz
```Esto no es un error, es un mecanismo de protección. El muro de singularidad evita la doble finalización, pero también evita que la automatización diga "Resolví el problema". Aquí es donde entra en juego el runbook basado en evidencia.
## Runbook basado en evidencia: procedimiento, no reflejo
Cuando se requiere intervención humana, el runbook sigue este orden:```text
1. Step event log'u oku (payment id ile)
2. PSP status query yap (provider gateway üzerinden)
3. Local kayıtları karşılaştır (payment, order, idempotency)
4. Kanıt tablosunu doldur
5. Karar: heal / refund / no-action
6. Audit kaydı yaz
```Cada punto de decisión en el runbook requiere una prueba. 'PSP dice Capturado pero local Caducado' → curar candidato. 'PSP no encontrada, procesamiento local' → no es candidato para reembolso, espera o escalamiento. 'Dos líneas capturadas, clave de idempotencia diferente' → doble cargo, reembolso uno.
## Cola de revisión manual: espera visible
Los registros que la automatización no puede resolver no deberían desaparecer silenciosamente. La cola de revisión manual es un área visible donde estos registros se acumulan, envejecen y se priorizan.
| Área | Propósito |
| --- | --- |
| ID de pago | Correlación |
| atascadoRazón | SingularidadMuro / Evidencia ambigua / PSPDesconocido |
| evidenciaResumen | Registro de pasos + resumen de consultas de PSP |
| ibídem | ¿Cuánto tiempo lleva esperando?
| prioridad | Importe, reclamación del cliente, SLA |
Cada registro de la cola debe coincidir con un paso del runbook; El operador debería poder leer la pregunta "qué hacer" en la cola.
## Ejemplo de Runbook: después del muro de unicidad```text
Durum: reconciliation Captured yazamadı — idempotency_key conflict
Kanıt toplama:
□ Step log: FinalizeAttempted iki kez mi?
□ Mevcut Captured satırı hangi webhook'tan geldi?
□ PSP query: kaç charge var bu correlation id ile?
Karar ağacı:
→ Tek PSP charge, local çift satır → eski satırı audit ile kapat
→ İki PSP charge → birini refund et (runbook: duplicate charge)
→ PSP charge yok → local Captured yanlış → escalate
Distinciones frecuentemente confusas```text
❌ Manual review queue = otomasyon başarısız oldu ✓ Manual review queue = otomasyonun sınırı görünür ve güvenli
❌ Runbook = deneyimli mühendisin sezgisi ✓ Runbook = kanıt tabanlı, tekrarlanabilir prosedür
❌ Uniqueness wall kaldırılmalı ✓ Uniqueness wall korunmalı; runbook duvarın ötesini yönetir
| Estado | Automatización | Runbook humano |
| --- | --- | --- |
| Tiempo de espera transitorio | Reintentar trabajador | No necesario |
| Envejecido FinalizarPendiente | Reconciliación | No necesario |
| Conflicto de idempotencia | Se detiene y escribe en la cola | Reúna pruebas, decida |
| Respuesta ambigua de PSP | Se detiene y escribe en la cola | Escalar o esperar |
## Lista de verificación del proceso de recuperación
1. ¿Las capas de reintento, observador atascado y reconciliación funcionan de forma separada y secuencial?
2. ¿La infracción de la restricción de unicidad se escribe automáticamente en la cola de revisión manual?
3. ¿Cada paso del runbook define claramente qué evidencia requiere?
4. ¿Los registros en la cola de revisión manual están ordenados por edad y prioridad?
5. ¿Es obligatorio el registro de auditoría y la entrada del registro de eventos de pasos después de la intervención humana?
6. ¿Se realiza un seguimiento métrico de la tasa resuelta mediante la automatización (automation_solving_rate)?
## Lo que debes recordar de este artículo
1. El proceso de recuperación se basa en el primer principio de automatización; el hombre es el último recurso.
2. La singularidad del muro detiene la automatización: esta protección no es un error.
3. El runbook debe estar basado en evidencia; La acción refleja es peligrosa.
4. La cola de revisión manual evita que los registros no resueltos desaparezcan silenciosamente.
> Un buen proceso de recuperación no intenta reducir la intervención humana a cero: la limita al momento adecuado, a la evidencia adecuada y al procedimiento correcto.
En la siguiente sección, llegamos a la capa de mensajería: exactamente una vez es mentira; ¿Cómo conseguir resultados efectivos una vez trabajados con una defensa en profundidad?
FAQ
Frequently asked questions
¿Qué es el proceso de recuperación?
Canalización que diagnostica e intenta automáticamente solucionar pagos estancados o inconsistentes.
¿Qué es el Muro de la Singularidad?
Una situación en la que una restricción de unicidad de la base de datos impide la reproducción segura o los intentos de reparación.
¿Es correcto "Cola de revisión manual = error de automatización"?
Cola de revisión manual = límite de automatización visible y seguro
¿Qué soluciona esta sección?
El principio de un buen proceso de recuperación es simple: **la automatización primero**. Trabajador de reconciliación, observador atascado, trabajador de reintento: estos eliminan la mayoría de las derivas sin requerir intervención humana. Los runbooks humanos solo entran en juego cuando la automatización choca contra muros de singularidad o evidencia ambigua. El proceso de recuperación se basa en el primer principio de automatización; el hombre es el último recurso. En la sección anterior, vimos cómo la correlación con la identificación de pago, el registro de eventos de pasos y las métricas de finalización diferida alimentan la operación. Esta sección analiza el proceso de recuperación que se basa en esa visibilidad: ¿qué puede hacer primero el sistema por sí solo cuando un pago se atasca y cuándo interviene el ser humano?
Principios de ingeniería aprendidos
- La tubería de recuperación funciona capa por capa con el principio de automatización primero.
- La singularidad es el mecanismo de protección del muro; runbook va más allá de la pared.
- El runbook debe estar basado en evidencia; La acción refleja es peligrosa.
Continuar leyendo
Continuar leyendo
Siguiente en la serie
Procesamiento de pagos efectivo una sola vez
Enviar mensajes exactamente una vez es una mentira. ¿Cómo lograr resultados comerciales efectivos cuando se combina la defensa en profundidad con…
Siguiente en la serie
Observabilidad y correlación de pagos
¿Cómo correlacionar cada registro, métrica y seguimiento con la identificación de pago? ¿Cómo el registro de eventos paso a paso y las métricas de…
Misma serie
Diseño de un motor de pago de producción
Síntesis de la serie de 22 partes: lista de verificación arquitectónica para motor de pagos de producción con orquestador de pago y puerta de enlace de…