Если идентификатор, на который вы ссылаетесь, является уникальной ссылкой, которую вы используете, то передайте ее между Paypal и вашим сайтом, используя элемент item_number
.
Установите идентификатор в HTML-форме, которую вы показываете своему клиенту, и обратите внимание, что вы также можете указать 3 URL:
<input type="hidden" name="item_name" value="Box of stuff"></input>
<input type="hidden" name="item_number" value="12345"></input>
<input type="hidden" name="return" value="http://www.blah.com/paypal_thanks.asp"></input>
<input type="hidden" name="notify_url" value="http://www.blah.com/paypal_callback.asp"></input>
<input type="hidden" name="cancel_return" value="http://www.blah.com/paypal_cancel.asp"></input>
Там, где я использовал «paypal_callback.asp» выше, это переопределяет IPN-ссылку, которую вы можете установить при входе в Paypal и редактировании своих настроек. Так что это значение не является обязательным.
Scrpt paypal_callback.asp (при условии, что написано в ASP) может просто сказать:
iAdvertId = Request.Form("item_number")
Обратите внимание, что эта страница не показана пользователю! За кулисами попадают серверы Paypals. Раздражает то, что paypal_callback.asp не будет немедленно вызван Paypal. Это может произойти через 3 дня ... или месяц спустя, они могут отозвать платеж.
Клиент будет перенаправлен либо на paypal_thanks.asp, либо на paypal_cancel.asp в моем примере. На эти страницы не будет передана форма или строка запроса, поэтому единственный способ получить номер, который вы помещаете в item_number
, - это также сохранить его в файле cookie, ДО того как пользователь отправит форму для покупки.
Когда вы получаете электронное письмо от Paypal, item_number
будет упомянуто в теме письма и в теле письма (в конце строки описания).
Также можно установить дополнительную информацию в пользовательских полях. В документации Paypal подробно описано, как это сделать, и вы можете проверить это с помощью симулятора IPN в песочнице .