Asegurar entradas ocultas en Paypal

1

Estoy intentando crear un sistema que acepte pagos a través de Paypal. He logrado crear uno usando una cuenta de sandbox. El proceso del sistema es que seleccionarán un producto (proveniente de mi base de datos), hagan clic en el botón "Comprar" de su producto preferido y luego redireccionan al usuario a Paypal. Después de pagar con éxito, realizará una Notificación de pago instantánea (IPN) que insertará el ID de transacción, junto con el ID del producto (entrada oculta), el estado, el precio, la moneda, etc. en mi base de datos MySQL. Todo va bien.

Pero mi problema es que si un usuario malintencionado edita los campos de entrada ocultos, puede alterar los datos del producto que comprará (ID del producto, precio, etc.). Así que intenté crear un botón que Paypal sugiere (botón cifrado) , en el cual tiene que ingresar los productos en Paypal junto con su ID de producto correspondiente de mi base de datos, eso si lo piensa, es tedioso y no es un enfoque convencional. ¿O simplemente entendí mal el tutorial?

¿Algún enfoque mejor?

    
pregunta Logan Wayne 02.02.2017 - 07:44
fuente

1 respuesta

1

Estás pensando que toda la solución está mal. Los botones alojados están diseñados para los casos en los que tiene algunos productos.

Mi sugerencia, use la variable de paso "personalizada", donde el servidor crea un MAC u otro hash con clave sobre el producto, el estado, el precio, la moneda y la IP del usuario.

Esto se incrusta en Custom. En el extremo del receptor, usted valida el MAC antes de tratar el pago como válido.

Incluso si manipulan el precio, por ejemplo, el MAC resultante no se validará, y usted sabe que el pago ha sido manipulado. Por lo tanto, puede hacer un reembolso automático o validar los valores con mayor dificultad, por ejemplo, buscando el precio en la base de datos y asegurándose de que todo coincida.

    
respondido por el sebastian nielsen 02.02.2017 - 08:28
fuente

Lea otras preguntas en las etiquetas