Paypal возвращает меня успешно к URL-адресу возврата, который я указываю при создании кнопки "Купить сейчас". Но теперь я смущен. Как получить информацию о транзакции, произошедшей в Paypal? И также хочу установить некоторые значения базы данных на возвращаемом URL-адресе. Но я боюсь, если мой пользователь, не заплатив paypal, отправится на этот 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, когда платеж завершен, даже если клиент никогда не возвращается на ваш сайт.
Некоторые важные variables, возвращаемые PayPal:
- mc_gross
- фактура
- settle_amount
- protection_eligibility
- address_status
- payer_id
- налог
- address_street
- PAYMENT_DATE
- payment_status
- набор символов
- address_zip
- mc_shipping
- mc_handling
- first_name
- mc_fee
- address_country_code
- EXCHANGE_RATE
- address_name
- notify_version
- settle_currency
- заказ
- payer_status
- бизнес
- address_country
- address_city
- verify_sign
- payer_email
- txn_id
- payment_type
счет-фактура возвращается, если вы его установили. Он может использоваться как ваш собственный идентификатор-идентификатор транзакции/транзакции.
txn_id генерируется PayPal, и это их собственный идентификатор транзакции.
Если вы добавите элементы самостоятельно, вы будете PayPal также возвращает num_cart_items, item_name1 (item_name2, item_name3), quantity1 (quantity2, quantity3) и т.д.
Подробнее читайте на https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables
Конечно, у вас все еще есть проблема, чтобы решить, как проверить все эти данные и подключить их к клиенту в вашей собственной базе данных, которые вы, вероятно, имеете.
Я делаю это, чтобы сохранить временный "заказ", прежде чем отправить клиента в PayPal с идентификатором счета, тот же идентификатор, который я отправляю в PayPal в качестве счета-фактуры. Таким образом, моя страница notify_url.php может проверить мою базу данных для идентификатора счета и сравнить порядок/платеж.