Garantizar la integridad de los intercambios
La integridad de la información intercambiada está garantizada por un intercambio de firmas alfanuméricas entre la plataforma de pago y el sitio web vendedor.
El diálogo entre la plataforma de pago y el sitio web vendedor se realiza mediante el envío de formularios HTML.
Un formulario contiene una lista de campos específicos (ver capítulo Generar un formulario de pago) utilizados para generar una cadena.
Este string se convierte luego en un string más pequeño mediante una función hash (HMAC-SHA-256).
El string resultante se llama el resumen (digest en inglés) del string inicial.
El resumen debe transmitirse en el campo de firma (consulte el capítulo Calcular la firma).
Modelado de mecanismos de seguridad:
- El sitio web vendedor construye los datos del formulario y calcula la firma.
- El sitio web vendedor envía el formulario a la plataforma.
- La plataforma recibe los datos del formulario y calcula la firma con los datos recibidos.
- La plataforma compara la firma calculada con la firma transmitida por el sitio web vendedor.
- Si las firmas difieren, la solicitud de pago es rechazada.
De lo contrario, la plataforma procede al pago.
- La plataforma construye los datos de respuesta y calcula la firma de la respuesta.
- Según la configuración de la tienda (ver capítulo Configurar notificaciones), la plataforma transmite el resultado del pago al sitio del comerciante.
- El sitio web vendedor recibe los datos y calcula la firma. Compara la firma calculada con la firma transmitida por la plataforma.
- Si las firmas difieren, el vendedor analiza el origen del error (error en el cálculo, intento de fraude, etc.)
De lo contrario, el sitio web vendedor actualiza su base de datos (estado del stock, estado del pedido, etc.).