@xaruki

Как передать массив данных при подключении онлайн оплаты ЯндексДеньги?

Здравствуйте, гуру.

Хочу подключить онлайн оплату через ЯндексДеньги с помощью формы. У многих похожих систем есть аналогичные формы для быстрого подключения.
Простая форма передачи данных:
<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml">
    <input type="hidden" name="receiver" value="41001xxxxxxxxxxxx">
    <input type="hidden" name="formcomment" value="Проект «Железный человек»: реактор холодного ядерного синтеза">
    <input type="hidden" name="short-dest" value="Проект «Железный человек»: реактор холодного ядерного синтеза">
    <input type="hidden" name="label" value="">
    <input type="hidden" name="quickpay-form" value="donate">
    <input type="hidden" name="targets" value="транзакция {order_id}">
    <input type="hidden" name="sum" value="4568.25" data-type="number">
    <input type="hidden" name="comment" value="Хотелось бы дистанционного управления.">
    <input type="hidden" name="need-fio" value="true">
    <input type="hidden" name="need-email" value="true"> 
    <input type="hidden" name="need-phone" value="false">
    <input type="hidden" name="need-address" value="false">
    <label><input type="radio" name="paymentType" value="PC">Яндекс.Деньгами</label>
    <label><input type="radio" name="paymentType" value="AC">Банковской картой</label>
    <input type="submit" value="Перевести">
</form>


Через поле <input type="hidden" name="label" value="">
можно передать нужные данные из формы, для последующего использования (я пересылаю массив).
Т.е. после успешной оплаты, яндекс шлет ответ, на указанную мной php страницу, где я получаю данные из $name = $_POST['label'];и могу что-то с ними сделать (отправить письмо администратору, записать в базу данных и т.д).

Дело в том, что форма у меня большая (массив получается символов на 500), а в label можно записать данные только до 64 символов.

Мне кажется, что есть вариант, без прогонки данных, а как-то временно сохранить их у себя и только после ответа яндекса, что платеж прошел, использовать эти данные. А если платеж отменен, то просто их затереть.

Сначала смотрел в сторону localStorage или Cookies, но вроде тут это не прокатит.
Теперь думаю, что единственный вариант, это при отправки формы, записывать данные в базу mysql, а при получении ответа, что платеж прошел, использовать эти данные. Как-то так.

Прошу помочь разобраться с этим вопросом. Надеюсь все описал ясно. Спасибо Вам.
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
xEpozZ
@xEpozZ
Веб-разработчик
Кладите данные в БД
Генерируйте хеш-строку(например, по id)
Передавайте хеш в форму
В обработке колбека ищите по хешу в БД запись
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 11:11
10000 руб./за проект
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час