vídeo tiendas proceso las ejemplos desarrollo desarrollar con compras compra comerciales carritos carrito caracteristicas security paypal

security - tiendas - ¿Cómo puedo evitar que los usuarios anulen el costo total en un carrito de compras cuando se envía como un campo de entrada oculto?



ejemplos de carritos de compra web (3)

Tengo serios problemas para aceptar pagos.

Estoy pasando la cantidad total en un campo oculto

<input type="hidden" name="checkout-flow-support.merchant-checkout-flow-support.shipping-methods.flat-rate-shipping-1.price" value="129.00"/>

Algunos de los usuarios cambiaron este valor a 2 usando Firebug y enviaron el formulario. En lugar de recibir $ 129, solo recibimos $ 2.

No tengo idea de cómo proceder, alguien me ayude rápido.


estoy pasando la cantidad total en un campo oculto

No hagas esto!

Como sabe qué elementos está intentando comprar el usuario, calcule el lado del costo del servidor.


Con los proveedores de servicios de pago (PSP), la configuración general de comunicación suele ser algo como:

1) Su servidor se comunica con la PSP y configura la transacción, especificando la cantidad requerida y los detalles de su cuenta de PSP.

2) El PSP responde con un identificador de transacción, que luego agrega al formulario. Este identificador de transacción no contiene información sobre los precios involucrados; es simplemente un identificador del registro de transacciones que su servidor configuró con la PSP.

3) El visitante rellena el formulario que se envía a la PSP. Luego redireccionan al visitante a su sitio.

4) Su servidor consulta el servidor de PSP y verifica que la transacción tuvo éxito (es decir, el método de pago de los visitantes aprobó la transacción con el PSP, etc.)

La comunicación de servidor a PSP normalmente se realiza utilizando una biblioteca como curl.

Google proporciona una serie de bibliotecas / ejemplos sobre cómo procesar correctamente las transacciones (y la mayoría de los demás PSP hacen lo mismo, en mi experiencia): http://code.google.com/apis/checkout/samplecode.html

Los detalles exactos de comunicación pueden variar según el PSP, pero básicamente no debería haber ninguna necesidad de que la "cantidad total" pase por el formulario que se muestra al visitante. Todo se hace de servidor a servidor para que el visitante no pueda cambiar los detalles.


Este es un error de libro de texto, análogo a preguntarle a un cliente en una tienda física cuánto cuesta el artículo y confiar en esa respuesta. Es un caso especial del principio de seguridad general: no confíe en el cliente. La respuesta de Hobodave es correcta; calcular precios, impuestos, etc. del lado del servidor.