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