2012-10-02 32 views
1

我的網站上有一個簡單的PayPal購買按鈕。用戶去paypal,當他完成購買時,他會自動重定向到我的網站(目前在沙箱上有一個屏幕前重定向,說:「如果10秒你沒有重定向...」)。另外,我在服務器上設置了一個帶有url的notify_url來處理成功付款。將用戶標識符傳遞給PayPal的notify_url

我有2個問題:

  1. 我的網站使用的用戶登錄。所以點擊購買按鈕的用戶是已經登錄的用戶。我的問題是,當我在notify_url上處理PayPal IPN時,找出哪個用戶進行了購買的最佳方式是什麼?我想在按鈕表單上設置一個基於用戶ID的唯一標識符,但我找不到文檔如何去做。

  2. 當用戶完成購買時,他應該能夠訪問某些內容。所以說購買後用戶登陸http://www.example.com/account,我想查看數據庫,看看他是否確實成功完成了購買。所以我的問題是,我可以確定notify_url回調將在用戶登錄帳戶之前執行嗎?

我真的不想有憤怒的顧客誰成功購買,但仍然無法訪問。確保這種情況的最佳方式永遠不會發生?

謝謝。

回答

2

如果您看看Paypal的IPN and PDT variables page,您會發現可以使用名爲「custom」的字段。其描述:

定製:自定義值由您傳遞給商家。這些是 傳遞變量,這些變量永遠不會呈現給您的客戶。 長度:255個字符

形式例如:

<input type="hidden" name="custom" value="<?php echo $user_id; ?>"/> 

而在你的IPN處理腳本:

$user_id = $_POST['custom']; 
+0

很大,工作的。關於第二個問題的任何想法? –

+0

雖然我不想說「確定」這個詞,但我認爲是這樣。測試一下? –

+0

我沒有在表單中指定returnURL和notifyURL,但是我已經在PayPal帳戶的SETTINGS頁面中設置了它們。一切正常,但我無法像上面那樣傳遞任何自定義值。誰能告訴我這裏發生了什麼問題? – MiniGunnR