Resumen clave
La indicación más peligrosa a la hora de delegar la función de pago a la IA es limitarse a pedirle simplemente «añade el pago». El pago no es un código para recibir dinero, sino un sistema de operaciones, contabilidad y atención al cliente que se encarga del flujo de dinero.
Técnicamente, la IA puede implementar rápidamente la integración de la ventana de pago, la llamada a la API de autorización, la recepción de webhooks y el almacenamiento de pedidos. Sin embargo, si no se establecen las siguientes políticas, en el servicio real pueden surgir problemas como pedidos fantasma, pagos duplicados, retrasos en los reembolsos, saturación del servicio de atención al cliente y omisión de avisos legales.
| Área de decisión | Preguntas que hay que definir de antemano | Riesgos en caso de fallo |
|---|---|---|
| Estado del pedido | ¿Qué etapas sigue el pedido en orden cronológico? | Aparecen pedidos fantasma en los que se ha realizado el pago pero no existe el pedido |
| Plazo de reembolso | ¿Cómo se reflejarán los plazos de desistimiento y tramitación de reembolsos? | Incumplimiento de los plazos legales, intereses de demora, riesgo de litigios |
| Reembolso parcial | ¿Cómo se calcularán las devoluciones parciales de productos, los cupones y los gastos de envío? | Cálculo manual por parte del operador en cada caso, desconfianza de los clientes |
| Doble pago | ¿Cómo se evitará que se registre un pago dos veces en el mismo pedido? | Quejas de los clientes basadas en el extracto de la tarjeta, pérdida de confianza |
| Notificaciones de error | ¿Cómo se notificarán los casos de límite superado, saldo insuficiente o fallo en la autenticación? | Disminución de la tasa de conversiones por reintentos, aumento de consultas innecesarias |
| Historial de pagos | ¿Dónde puede el cliente consultar el estado de sus pagos y reembolsos? | Aumento de las consultas al servicio de atención al cliente, falta de transparencia en el estado |
| Aviso de reembolso | ¿Dónde se colocan las normas de reembolso y el botón de cancelación? | Polémica sobre los «patrones oscuros», riesgo de regulación |
1. Diseño del estado de los pedidos: el estado es el lenguaje operativo
Al crear una función de pago, no basta con establecer un único estado de pedido, como «Pedido completado». En la práctica, un pedido pasa por varias etapas, como intento de pago, autorización, cancelación, reembolso, fallo o caducidad.
Ejemplos de estados recomendados
| Ejemplos de códigos de estado | Estado visible para el cliente | Significado |
|---|---|---|
payment_pending |
Pago pendiente | El pedido se ha creado, pero el pago no se ha completado |
paid |
Pago completado | La autorización del pago se ha completado y el pedido es válido |
payment_failed |
Pago fallido | El intento de pago ha fallado y hay que determinar si es posible volver a intentarlo |
cancel_requested |
Solicitud de cancelación | El cliente ha solicitado la cancelación y está pendiente de tramitación |
cancelled |
Cancelación completada | Se ha completado la cancelación del pedido antes del pago o la revocación de la autorización |
refund_requested |
Solicitud de reembolso | Se ha recibido una solicitud de reembolso tras el pago |
refund_processing |
Reembolso en curso | Se está tramitando la autorización del reembolso o la devolución al medio de pago |
partially_refunded |
Reembolso parcial completado | Solo se ha reembolsado una parte del importe del pedido |
refunded |
Reembolso completado | Se ha completado el reembolso |
expired |
Pedido caducado | El pedido ha caducado al haber vencido el plazo de pago |
Principios de diseño de estados
- No se considera que el estado del pedido y el estado del pago sean exactamente lo mismo. Un pedido puede existir aunque el pago haya fallado, y un pago puede haber sido autorizado aunque el pedido no se haya guardado.
- Cada cambio de estado debe incluir la hora en que se produjo, quién lo gestionó, el motivo, el identificador de la transacción de pago y el identificador de la transacción de reembolso.
- Las pantallas de los clientes, las pantallas de los administradores y los mensajes de atención al cliente deben utilizar la misma definición de estado.
- Las transiciones de estado se diseñan de forma unidireccional, y la recuperación de excepciones se gestiona mediante registros con permisos de administrador específicos.
2. Desistimiento del contrato y plazo legal de reembolso: no se trata de una política, sino de un requisito legal
Si se opera en el comercio electrónico dirigido a consumidores en Corea, se debe tener en cuenta la Ley de Protección del Consumidor en el Comercio Electrónico, entre otros ámbitos. Por lo general, el consumidor puede desistir del contrato dentro de un plazo determinado, y el empresario debe reembolsar el importe en el plazo establecido tras la solicitud de reembolso o el procedimiento de devolución.
Los criterios especialmente importantes en la práctica son los siguientes:
- En principio, el consumidor puede desistir del contrato en un plazo de 7 días a partir de la fecha establecida por la ley, como la fecha de recepción de los bienes.
- El comerciante debe reembolsar el importe dentro del plazo legal una vez que se haya producido el motivo del reembolso; en caso de retraso, pueden surgir cuestiones relacionadas con indemnizaciones por demora o intereses de demora.
- Pueden existir excepciones en el caso de contenidos digitales, productos fabricados a medida o productos cuyo valor disminuya notablemente con el uso; sin embargo, para aplicar dichas excepciones, es necesario comprobar cuidadosamente los requisitos, como la notificación previa y el consentimiento.
- La aplicación práctica puede variar en función del tipo de producto, la modalidad del contrato, la información facilitada al consumidor y si se ha iniciado o no el uso, por lo que es necesario un análisis jurídico.
Cómo convertirlo en requisitos de desarrollo
No basta con incluir los criterios legales únicamente en la redacción de las condiciones generales. También deben traducirse en requisitos del sistema.
| Requisitos legales y normativos | Requisitos del sistema |
|---|---|
| Determinación de la posibilidad de desistimiento en un plazo de 7 días | Cálculo automático del plazo de reembolso a partir de la fecha de recepción del pedido o de prestación del servicio |
| Necesidad de tramitar el reembolso en un plazo de 3 días hábiles | Visualización en el panel de administración de la fecha de solicitud de reembolso y la fecha límite de tramitación |
| Riesgo de retraso en el reembolso | Visualización de notificaciones de plazo inminente o vencido |
| Necesidad de notificar los productos excepcionales | Indicar claramente antes del pago que se trata de un producto con restricciones de reembolso y guardar el registro de consentimiento |
| Necesidad de gestionar disputas | Conservar la versión de los términos y condiciones, la hora de la notificación, la hora del consentimiento, la IP del cliente o el registro de la cuenta |
3. Normas de reembolso parcial: definir previamente los cupones, los gastos de envío y los impuestos
Los reembolsos parciales son mucho más complejos que las cancelaciones totales. Si se pide varios productos a la vez y solo se devuelve una parte, hay que decidir cómo repartir el descuento y los gastos de envío aplicados originalmente.
Aspectos que hay que definir obligatoriamente
- ¿Cómo se distribuirá el importe del pago por producto?
- ¿Se distribuirá el cupón de todo el pedido de forma proporcional por producto?
- ¿Se aplicará el cupón de un producto concreto únicamente a dicho producto?
- ¿Se deducirán los gastos de envío si no se cumplen las condiciones de envío gratuito?
- ¿Cómo se distinguirán los gastos de envío de las devoluciones por simple cambio de opinión de los de las devoluciones por defectos del producto?
- ¿En qué orden se reembolsarán los pagos realizados con puntos, saldo acumulado y tarjetas regalo?
- ¿Cómo se modificarán los datos de la factura fiscal, el recibo de caja y el recibo tras un reembolso parcial?
Ejemplo de cálculo de un reembolso parcial
| Concepto | Importe |
|---|---|
| Producto A | 30 000 won |
| Producto B | 70 000 won |
| Cupón del pedido completo | -10 000 won |
| Importe real pagado | 90 000 won |
Si se distribuye el cupón en proporción al importe de cada producto, se aplicará un descuento de 3.000 won al producto A y de 7.000 won al producto B. En este caso, si solo se reembolsa el producto A, el importe de referencia para el reembolso no será de 30.000 won, sino de 27.000 won. Si existen condiciones de envío gratuito, gastos de devolución o restricciones de reembolso según la forma de pago, el importe final del reembolso puede variar aún más.
No hay una única respuesta correcta. Lo importante es establecer de antemano unas normas coherentes e informarlas de manera que el cliente las comprenda antes de realizar el pago o de solicitar el reembolso.
4. Prevención de pagos duplicados: no basta con desactivar el botón
El pago duplicado es el error de pago que los clientes detectan más rápidamente. Los clientes ven primero el mensaje de autorización de la tarjeta y el extracto de la tarjeta, antes que el estado del pedido en el servicio. Si se cobra dos veces por el mismo pedido, la confianza se ve muy mermada.
Causas
- El cliente hace clic varias veces seguidas en el botón de pago.
- Actualiza la página o pulsa «Atrás» inmediatamente después del pago.
- Se reenvía la misma solicitud debido a un retraso en la red móvil.
- La respuesta de autorización del pago se ha realizado con éxito, pero el almacenamiento en el servidor del servicio ha fallado.
- El webhook y la redirección del cliente modifican simultáneamente el estado del pedido.
Diseño de medidas de protección
| Mecanismo de protección | Descripción |
|---|---|
| Bloqueo del botón del cliente | Impide que se vuelva a hacer clic en el botón de pago tras el primer clic, pero se utiliza solo como medida complementaria |
| Bloqueo de pedidos en el servidor | Se gestiona para que no se ejecuten simultáneamente solicitudes de autorización de pago para el mismo ID de pedido |
| Clave de idempotencia | Se utiliza un identificador que garantiza que, aunque se envíe la misma solicitud de pago varias veces, el resultado solo se genere una vez |
| Número de transacción único | Evita el almacenamiento duplicado del número de pedido y del número de transacción de pago mediante restricciones de la base de datos |
| Validación basada en el estado | Impide que se envíen solicitudes de autorización adicionales a pedidos que ya estén en estado «paid» |
| Procesamiento de duplicados de webhooks | Garantiza que, aunque se reciba el mismo evento de webhook varias veces, el cambio de estado solo se produzca una vez |
Al solicitar un código de pago a la IA, es recomendable especificar que «la aprobación y la finalización del pago de un mismo pedido deben funcionar de forma idempotente», en lugar de centrarse en «evitar clics duplicados».
5. Mensaje de aviso de fallo en el pago: el fallo no es un incidente, sino parte del flujo normal
Los fallos en el pago son situaciones normales que se producen a diario. El exceso de límite, el saldo insuficiente, el fallo en la autenticación de la tarjeta, el error en la contraseña, el fallo en la autenticación 3D Secure, la falta de respuesta de la aplicación de pago simplificado y los errores de red son casos muy habituales.
Un mensaje inadecuado es aquel que termina con «Se ha producido un error». El cliente no sabe si el pago se ha realizado, si puede volver a intentarlo o si el pedido se ha cancelado.
Ejemplos de mensajes de aviso
| Situación | Mensaje recomendado |
|---|---|
| Saldo insuficiente | El pago no se ha completado porque el saldo del medio de pago es insuficiente. Selecciona otro medio de pago o comprueba el saldo y vuelve a intentarlo. |
| Límite superado | El pago ha fallado porque se ha superado el límite de la tarjeta o el límite por transacción. Comprueba el límite en la aplicación de la entidad emisora de la tarjeta o realiza el pago con otra tarjeta. |
| Fallo en la autenticación | La autenticación del pago no se ha completado, por lo que el pedido permanece en estado de espera de pago. Podrá volver a realizar el pago en un plazo de 30 minutos. |
| Error de red | Se está produciendo un retraso en la confirmación del resultado del pago. Para evitar pagos duplicados, compruebe el historial de pagos más tarde. |
| Pedido caducado | El tiempo de espera para el pago ha expirado y el pedido ha caducado. Vuelve a seleccionar los productos y realiza el pedido de nuevo. |
Elementos clave de los mensajes de error
- Indica claramente si el pago no se ha completado realmente.
- Informa del tiempo durante el que se mantiene el pedido.
- Indica si se puede volver a intentar o si es necesario utilizar otro método de pago.
- Muestra el número de pedido necesario para ponerse en contacto con el servicio de atención al cliente.
- Si el resultado del pago es incierto, no se debe instar a realizar un nuevo pago de forma incondicional, sino indicar que se está comprobando.