2011-12-01 100 views
0

我有很多正在使用該腳本處理貝寶購買網站:貝寶重定向和支付數據

header("location: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=".urlencode($strMail)."&item_name=".urlencode($strName)."&item_number=".urlencode($strCode)."&amount=".urlencode($strCost)."&no_shipping=0&return=".urlencode($strDomain.$strFolder."Thanks.php")."&cancel_return=".urlencode($strDomain.$strFolder."Cancel.php")."&notify_url=http%3a%2f%2fwww%2eincansoft%2ecom%2fipn%2ephp&no_note=1&currency_code=USD&lc=GR&bn=PP%2dBuyNowBF&charset=UTF%2d8"); 

這裏的問題是,當它重定向到頁面「Thanks.php」,我想它更新我的數據庫中的東西(更改項目的可用性)。我已經閱讀了付款數據傳輸和自動返回,但打開自動返回功能需要我輸入一個固定的返回頁面,然後編輯所有必須擁有個人感謝頁面的網站。

我的問題是: 有沒有其他的方式來重定向和檢索交易數據,而不是設置所有我的產品1常數返回頁面?

編輯:我想這是可能的,因爲,例如,Nanacast可以做到這一點。您只需配置您的電子郵件和返回URL,然後它甚至會返回交易數據。問題是:如何?

回答

2

查看PayPal即時付款通知(IPN) - https://www.paypal.com/ipn/
這將強制事務數據的POST在每次事務啓動時發送給您。買方甚至無需返回到您的「致謝」頁面就可以使用;只要買家在PayPal網站上完成付款,就會一直髮送。

如果您目前使用的網站付款標準(基於HTML按鈕),你可以簡單地添加

<input type="hidden" name="notify_url" value="http://full-URL-to-the-script-you-set-up-for-IPN"> 

或者在你的情況下,追加& notify_url = HTTP:// ......你的網址。
另外,您還可以設置你的PayPal檔案內的IPN的URL將適用於所有收款(除非用「notify_url」 HTML參數重寫)。
您可以在配置文件>我的銷售工具>即時付款通知>更新中進行設置。

您需要從PayPal獲取所有POST數據,附加cmd = _notify-validate並將其發送回https://www.paypal.com/cgi-bin/webscr(或Sandbox的https://www.sandbox.paypal.com/cgi-bin/webscr)以驗證IPN消息。

根據此結果,您將在頁面正文中返回INVALID或VERIFIED響應。
INVALID可能意味着IPN POST不是源自PayPal,而VERIFIED意味着IPN POST證實確實來自PayPal。

+1

我認爲該帳戶需要成爲Premier或Business帳戶才能發揮作用。 –