Уведомьте URL PayPal

PayPal возвращает меня успешно URL возврата, который я указываю, в то время как создание покупает теперь кнопку. Но, теперь я смущен. Как я получаю детали о транзакции, которая произошла на PayPal? И я также хочу установить некоторые значения базы данных на URL возврата. Но я боюсь, если мой пользователь, не платя PayPal перейдет к тому URL, то он также станет премиальным участником. Как я защищаю это?

46
задан GEOCHET 23 June 2012 в 14:12
поделиться

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
  • invoice
  • settle_amount
  • protection_eligibility
  • address_status
  • payer_id
  • tax
  • address_street
  • payment_date
  • payment_status
  • charset
  • address_zip
  • mc_shipping
  • mc_handling
  • first_name
  • mc_fee
  • address_country_code
  • exchange_rate
  • address_name
  • notify_version
  • settle_currency
  • custom
  • payer_status
  • business
  • address_country
  • address_city
  • verify_sign
  • payer_email
  • txn_id
  • payment_type

invoice возвращается, если вы его задали. Его можно использовать как собственный order-id/transaction-id.

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 может проверить мою базу данных на наличие id счета и сравнить заказ/платеж.

80
ответ дан 26 November 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: