Estoy probando la API de stripe y me pregunto cómo evitar que el usuario cambie los precios por código HTML y/o javascript.
Como puede ver en mi código, cualquier persona con un poco de conocimiento de codificación podría cambiar el valor del precio en la entrada #price, casillas de verificación de entrada, o incluso cambiarlo directamente en la consola con $("#price").val(some_value);
CÓDIGO DE MUESTRA HTML
<form id="articles_form"> <div> <div> <label for="one_article">One Article</label> <input class="articles" type="checkbox" name="one_article" id="one_article" value="90"> </div> <div> <label for="another_article">Another Article</label> <input class="articles" type="checkbox" name="another_article" id="another_article" value="75"> </div> </form> <form action="payment_form.php" method="post" id="payment-form"> <div class="form-row"> <input type="hidden" name="user_id" value="<?php echo $user_id; ?>" /> <input type="hidden" name="price" id="price" value=""> <input type="hidden" name="products" id="products"> <input type="text" name="first_name" class="form-control StripeElement StripeElemet--empty" placeholder="Name"> <input type="text" name="last_name" class="form-control StripeElement StripeElemet--empty" placeholder="Surname"> <input type="email" name="email" class="form-control StripeElement StripeElemet--empty" placeholder="Email"> </div> </form>CÓDIGO DE MUESTRA JS
<script> $(".articles").each(function(){ $(this).on("change", function(){ let value = 0; let products = ''; $(".articulos").each(function(){ if(this.checked == true){ value = parseInt($(this).val()) + value; products = $(this).attr("id") + '|' + products; } }) $("#price").val(value); $("#btn-pagar").text('payment ' + value + '€'); $("#products").val(products); }) }) </script>¿Cómo podría evitar eso?