Могу ли я отправить переменную в paypal и отправить ее мне обратно после завершения платежа?
Я использовал экспресс-проверку API для конвертации учетных записей людей на моем сайте в премиум-аккаунты после оплаты. Единственная проблема заключается в том, что он не отправляет пользователя обратно на сайт, пока не нажмет кнопку, чтобы вернуться, и он обновляет свое разрешение, когда это произойдет. Около 40% пользователей, похоже, не делают этого.... так что их счета никогда не будут зачисляться после оплаты.
Несмотря на то, что paypal делает мгновенную отправку после успешного платежа, я никогда не мог заставить его фактически обновить учетную запись пользователя сразу, так как я не могу заставить его отправить какую-то информацию, которая бы идентифицировала пользователя, который просто завершена оплата. Я мог бы сделать это только тогда, когда вас отправят обратно на сайт, который отправит идентификатор транзакции, который я зарегистрировал с помощью обратной связи. Он ищет его и предоставляет разрешение, если он был найден внутри него.
Есть ли способ отправить какую-то переменную в paypal, чтобы она вернулась обратно ко мне? Что-то вроде & user_id = 123, что очень помогло бы обновить разрешение пользователя.
Ответы
Ответ 1
Да, если вы отправите item_number
, уведомление https://www.paypal.com/cgi-bin/webscr. Внутри этой формы находятся различные скрытые поля, задокументированные в материалах IPN (cmd
для выполнения команды business
, чтобы указать свой бизнес-идентификатор, item_name
для приятного описания в пользовательском интерфейсе PayPal, item_number
для номера элемента Я упомянул выше и т.д. И т.д.). Когда IPN отправляется обратно на ваш IPN-адрес, он включает в себя различные поля (например, payment_status
— вид важных! & mdash и item_number
, которые вы загружали при отправке на них).
Ответ 2
Iten_number
скрытая переменная не работает в моем приложении. Но я обнаружил, что скрытое поле custom
отлично работает. Просто добавьте это поле в форму, созданную paypal: <input type="hidden" name="custom" value="YOUR VALUE FROM DB"/>
. После этого вы можете прочитать это значение, чтобы определить, например, какой продукт был приобретен. (Код Java): String custom = request.getParameter("custom");
Ответ 3
Просто добавьте этот старый вопрос...
Существуют параметры параметров, которые обычно используются для отправки пользовательских данных через paypal.
Эти теги параметров on0, on1 или on2 для пользовательских имен полей и os0, os1 и os2 для пользовательских значений полей.
Я бы послал on0 со значением "UserID" и os0 фактическим идентификатором.
Эти значения будут представлены в IPN следующим образом:
os0 представлен как option_selection1
os1 представлен как option_selection2
os2 представлен как option_selection3
on0 представлен как option_name1
on1 представлен как option_name2
on2 представлен как option_name3
Здесь информация о параметрах HTML PayPal
Ответ 4
Согласно HTML-переменные для стандарта PayPal Payments, вы можете отправить все переменные "Pass-through":
item_number Переменная для отслеживания продукта или услуги или внесенный взнос. Указанное вами значение передается назад к вам после завершения оплаты. Эта переменная требуется, если вы хотите, чтобы PayPal отслеживал инвентарь или отслеживал прибыль и убытки за товар кнопка продается.
пользовательская Переменная для ваших собственных целей отслеживания, которые не видят покупатели. По умолчанию - переменная не передается вам.
и
счет-фактура Переменная-пропускная способность, которую вы можете использовать для идентификации номера счета для этой покупки. По умолчанию - переменная не передается обратно вы.
Все эти сквозные переменные отправляются обратно в IPN в информации об ответах на платеж.
Вам просто нужно отобразить свой HTML-шаблон на стороне сервера и записать поля в HTML-код, например
<input type="hidden" name="item_number" value="{{ productID }}">
<input type="hidden" name="invoice_id" value="{{ invoiceID }}">
<input type="hidden" name="custom" value="{{ jsonInfo }}">
Технически поле "custom" может быть закодированной JSON-строкой, если вы хотите обрабатывать больше данных, например
myItemObject = {
"customerEmail" : "[email protected]
"customerID: "AAFF324"
}
jsonInfo = json.dumps( myItemObject )
return render_template(tmpl_name, jsonInfo=jsonInfo, productID=productID, invoiceID=invoiceID)
Ответ 5
Наконец-то я получу этот ответ, я хочу поделиться со всеми вами:
в вашей HTML-форме введите этот код (это песочница Paypal):
form action="https://www.sandbox.paypal.com/cgi-bin/webscr?custom=YOUR_VAR" method="post"
На вашем PHP после перенаправления Paypal на успех вашей страницы: используйте переменную cm
GET:
$example = $_GET["cm"];
Ответ 6
Я надеюсь, что этот URL решает вашу проблему. По мере того как он решал мою. Добавьте в форму пользовательскую переменную, а затем извлеките ее на странице успешных платежей.
Пример:
<input type='hidden' name='custom' value='<?php echo $email; ?>'/>
а затем извлеките его как:
$_POST['custom']