Как можно передать json через форму в качестве параметра в ссылке? И стоит ли?

Опишу суть проблемы:
1. Есть "приложение" с выбором и заказом билетов. Человек выбирает билеты, жмет на кнопку купить. Ему в куки записывается весь json со всеми выбранными билетами (ряд место сектор).
2. При оплате человека кидает на яндекс кассу. Она в свою очередь отправляет данные на файл check.php для проверки совпадения всех данных (в md5).
3. Я пытаюсь сделать защиту от изменения цены во фронте, ибо сама цена подставляется в форму перед непосредственной отправкой формы. Для этого мне нужно как-то в виде $_POST переменной передавать мой json на check.php. Тут сразу два вопроса: как этот объект будет выглядеть в ссылке? check.php? так json=[{} {} {} {}]? и возможно ли вообще его как-то переносить в виде пост переменной?

4. То что описано выше, самый простой способ реализации для меня. Возможно ли так делать и есть ли в этом смысл?
5. Как вариант: при отправке данных на яндекс я могу создавать пользователя в amoCRM (что сейчас и делается, по нему формируется ID заказа) и сразу добавлять из json строки все билеты в базу под этот конкретный ID покупателя. Как я себе это представляю: таблица с ID покупателя и соотв. ему ID созданного билета в базе (на время покупки бронируется билет). Соответственно, в самом check.php можно дергать переданный ID заказа (в нем есть ID контакта в базе) и по нему дергать все данные по билетам и сверять цену. На сколько такой подход разумен и быстр с технической точки зрения?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
delphinpro
@delphinpro
frontend developer
вы как-то уже передаёте данные по купленным билетам на Яндекс. Верно? Он вам на проверку присылает эти данные. Вот и проверьте. Простым сравнением цены каждого билета. Исходные данные у вас ведь на сервере есть?

Ну а передавать json можно в виде строки JSON.stringify(), потом encodeURIComponent().
На сервере в обратную сторону urldecode() - json_decode()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы