2010-10-08 61 views
5

我已經實現了一個paypal交易之前,但這一個有一個轉折,我不太確定什麼是最好的方式來處理它。流程爲:填寫表格,使PayPal付款,創建帳戶

基本想法是我想爲用戶創建一個帳戶,當他提供一些細節並通過PayPal進行支付時。在此之前,用戶的詳細信息已正確填寫且付款已正確完成,因此我不應爲該用戶創建帳戶。

我之前完成的設置只是一個貝寶按鈕,用戶點擊,付款並轉回到一個通用頁面「您的訂單將被處理和發貨」,因此沒有預訂形式涉及。

這一次是不同的,但因爲

  • 貝寶之前,我需要收集初始用戶數據
  • 貝寶後,我需要創建新的用戶帳戶,並使用它從收集到的用戶數據以前的貝寶形式

我確定有一個合乎邏輯的方式來實現這一點,但我不太確定我應該遵循什麼流程來做到這一點。

我使用Zend框架的方式,這應該不重要,但以防萬一Zend有一個更簡單的方法來幫助我與我想做的事情。

回答

4

我做了以下(雖然我爲此在ASP.NET):

  1. 用戶填寫表單
  2. 信息與唯一的發票號
  3. 發票號碼保存在Order表以dB爲單位被傳遞到PayPal,與IPN一起通知URL,當你做重定向
  4. 用戶發送到貝寶支付,然後回來一個通用的成功頁面
  5. 在幕後,貝寶,使該IPN的呼叫通知網址一旦處理完成。此頁面會收到您的發票號碼,PP將隨其呼叫返回,然後在從數據庫中檢索詳細信息後,爲該訂單執行帳戶創建處理。 [這是一個沒有用戶界面的頁面,因爲只有PP正在打它。]
  6. 從該進程發送一封電子郵件,通知客戶他們的帳戶已經創建並給他們提供詳細信息。

這是一個過程的簡化版本,但點擊亮點。您可以查看PayPal的page about IPN,並在Google上搜索IPN與PHP的集成。