PayPal успешно возвращает мне обратный URL-адрес, который я указываю при создании кнопки «Купить сейчас». Но теперь я в замешательстве. Как мне получить сведения о транзакции, проведенной в PayPal? Я также хочу установить некоторые значения базы данных для возвращаемого URL. Но я боюсь, что если мой пользователь перейдет по этому URL-адресу без оплаты, он, тем не менее, станет премиум-участником. Как этого избежать?
Сообщить URL-адрес PayPal
Ответы (1)
PayPal возвращает данные обратно на ваш сайт через то, что они называют IPN. На самом деле это просто обратный вызов для указанного вами URL-адреса. Вы можете установить этот URL-адрес с помощью переменной notify_url, которую вы можете отправить в PayPal.
Пример:
<input name="notify_url" value="http://yourdomain.com/notify_url.php" type="hidden">
Notify_url.php в приведенном выше примере получает некоторые переменные POST от PayPal после завершения платежа, даже если клиент никогда не вернется на ваш сайт.
Возвращены некоторые важные переменные. через PayPal это:
- mc_gross
- счет
- расчет_сумма
- Protection_eligibility
- address_status
- идентификатор_плательщика
- налог
- адрес улицы
- payment_date
- статус платежа
- кодировка
- address_zip
- mc_shipping
- mc_handling
- имя
- mc_fee
- адрес_код_страны
- курс обмена
- адрес
- уведомить_версия
- рассчитаться_валюта
- обычай
- плательщик_статус
- бизнес
- адрес_страна
- Адрес Город
- verify_sign
- payer_email
- txn_id
- способ оплаты
счет-фактура возвращается, если вы установили его. Его можно использовать как собственный идентификатор заказа/транзакции.
txn_id генерируется PayPal и является их собственным идентификатором транзакции.
Если вы добавляете товары самостоятельно, PayPal также возвращает num_cart_items, item_name1 (item_name2, item_name3), количество1 (количество2, количество3) и тому подобное.
Дополнительные сведения см. на странице https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables
Конечно, тогда вам еще предстоит решить проблему, как проверить все эти данные и подключить их к клиенту в вашей собственной базе данных, которая, вероятно, у вас есть.
Что я делаю, так это сохраняю временный «заказ», прежде чем отправить клиента в PayPal с идентификатором счета-фактуры, тем же идентификатором, который я отправляю в PayPal в качестве счета-фактуры. Таким образом, моя страница notify_url.php может проверить мою базу данных на наличие идентификатора счета и сравнить заказ/оплату.
return
для возврата на свой сайт, и в этом случае лучшим первым выбором будет использование PDT, которое возвращает те же значения, что и IPN, но в присутствии клиента, поэтому сайт может немедленно сообщить им об успешном выполнении. Конечно, используйте IPN в качестве резерва, так как клиент может не вернуться, но нужно убедиться, что он не удвоит предложение.
- person Patanjali; 25.01.2018
item_number
и не смог найти много информации от Paypal. Для такой крупной компании, как вы, возможно, заметили, IMO они плохо справляются с поддержкой своего веб-сайта, поскольку они изменили свой текущий мобильный дизайн. Что касается item_number
, я обнаружил, что если у вас есть только один элемент, item_number не нумеруется как item_number1, item_number2... это просто item_number
.
- person PJ Brunet; 14.02.2018