2015-03-02 28 views
1

我一直在與他們提供的Paypal的Payflow Pro和REST API搞混了。我目前正在研究一個擁有自己的購物車的.NET MVC Visual Studio解決方案。由於所有PCI合規性問題,似乎最安全的路線(只有路線?)是使用AJAX將所有安全數據直接發佈到paypal。對我而言,這意味着直接使用jQuery AJAX發佈所有cc#,安全代碼,exp日期等。沒有安全的東西會打到我的服務器,因爲它直接從客戶端到PayPal。這也意味着我將無法使用Paypal的SDK,因爲大部分這些東西都將在客戶端處理。至少我認爲是這樣。如果您在服務器上使用SDK,Paypal REST API是否真正符合PCI?可能的解決方案

下面是我打算做的事情,請評論/糾正我,如果我錯了。

  1. 用戶決定「結賬」和完成銷售(進入發貨,開票,CC#等在一個或多個表後。
  2. 用戶提交表單,我需要請求安全令牌PayPal在提交付款請求之前爲此,我將使用AJAX方法到我的服務器。Server方法爲auth令牌創建幕後請求(並且用Fiddler等不可嗅探器)(發送發送ClientID &祕密安全令牌返回響應AJAX請求將這個時間敏感的令牌返回給客戶端
  3. 直接向Paypal發送的請求是動態創建的(添加aut帶有不記名令牌和其他必需的json屬性 - 意圖,付款人,資金_工具等)
  4. 來自此直接請求的響應包含批准狀態。客戶端顯示付款狀態,其他AJAX方法在服務器上記錄審批細節。

所以,從我上面介紹的那幾乎沒有,如果有的話,使用貝寶的SDK。我不能在客戶端上使用它,並且最初安全令牌的請求非常簡單(這對我有所幫助,儘管我的做法有些不同:Token Request Details)。請求主體的動態json可能難以構建,但除此之外,我認爲這不會太大(除非花費時間才能正確實現!)。

有沒有人看到我在這裏嘗試的任何問題?

回答

0

頂我的頭,在客戶端上的依賴給服務器交易/支付的具體數據(#寶迴應客戶端腳本 4)。

  • 我想你可以在你的最終爲此添加服務器端驗證步驟,以便您可以驗證什麼本質上是「客戶提供的信息」(不可信)。

  • 客戶端錯誤怎麼樣?您可能需要增加更多的檢查,以「同步」了貝寶所有交易(網絡掛接?)

除非貝寶民間糾正,我不知道「透明重定向」(這是我想你想要的)是在REST API中......或者我錯過了它,實際上就是你想要達到的目標(以不同的方式,PCI遵從 - 那個btw的讚譽:))。

也就是說,他們確實有transparent redirect in the Classic API

我還沒有專門使用貝寶的透明重定向(其他提供商),但如果最大限度地減少PCI問題是您的目標,也許這是一個更好的方式到達那裏。

簡而言之,你會得到一個令牌,你的HTML form將連同付款人提交數據直接向供應商(從不打你的服務器)。然後供應商會將用戶瀏覽器的請求和http redirect處理回您的預定義URL。該預定義的URL將從您的提供商處獲得結果。

在這個流程中,用戶並不真正「知道」他們離開了您的網站(又名「透明重定向」)。

Hth ...

相關問題