Skip to content

fix(payments): reduce Webpay commit data exposure #4

@tomiloki

Description

@tomiloki

Descripcion

POST /api/webpay/commit/ permite commit sin autenticación usando token_ws y devuelve información de la orden. El flujo puede ser válido para Webpay, pero la respuesta debe minimizar exposición si el endpoint es público.

Pasos para reproducir

  1. Revisar backend/api/webpay_views.py.
  2. Observar authentication_classes = [] y permission_classes = [AllowAny].
  3. Observar que la respuesta incluye order.

Comportamiento esperado

Un endpoint público/token-based debe devolver solo lo necesario para confirmar el resultado del pago.

Comportamiento actual

El endpoint devuelve payload de orden completo asociado al token.

Evidencia

WebpayCommitView usa AllowAny y serializa OrderSerializer(order).

Entorno

  • Branch: main
  • Commit: pendiente
  • Navegador: N/A
  • SO: Windows

Criterios de aceptacion

  • Mantener compatibilidad con el flujo Webpay sandbox actual.
  • Reducir payload de respuesta pública a estado, order id, monto y resultado de pago mínimo.
  • No exponer datos innecesarios del usuario/productos desde commit anónimo.
  • Agregar test backend para respuesta mínima.
  • Actualizar frontend checkoutSuccess si depende del payload completo.
  • Actualizar docs/API.md.

Riesgos o dependencias

  • Puede requerir que frontend cargue detalle de orden autenticado después del commit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority:mediumImportant but not immediately blockingstatus:approvedApproved for implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions