2011-04-12 56 views
2

我正在嘗試爲一些爲期一週的研討會設置註冊表單。基本上,他們可以單獨或全週報名參加研討會。取決於他們選擇什麼,價格會改變。我知道如何將這些信息發送到貝寶,但我也想將信息提交給我自己的數據庫。我將如何提交給貝寶並同時將這些信息提交給我的數據庫?試圖設置貝寶註冊表格,需要一些幫助!

我也想要一個返回的變量來驗證他們已經付款,所以我可以在我的數據庫中標記它。

我只是有另一個頁面將所有這些信息放入數據庫(一旦提交),然後也將信息放入隱藏的表單字段,然後自動提交給貝寶?

在此先感謝! :)

回答

3

「付款成功後,您的用戶將退回到您的個人賬戶,即您可以在db中記錄付款。」

這正是你不應該做的。 根據買家返回您的網站以更新訂單狀態是您可以做的最糟糕的事情。PayPal IPN的設計特別考慮了這個用例。 只需加入 這將確保PayPal將在付款完成後發佈給您。即使您的買家已經關閉了他/她的瀏覽器。 您可以使用「自定義」字段將IPN POST鏈接到您網站上進行的交易。例如:

將確保您獲得帶有$ _POST ['custom']'1122334455'的IPN POST。從那裏開始,只需要進行數據庫調用即可將訂單狀態更新爲「已付款」,或者用於將其標記爲收到付款的任何內容。

哦,不要忘記發回數據回https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate驗證IPN POST。更多信息請見https://www.paypal.com/ipn/

1

所以我想你可能使用網站支付標準。

如果是這樣的過程是這樣的:

  1. 用戶註冊了使用形成特定的車間(選擇價格,時間等等等等)
  2. 在提交您處理表單(檢查驗證等)
  3. 如果你滿意這個,那麼你產生從一個自動張貼到貝寶看起來像這樣:

    <體的onLoad = 「document.forms [ 'paypal_auto_form']提交();」。 >
    <p>請等待</P >
    <形式方法= 「郵報」 行動= 「https://www.paypal.com/cgi-bin/webscr」 NAME = 「paypal_auto_form」/ >
    <輸入類型= 「隱藏」 名稱= 「RM」 值= 「2」/ > < INPUT TYPE = 「隱藏」 名稱= 「CMD」 值= 「_ xclick」/ >
    < INPUT TYPE = 「隱藏」 名稱=」 currency_code「value =」AUD「/ >
    < input type =」hidden「name = 「量」 值= 「1」/ >
    < INPUT TYPE = 「隱藏」 名稱= 「業務」 值= 「[email protected]」/ >
    < INPUT TYPE = 「隱藏」 名稱= 「返回」 值= 「http://domain.com/paypal/success」/ >
    < INPUT TYPE = 「隱藏」 名稱= 「cancel_return」 值= 「http://domain.com/paypal/cancel」/ >
    < input type =「hidden」name =「notify_url」value =「http:// domain。COM /貝寶/ IPN」/>
    < INPUT TYPE = 「隱藏」 名稱= 「自定義」 的值= 「1234567890」/ >
    < INPUT TYPE = 「隱藏」 名稱= 「ITEM_NAME」 值= 「貝寶測試交易」/>
    < INPUT TYPE = 「隱藏」 名稱= 「ITEM_NUMBER」 值= 「6941」/ >
    < INPUT TYPE = 「隱藏」 名稱= 「量」 值= 「197」/ >
    <p> < input type =「submit」name =「pp_submit」value =「Pay Now!」/ > </p > < /形式> < /身體當然>

值您可以定製你想要的。查看變量的貝寶文檔的附錄A.你也可以用cpp_header_image或類似的東西添加你自己的日誌。

  1. 的用戶被帶到貝寶處理付款
  2. 當付款成功後,您的用戶返回到你的自我這是當你可以記錄在數據庫中支付。您可能會使用一些關鍵字或Cookie變量來跟蹤他們所做的付款。

您可能想要使用IPN來檢查它是否已成功付款。

如果這一切都太難了,只需使用http://wufoo.com/並將付款模塊添加到表單。