Кнопки оплаты Paypal и IPN: как однозначно связывать пользователей?
Странно, что документация на сайте Paypal не очень хорошо охватывает.
У нас есть кнопка оплаты, которая перенаправляет Paypal для обработки платежа.
У нас также есть сервер IPN, который ловит платежи PayPal после их создания.
Однако, где мы можем поместить "идентификатор пользователя" нашего системного пользователя в кнопку paypal, чтобы он был перенаправлен на запрос IPN, чтобы соответствовать пользователю в нашей системе, которую они заплатили. Кажется, что Paypal хочет, чтобы люди делали это вручную, что является реальной миссией.
Ответы
Ответ 1
В настоящее время я занимаюсь интеграцией PayPal, и я согласен, что их документация - беспорядок!
Наконец-то я нашел руководство, в котором перечислены, какие переменные формы кнопки PayPal перенаправляются на обратный вызов IPN. Вы можете использовать переменную item_name
для пересылки идентификатора пользователя:
<input type="hidden" name="item_name" value="{user id}">
Ответ 2
Вы должны использовать:
<input type="hidden" name="item_number" value="{user id}">
и вот документация:
https://www.paypalobjects.com/IntegrationCenter/ic_std-variable-ref-buy-now.html
Ответ 3
Как сказано в документе (https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/)
в вашей форме:
<input type="hidden" name="custom" value="<?php echo $id ?>">
и получить его с ipn:
$_POST['custom']