2012-12-21 58 views
1

我有網站與貝寶付款。我使用IPN處理支付貝寶返回鏈接

我想遊客支付寶付款

我把籃子形式後返回特定的頁面

<input type="hidden" name="return" value="http://site.com/basket/thank-you?param=value"> 

對PARAM =值可以是具體在某些情況下

但付款後訪客只能看到貝寶「感謝您的訂單」頁面:( 訪客可以使用此頁面上的返回鏈接,但他們不會這樣做:)

我知道可以在PayPal商家帳戶 - >配置文件 - >銷售首選項 - >網站付款首選項 - >自動返回網站付款設置自動返回

但是,我應該只設置一個網址。所以我必須使用cookie或會話來捕捉用戶的語言。 這是爲什麼?爲什麼返回鏈接隱藏字段不起作用?沒有PDT可以獲得返回功能嗎?

回答

1

當您像使用Payments Standard一樣使用付費標準時,即使啓用了自動返回功能,用戶也絕不會保證返回到您的退貨狀態。例如,他們可以在自動返回之前關閉瀏覽器。這根本不是很可靠。

如果你想確保用戶回到你的應用程序流程,那麼你可以使用Express Checkout。這涉及3個API調用,SetExpressCheckout,GetExpressCheckoutDetailsDoExpressCheckoutPayment

登錄後,審覈並同意付款後,用戶將被退回到您在SetExpressCheckout中指定的ReturnURL。此時,您可以調用GetExpressCheckoutDetails獲取付款人詳細信息(可選),然後使用DoExpressCheckoutPayment完成所有操作。

我還建議將數據保存到數據庫或使用會話變量來反對URL參數,因爲Express Checkout會在您自己的服務器上而不是PayPal上進行,所以這些參數很容易訪問。

0

通過將Website Payment Preferences上的Auto Return for Website Payments設置爲ON並不意味着您的應用程序將始終使用其上的返回URL。您仍然可以通過指定像return領域覆蓋它是你在上面所做的:

<input type="hidden" name="return" value="http://site.com/basket/thank-you?param=value"> 

的區別僅僅是遊客將直接重定向到返回URL(通常等待約10秒),不帶他們進入「感謝您的訂單」頁面。

0

最有趣的事情,我有回報問題只在沙盒提交。在真實PayPal賬戶中,即使關閉了自動返回選項,我也有訪客在感謝頁面上返回。