2012-06-28 106 views
11

我試圖通過叢林(真的,貝寶,爲什麼你不去掉它......)幾天現在找到解決我的非常簡單的問題。PayPal按鈕通過IPN發送自定義變量

我有一個網站會員訂閱。 客戶在我的網站上註冊了他們的電子郵件和密碼。 然後他們去PayPal支付他們的訂閱。

我的問題是如何傳遞密鑰 - 他們的電子郵件 - 通過整個交易,所以我知道誰是付款?

這是因爲它很可能發生,他們有時會用一封電子郵件註冊並用另一封電子郵件付款。 以及如何使用(安全)加密按鈕完成所有操作。

我的想法是,我可以使貝寶「創建貝寶付款按鈕」頁上的加密按鈕。

步驟3,添加(X-ED出真實的URL)先進的變量:

notify_url=http://xxxxxxxxxx.com/xxxxx.php 
test_ipn=1 

獲取代碼:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="N6UMVCMXSWMYG"> 
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

和給定的代碼粘貼到我的PHP頁面,但添加一個名爲「定製」的隱藏字段,併爲其提供手頭的電子郵件並更改表單操作以轉至沙箱

排序是這樣的:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 

<input type="hidden" name="custom" value="<?=$signUpEmail ?>"> 

<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="N6UMVCMXSWMYG"> 
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

這個自定義變量後來我可以拿起我的IPN頁上,所以我知道該成員是誰..

我在想吧? 或者我應該用「手寫」代碼來做按鈕嗎? 或者有更好的方法嗎?

回答

3

以上的方式工作,雖然我有一些問題與貝寶沙箱不接受「常規貝寶」 hosted_button_id - 這是通過重新創建在沙箱中hosted_button_id處理。

<input type="hidden" name="hosted_button_id" value="RECREATENEWINPAYPALSANDBOX"> 
12

有一個領域,你可以使用貝寶表單來放任何你想要的。 該字段的名稱是「自定義」。所以你可以寫這樣的東西:

<input name="custom" value="blablabla" type="hidden"> 

我建議編碼自定義值的值。例如,某種base64_encode可能有助於阻止好奇的人。 但是,在手冊中,您可以使用Paypal做什麼也有很好的解釋。 This link and this one are a excerpt。

此外,正如評論中所建議的,在您的網站和貝寶之間的退避交流中,不可能使用與您的前端相關的會話變量。