假設您使用Express Checkout,最簡單的方法是在驗證後將用戶簡單地重定向到另一個頁面,說「重定向到paypal ...」。
在那個頁面上你會看到一個隱藏的表單(你可以用Zend_Form來構建它,或者手動創建它並不重要),然後你可以添加一些javascript來提交該表單,同時也可以讓「submit」按鈕可見該用戶可以點擊它,如果累了等到JavaScript爲他做。
或者,這可以簡單地是「感謝您」頁面,例如:
謝謝您的訂單! 您的訂單號是27335
[點擊此處]完成付款。
付款完成後,貝寶將返回到您指定的IPN網址。然後你可以這樣檢查:
$paypal_url = 'https://www.paypal.com/cgi-bin/webscr';
$client = new Zend_Http_Client($paypal_url);
$client->setMethod(Zend_Http_Client::POST);
$client->setParameterPost(array('cmd' => '_notify-validate')+$_POST);
$response = $client->request();
if ($response->getBody() !== 'VERIFIED') {
//Not verified
die("FAIL");
}
這段代碼的和平只是確保你從IPN得到的東西確實來自PayPal。 之後,您還需要檢查它在$ _POST中傳遞給您的參數(如訂單號,金額,貨幣等)。 您還需要item_number將其與您在重定向到PayPal之前添加的訂單#「鏈接」。
您還可以檢查其他的方式做結帳,這意味着貝寶在這裏https://cms.paypal.com/ca/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_WPGettingStarted
或者,你也可以嘗試的PayPal NVP的解決方案。
從Paypal的角度來看溝通如何工作?你是否向他們提交了詳細信息,他們回覆了一個URL來重定向用戶? – 2011-04-02 16:58:46