您可能想要使用新的PayPal SDK。他們有一套很好的示例代碼, 包括快速結賬和IPN代碼。 嘗試這裏 https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index 獲取快速結帳的SDK。在這個 時間,他們應該在PHP 98的SDK。
您將不必擔心捲曲, 的SDK需要照顧所有的給你。 典型的呼叫可能是這樣的。
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
這行代碼是在樣本之後建模的。它是所有面向對象的 。他們爲您提供課程。 在這種情況下,您需要填寫一個請求對象, 示例顯示瞭如何執行該操作;只需使用 樣本作爲您的模板。
這聽起來像你想做PayPal快速結賬, 這樣你就不必處理信用卡或任何 那樣。用戶被重定向到PayPal網站 ,並且所有金融交易都發生在那裏。 用戶被重定向回您的網站。然後你有一個 頁面,用戶可以查看訂單,如果他們批准,點擊 提交。當用戶點擊提交, 您調用貝寶API告訴貝寶,交易 被批准。 PayPal然後執行交易,並且 發回您帶有交易ID的確認。 然後,您可以調用getTransactionDetails並向客戶顯示 確認。您還可以將這些交易細節 放入數據庫中。
以下是您可以爲此調用的API。這些 是仿照示例代碼,它們提供
$paypalService->SetExpressCheckout($setECReq);
控制進入貝寶URL,並且用戶 通過幾頁出現。控制權返回給你。
您的訂單評論頁 $ paypalService-> GetExpressCheckoutDetails($ getExpressCheckoutReq);
訂單確認頁面
$paypalService->GetExpressCheckoutDetails($getECReq);
$paypalService->DoExpressCheckoutPayment($DoECReq);
告訴貝寶做交易。
$paypalService->GetTransactionDetails($request);
在這裏,你可以把交易信息到數據庫中。 你也可以給自己發一封包含所有細節的郵件, 這樣你就可以知道每次交易發生的時間。
IPN可能有點棘手。他們提供了一個示例IPN監聽器 ,這將有所幫助。您需要在PayPal網站上設置您的監聽器網址 。您將需要 設置SSL證書。
SDKs相當新穎,但PayPal正在開發更新的方式,即開發者版.paypal.com。它在上個月左右剛出來 。你可能也想看看。
感謝您的快速回復。這是否適用於整個購物車的產品,或者一次只能購買一個產品?你能否提供有關你如何處理IPN的信息? – Jon 2013-03-25 23:47:58
編輯顯示多個產品的使用。 – 2013-03-25 23:51:24
再次感謝,生成此表單所需的HTML以發送給PayPal應該不是問題。它看起來像是唯一缺失的拼圖將會找出並處理IPN。 – Jon 2013-03-26 00:03:50