Puntos clave

  • Pruebe la entrada manual, el autocompletado del navegador y las sugerencias de direcciones
  • Volver a calcular las fechas de envío, impuestos y entrega después de la corrección
  • Permitir que las direcciones de facturación y envío diverjan
  • Hacer idempotente el envío del pedido final

Autoría y revisión

Principios editoriales
Escrito por
Equipo editorial del generador de direcciones aleatorias
Revisado por
Equipo de revisión de formularios y control de calidad
Última actualización sustancial
Se agregó corrección de dirección, recálculo de envío, separación de facturación, envío idempotente y casos móviles.

La entrada de dirección tiene múltiples rutas

Cubre la entrada del teclado, el autocompletado del navegador, el pegado de varias líneas, las sugerencias y las direcciones guardadas. Cada ruta debe producir un contrato API conservando los detalles del país y la unidad.

Un tiempo de espera de sugerencia no debe bloquear la entrada manual válida. Explique que el comprador puede continuar en lugar de quedar atrapado en una lista vacía.

Caminoaserción centralFallo común
manualesEnviar sin sugerenciaForzar una elección de lista
Autocompletar del navegadorSe activan todas las actualizaciones de estado dependientesLos valores completados todavía se consideran vacíos
sugerenciaTrabajo de teclado y lector de pantalla.Interacción solo con el mouse
Dirección guardadaSe recalcula la cotización de envíoLa cita anterior permanece

Mantenga al comprador en control de las correcciones

Muestre las direcciones ingresadas y sugeridas una al lado de la otra, resalte los cambios y permita el original. Nunca elimine silenciosamente el nombre de un apartamento o edificio.

Pruebe aceptar, retener, reabrir, tiempo de espera y falta una sugerencia en la línea 2.

Recalcular métodos de envío, impuestos y entrega

Una edición de país, región o código postal puede invalidar los métodos y cambiar el envío, los impuestos, los umbrales y las fechas. Bloquee el envío final hasta que llegue la nueva cotización.

Las ediciones rápidas crean cotizaciones simultáneas. Aplique solo el resultado que coincida con la última versión de la dirección.

  • Borrar métodos no válidos después del cambio de país
  • Actualizar el envío y los impuestos juntos
  • Ignorar respuestas de citas obsoletas
  • Preservar el carrito y la dirección después del fallo

La facturación y el envío necesitan copias editables independientes

Lo mismo que el envío puede crear una copia, pero los dos no deben compartir un objeto mutable. Editar la facturación después de desmarcar no debe alterar el envío.

Utilice el entorno de pruebas del proveedor de pagos y activadores documentados en lugar de datos aleatorios para verificar las direcciones de checkout.

shippingAddress = structuredClone(selectedAddress);
billingAddress = sameAsShipping
  ? structuredClone(shippingAddress)
  : enteredBillingAddress;

Haga que el envío final sea idempotente y tome una instantánea de la dirección

Los dobles clics, los reintentos de tiempo de espera y la navegación hacia atrás desde el fixture móvil pueden repetir una solicitud. Deshabilite las acciones repetidas de la interfaz de usuario y utilice una clave de idempotencia del lado del servidor.

Almacene la instantánea de la dirección confirmada y la versión de la cotización en el pedido en lugar de hacer referencia únicamente a una entrada editable de la libreta de direcciones.

La cobertura móvil debe incluir el teclado del software que oculta la acción principal, pone en segundo plano y restaura la página, y regresa de una autorización de pago externa. Al reanudar, consulte el pedido existente o la solicitud idempotente antes de enviar otra operación de creación.

Audite un pedido cuya dirección cambió dos veces durante el proceso de pago. Su instantánea debe contener la versión final confirmada, su cotización de envío debe pertenecer a esa versión y una edición posterior en la libreta de direcciones del comprador no debe reescribir el pedido histórico.

Pruebe también el error ambiguo: el navegador agota el tiempo de espera después del envío, pero el servidor ya ha creado el pedido. Un reintento con la misma clave debe devolver el resultado original en lugar de volver a cobrar o reservar inventario dos veces. Las herramientas de soporte deben exponer la clave de solicitud, la versión de la dirección y el identificador del pedido sin exponer la dirección completa en los registros de rutina. Esto hace que la recuperación sea comprobable y al mismo tiempo limita el acceso innecesario a datos personales.

  • Simule doble clic, reintento de tiempo de espera y devolución de pago
  • Consultar el estado idempotente después de la restauración de la página
  • Haga coincidir la dirección del pedido y las versiones de cotización
  • Reabrir el historial después de editar la libreta de direcciones

Preguntas frecuentes

¿Una interrupción de sugerencia debería bloquear el pago?

No necesariamente. Dependiendo del riesgo, permita la confirmación manual y marque la dirección como no verificada.

¿Qué cambia después de editar un código postal?

Vuelva a calcular los métodos de entrega, los costos de envío, las fechas y los impuestos relevantes, ignorando las respuestas obsoletas.

¿Desactivar el botón evita pedidos duplicados?

No del todo. El servidor también necesita una clave de idempotencia o una protección de reintento equivalente.

Fuentes y lecturas

  1. MDN: Autocompletar formulario de dirección
  2. W3C WAI: Notificación de error de formulario