Я делаю чрезвычайно простой магазин, чтобы лучше понять, как может работать оплата (но это должно сработать. Я продам несколько старых книг).«Магазин» - это простой список товаров в формате html.Корзина добавляет и удаляет их через JavaScript.Оплата производится посредством интеграции элементов полосы.Самый простой способ сделать это - просто отправить итоговое значение из корзины для покупок в полосовой объект начисления.У меня вопрос: как лучше всего отправить цену в корзине на объект начисления за полосу?Я особенно обеспокоен тем, что люди могут манипулировать ценой перед отправкой, но я не хочу связывать свой супер простой магазин с базой данных, если я могу избежать этого.Достаточно ли безопасен мой метод для моих целей?Какие существуют лучшие методы?Более подробная информация: у меня есть форма оплаты, которая запускает действие php через jquery ajax
отправку.Функция ajax
получает сумму от html-элемента $('#total')
через jquery
.В документе php я получаю сумму из массива $_POST
и взимаю ее.Это нормально?В противном случае это глупо?Или хорошо для действительно небольшого магазина?
Моя демонстрация работает, мне просто интересно узнать больше о лучших практиках.Я гуглил «безопасно отправить цену из корзины через ajax
до php
», но не увидел ничего, что ответило на этот вопрос.
<div id="total">72.00</div>
var total = parseFloat($('#total').text())*100;
$.ajax({
method: 'POST',
url: 'charge.php',
data: { stripeToken: token.id, stripeEmail: token.email, totalAmount: totalForm},
success: function(response) {
console.log(response);
},
})
$token = $_POST['stripeToken'];
$total = $_POST['totalAmount'];
try{
$charge = \Stripe\Charge::create([
'amount' => $total,
'currency' => 'chf',
'description' => 'Example charge',
'source' => $token,
]);
$charge_send = $charge->__toJSON();
$success_msg = 'Thank you for your purchase.';
echo json_encode(array('success' => $success, 'charge' => $charge, 'err' => $err));
}
Работает нормально.Я просто хочу, чтобы это было так же безопасно, как и для моих целей.
-> Спасибо за ответы!Я вижу, что люди думают, что у меня должна быть минимальная база данных.@HTMHell: Это потому, что цена не может быть безопасно передана?