2012-01-03 72 views
0

我想設置一個貝寶解決方案,但我有一些與RETURNURL的麻煩。貝寶SetExpressCheckout不會返回到「返回URL」

我的表單看起來像這樣。

<form method="post" action="https://api-3t.paypal.com/nvp"> 
<input type="hidden" name="USER" value="<%=PayPal_API_Username%>"> 
<input type="hidden" name="PWD" value="<%=PayPal_API_Password%>"> 
<input type="hidden" name="SIGNATURE" value="<%=PayPal_API_Signature%>"> 
<input type="hidden" name="VERSION" value="65.0"> 
<input type="hidden" name="PAYMENTREQUEST_0_PAYMENTACTION" value="Sale"> 
<input type="hidden" name="PAYMENTREQUEST_0_CURRENCYCODE" value="DKK"> 
<input type="text" name="PAYMENTREQUEST_0_AMT" value="<%=Amount%>.00"> 
<input type="hidden" name="CUSTOM" value="<%=GUID%>"> 
<input type="hidden" name="RETURNURL" value="http://<%=c_mainDomain%>/return.html"> 
<input type="hidden" name="CANCELURL" value="http://<%=c_mainDomain%>/cancel.html"> 
<input type="hidden" name="METHOD" value="SetExpressCheckout"> 
<input type="submit" name="submit" value="Videre til betaling med Paypal"> 
</form> 

當我提交表單它去「https://api-3t.paypal.com/nvp」和表示下面的信息。

TOKEN = EC%2d2XR31554RN094031R & TIMESTAMP = 2012%2D01%2d03T10%3a23%3a11Z &的correlationID = a0c80a35bfde2 & ACK =成功& VERSION = 65%2E0 & BUILD = 2271164

難道不應該把我送回去到我自己的頁面,到「RETURNURL」?或有什麼我失蹤

+0

我和貝寶API前一段時間的工作 - 我不記得細節現在。但通過用戶的瀏覽器窗體發送API密碼看起來相當可疑。我覺得這個POST應該由你的Web服務器完成 - 而不是由客戶端的瀏覽器完成。覈實。 – disorder 2012-01-03 10:35:06

回答

2

是的,我敢肯定,我的評論是正確的。 此POST應該由您的Web應用程序服務器完成 - 瞬態到客戶端。 用戶點擊你的Web應用程序的「買單」按鈕(當渲染網站)就在 - 你叫setExpressCheckout,那麼你從復讀的令牌,並將其應用到按鈕。 然後用戶點擊後,他被RETURNURL重定向到PayPal網站,並返回到您的網頁。

請確保您完全理解整個過程。向用戶提供太多信息可能會對您的付款模塊造成潛在的安全漏洞。

編輯:我想你創建的表單是從PayPal's tutorial。請注意,它僅用於測試和了解整個過程。

+0

感謝您的回答。我不知道我在想什麼,因爲我不應該在客戶端顯示錶單。 你知道,如果有任何樣本代碼,我傳統的ASP。我不知道如何來調用「setExpressCheckout」 – Chris 2012-01-03 13:35:22

+0

嗨。對不起,我兩年前曾使用過PayPal API。我無法幫助你。我認爲你應該只依靠他們的文檔。這很不錯,但是一開始可能會有太多信息。我認爲你應該在ASP中使用一些簡單的HTTP(s)客戶端庫。也許這是在.NET標準?只是爲了執行這個POST並解析結果。我用過雅加達的HttpClient,但它在J2EE中。 – disorder 2012-01-03 13:56:20

+0

好的,非常感謝您的幫助:) – Chris 2012-01-03 14:16:38