Передача пользовательских переменных в PayPal IPN
Вопрос
Я пытаюсь передать пользовательские переменные в IPN PayPal.Мне удается передать одну переменную.Но я не знаю, как передать несколько переменных.
Мой процесс примерно такой
- Пользователь заполняет форму
- Они нажимают кнопку, и она переходит на PayPal.
- Они заплатили, IPN отправил мне обратно информацию, и ipn.php добавил переменные, которые перешли в базу данных.
Мои пользовательские переменные:
- общее количество строк (когда они пишут, я считаю строки)
- сообщение (их сообщение, которое они написали)
- идентификатор рекламы
Но сейчас я могу передать только одну переменную вот так:
форма.php
<input name="custom" type="hidden" id="custom" value="{$line_count}">
$_SESSION['line_count'] = $_POST['lines_txt'];
ipn.php
$sql="INSERT INTO `form`(`totalline`) VALUES ('" .$_POST['custom']. "');";
Решение
Я не уверен, возможно ли с помощью Paypal отправлять и получать несколько переменных.Если это невозможно из-за ограничений Paypal, вы можете использовать один из следующих подходов:
- Отправьте данные сериализованными и десериализуйте по возвращении.
- Запишите данные в базу данных в form.php (со статусом не оплачено) и отправьте идентификатор.В ipn.php ловим id и ставим статус = оплачено/ошибка/что бы ни случилось в базе.
Другие советы
Вы можете передать другую информацию через поле notify_url, например, выполнив http://www.yoursite.com/notify?myvariable=value
Если нужно просто передать переменную, которая не имеет отношения к PayPal, но более важна для вас, когда она вернется, вы можете использовать значение ['custom'] для отправки в PayPal, PayPal просто передаст ее обратно вам, как только все будет готово. сделано на их стороне.
Смутная память подсказывает мне, что есть два варианта отправки данных в PayPal.Мы с командой x_click подумали, что это что-то вроде параметра загрузки.Если для параметра загрузки установлено значение 1, вы можете отправить несколько строк в PayPal.
Обновлять Информация PayPal об этом