2012-11-25 66 views
4


我發送數據到PayPal是
如何才能成功付款後,貝寶獲得交易細節

"https://www.paypal.com/cgi-bin/webscr/cmd=_cart&upload=1&[email protected]&currency_code=USD&bn=BusinessName&return=http://www.sellersite.com&item_number_1=55&item_name_1=battery&amount_1=55&quantity_1=2&item_number_2=52&item_name_2=bat&amount_2=5&quantity_2=3" 

而且我想告訴那些發送數據(項目編號,項目名稱,金額,數量)和Paypal交易編號在付款成功後通過「http://www.sellersite.com」發送給買家。 (假設賣家有貝寶的商家賬戶,他會從該網站的管理部分輸入該貝寶賬戶的數據庫,因此,我不會考慮他的貝寶賬戶設置,我的工作只是爲貝寶付款創建環境爲賣方)。

如果我寫這樣

$T_ID=$_REQUEST['tx']; // or $T_ID=$_GET['tx']; **ref(tx):- "https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_html_paymentdatatransfer" 

$item=$_REQUEST['item_number_1']; // or $item=$_GET['item_number_1']; 

然後我會得到來自PayPal這些數據的腳本?

請告訴我。

- 謝謝。

+0

是的,你會得到這種方式 – GBD

+0

感謝您的幫助。雖然我還沒有嘗試,但我相信你的答案。 – user1844626

回答

4

這不會那麼簡單。您需要設置Payment Data Transfer (PDT)才能在買方完成付款後將詳細信息發送回您的返回網址。

如果您只是簡單地向用戶顯示詳細信息,但不推薦用於更新自己的數據庫,發送電子郵件通知等,這很有用,因爲不能保證此頁面將會到達代碼不會總是運行。

對於這樣的事情,你會想要使用Instant Payment Notification (IPN)。這與PDT非常相似,不同之處在於它始終將POST數據發送到服務器上的IPN監聽器,而不管用戶是否將其返回到您的返回URL,並且它發生在您的結帳系統之外。

+0

是的,我從昨天開始一直在研究IPN,這對我來說似乎比PDT更好。請告訴我,如果我的客戶賣家只想接受即時付款類型(參考:https://cms.paypal.com/us/cgi-bin/?&cmd = _render-content&content_ID = developer/e_howto_html_IPNandPDTVariables#id092BE0U605Z)並且想要爲了避免除「已完成」之外的所有其他付款狀態,我應該如何爲他創建付款環境?我的意思是我可以發送payment_type ='instant'到paypal,同時發送表單數據以及必須發送給paypal以避免除「完成」以外的所有付款狀態? – user1844626

+0

另外一件事,我可以在「返回」頁面(如「notify_url」頁面)上從paypal獲取所有與交易相關的變量嗎?或者更好地捕獲'notify_url'頁面上的那些頁面,然後通過SESSION變量在'return'頁面上向買方顯示這些數據? – user1844626

+0

除了完成之外,你無法真正避免任何事情。如果付款失敗,則失敗,您將得到回覆。您可以通過確保您的欺詐篩選器進行相應配置來設置您的帳戶以避免「等待」,並且您沒有啓用電子支票作爲選項。這可以在您的配置文件中的付款接收首選項下進行設置。總是建議檢查狀態,並根據這些情況處理訂單處理。 –