Я играл с этим целую вечность, прежде чем понял, что вы можете отправлять только заранее определенные переменные PayPal, а не создавать свои собственные.
Они перечислены здесь https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside
Тот, который вы можете использовать для пользовательской переменной, называется 'custom'
<input type="hidden" name="custom" value="<?=$twitId;?>">
. Вам также необходимо убедиться, что вы используете эту кнопку
<input type="hidden" name="cmd" value="_s-xclick">
Вам также нужно включить и установить URLдля мгновенного уведомления об оплате на PayPal
Они называют это слушателем, но на самом деле он просто отправляет данные платежа на страницу PayPal.Обратите внимание, что это не тот URL-адрес, по которому клиент возвращается после завершения платежа, как указано в настройках кнопок.
Получите пользовательскую переменную в PHP, таким образом
$userID = $_POST[custom];
Полные инструкции здесь http://www.brianmoreau.com/articles/paypal_buy_now_button_sending_custom_variables.php
Надеюсь, это сэкономит вам много часов, которые я потратил на это.
Этот метод также позволяет вам получить данные покупателя, такие как адрес электронной почты и адрес, а также ссылку на транзакцию.
Чтобы просмотреть полные данные, которые PayPal отправляет после оплаты, нажав на историю, история IPN