Después del pago: convierte cada cobro en un servicio entregado

El pago llegó, pero el cliente sigue esperando
Un cliente paga 100 USDT por una membresía. El checkout muestra el pago confirmado, pero el acceso no se activa. La interrupción puede estar en la notificación, la asociación del pedido o la entrega del beneficio.
Registra tres resultados distintos: pago confirmado, notificación recibida de forma confiable y servicio entregado. Así soporte puede explicar el progreso y el sistema puede retomar una tarea interrumpida.
Separa el pago de la entrega
El estado del pago describe el resultado del cobro. El estado de entrega describe la acreditación de saldo, la activación de una membresía o el envío de un producto digital. Mantén estados y fechas independientes.
Si la activación falla después de confirmar el pago, muestra “Pagado, activación en proceso”. Conserva la confirmación y la tarea pendiente. No regreses el pedido a pendiente de pago ni pidas al cliente que pague otra vez.
Recibe de forma confiable antes de entregar
Verifica la firma según la documentación de UUGate y valida la pertenencia del pedido, activo, red, importe y estado. Una redirección del navegador o una captura de transferencia no reemplaza la verificación del servidor.
Guarda de forma persistente el evento validado y la tarea antes de responder según la documentación. La entrega más lenta puede ejecutarse después. Un evento que solo está en memoria puede perderse al reiniciar el servicio.
Un pedido debe producir un solo resultado
Las notificaciones pueden repetirse. Usa una restricción única que combine comercio y pedido, junto con transacciones o actualizaciones condicionales, para evitar créditos, envíos o extensiones de membresía duplicados.
Al llamar a un servicio externo, conserva un identificador de idempotencia estable y su respuesta. Un tiempo de espera agotado no demuestra un fallo: consulta el resultado anterior o usa la idempotencia del proveedor antes de reintentar.
Define el siguiente paso para cada excepción
Mantén una lista consultable de pedidos pagados sin entregar, con último error, fecha del intento y resultado. Distingue fallos temporales de pedidos o importes que requieren revisión.
Relaciona el pedido de plataforma, el pedido del comercio, el hash y la entrega. La recuperación manual debe usar la misma deduplicación y auditoría. Concilia por separado el saldo real en cadena y la cuenta de tarifas; los registros de entrega no son la fuente de saldo.
Prueba las interrupciones antes del lanzamiento
- Un pago normal entrega el servicio una sola vez.
- Las notificaciones duplicadas no duplican créditos ni envíos.
- Las tareas guardadas sobreviven a un reinicio.
- Un timeout externo se resuelve sin duplicar la entrega.
- Un pago confirmado con entrega fallida muestra el procesamiento y una forma de consultar el avance.
UUGate proporciona pagos y notificaciones; la aplicación del comercio convierte los resultados verificados en su servicio. La prueba termina cuando el cliente recibe lo prometido.
Documentación de UUGate · Recuperación de webhooks
Referencia general: Documentación de webhooks de Stripe. Para firmas, campos y respuestas de UUGate, consulta su propia documentación.