我將使用其中一個支付網關,因此來自我網站的用戶將被重定向到網關託管頁面以提供所有CC詳細信息。網關將返回結果到我指定的頁面(讓我們稱之爲paymentProcessed.php)。但現在我的擔心是:將數據發送到支付網關並返回 - 可能出現的問題
有人可能會僞造它。我的意思是,有人可能會被重定向到支付網關,然後付款,而不是付款,將返回結果到我的網站paymentProcessed.php頁面,並確認所有支付。該確認將由用戶通過正常POST發送,然後我的網站將向用戶交付產品,儘管實際上沒有付款。避免這種情況的常見做法是什麼?
有人被重定向到網關託管頁面,支付,重定向回我的網站和他登錄的會話已過期。通常我依靠會話來查看是否允許用戶訪問網站的某些部分,但是現在是否需要執行其他類型的確認頁面檢查?現在我正考慮在數據庫中存儲訂單ID和隨機生成的值,當用戶重定向將其傳遞到網關時(與總數一起,總數將傳遞到網關,然後返回,以便我可以確認已支付適當的數額)。然後,當確認與訂單ID一起出現時,我的隨機生成的值(和總計)不是像我一樣依賴會話通常用於正常的購物車頁面,我應該使用匹配的訂單ID檢查此值並根據需要更改訂單狀態。處理這類問題的常見做法是什麼?
我應該考慮哪些其他可能的問題?
我試圖儘可能清楚地解釋,我希望以上所有內容都有意義。請讓我知道我是否需要澄清一些事情。順便說一句我在php/mysql中的代碼
或者你可以只配置PHP有一個較長的會話cookie(可在運行完成-time using session_set_cookie_params())。 – 2010-07-15 14:04:10
@Lèsemajesté非常好的一點。修正答案以顯示示例。 – 2010-07-15 14:18:55
從託管付款頁面返回的哈希值將會很高,但我付費的網關似乎不會返回任何類似的內容。我完全搞砸了,如果沒有自己託管表單頁面,並且同時遇到與PCI合規性有關的問題,我是無法實現它的? – spirytus 2010-07-28 00:52:57