Как безопасно отправить цену через почту и ajax? - PullRequest
0 голосов
/ 07 июля 2019

Я делаю чрезвычайно простой магазин, чтобы лучше понять, как может работать оплата (но это должно сработать. Я продам несколько старых книг).«Магазин» - это простой список товаров в формате 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: Это потому, что цена не может быть безопасно передана?

1 Ответ

0 голосов
/ 07 июля 2019

Большинство приложений, входящих в платежную систему, требуют, чтобы пользователь был зарегистрирован.Он показывает сводку страницы завершения платежа после того, как пользователь нажал на кнопку «Отправить» и пользователь проверил все на странице.Вы можете перейти к действию оплаты, когда пользователь проверил.приятно проверить оплату с помощью идентификатора пользователя.Учетная запись пользователя дважды проверена с реальными платежами, методы хороши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...