Подтвердить что ты не робот

Могу ли я отправить переменную в paypal и отправить ее мне обратно после завершения платежа?

Я использовал экспресс-проверку API для конвертации учетных записей людей на моем сайте в премиум-аккаунты после оплаты. Единственная проблема заключается в том, что он не отправляет пользователя обратно на сайт, пока не нажмет кнопку, чтобы вернуться, и он обновляет свое разрешение, когда это произойдет. Около 40% пользователей, похоже, не делают этого.... так что их счета никогда не будут зачисляться после оплаты.

Несмотря на то, что paypal делает мгновенную отправку после успешного платежа, я никогда не мог заставить его фактически обновить учетную запись пользователя сразу, так как я не могу заставить его отправить какую-то информацию, которая бы идентифицировала пользователя, который просто завершена оплата. Я мог бы сделать это только тогда, когда вас отправят обратно на сайт, который отправит идентификатор транзакции, который я зарегистрировал с помощью обратной связи. Он ищет его и предоставляет разрешение, если он был найден внутри него.

Есть ли способ отправить какую-то переменную в paypal, чтобы она вернулась обратно ко мне? Что-то вроде & user_id = 123, что очень помогло бы обновить разрешение пользователя.

4b9b3361

Ответ 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']