2010-07-27 215 views
1

我打算使用eWay作爲支付網關,但在執行問題後遇到問題。使用Eway接受付款

因爲我不想在任何時候觸摸信用卡詳細信息,而不是因爲PCI要求而通過我的網站進行存儲和傳輸,所以我需要將用戶重定向到由網關託管的頁面。用戶在那裏提供所有的細節,網關返回結果確認到我指定的頁面,我們稱之爲payment_done.php。

現在,在payment_done.php中,我不確定確認是否從支付網關本身返回,或者某人只是將其發佈到我的網頁及其假貨。所以我的網頁可能會收到確認,但付款可能完全沒有。

現在在payment_done.php中,我需要問一下,如果我收到的確認(帶有一些特定的交易ID)來自他們,如果是這樣的話,金額是正確的等Eway將返回真/假回到我然後我可以確定付款已經完成了適量。

現在的問題是,eway似乎允許查詢此確認一天只有100次。

我現在似乎用盡了想法,拼命尋求幫助。我還有什麼選擇?看起來令人難以置信的是,即使使用支付網關託管頁面,也無法使其工作,而不會陷入PCI合規性問題。預先感謝您的幫助。

回答

0

答案是雙重的。

如果請求來自其他任何地方,則您確認該帖子來自eway服務器,但您不允許該請求。這是你的主要安全形式。

如果有人在易緯想要破解你的網站,實現這個:

發送用戶付款之前,創建長哈希值。你可以使用一個會話變量來保存這個。

使用參數eWAYoption1傳遞散列。

當eway發回答案時,請檢查eWAYoption1值以驗證它是否與當前用戶付款哈希匹配。

只要驗證它,您就必須刪除會話變量。即使散列錯誤,也會使會話變量無效並使其重新開始。

在哈希和驗證發佈IP地址之間,你應該是非常安全的。

+0

什麼是最好的方式來確保響應來自eWay呢?不知道它是否是網關特定的,每個網關都有不同的身份識別方式,或者通常選中IP或其他常用方法來執行此操作?順便說一句,這樣一個快速的答案! – spirytus 2010-07-27 21:22:10

+0

在eway網站上應該有支付服務器IP地址列表。您可能必須登錄才能找到它們。當您收到付款確認信息時,請確保IP與列表中的IP匹配。這個IP不能被欺騙。在PHP中使用'$ _SERVER ['REMOTE_ADDR'];'。您也可以進行反向查找,以驗證來自eway域的IP作爲附加檢查。如果您在網站上找不到IP,請致電支持。 – 2010-07-27 21:32:55

+0

這將是一個好主意,但顯然他們的支付服務器IP可能會改變,所以這對我來說不是很可靠。 – spirytus 2010-07-28 23:24:17