我在我的電子商務應用程序上使用標準的PHP paypal表單進行付款。PHP - PayPal API窗體和安全
我注意到,只有螢火蟲的人可以在發送支付請求之前通過「付款」按鈕來更改PayPal表單數據。
所以我想知道,是否有一個「標準」有付款的形式,可以由一個新手「編輯」:/?
我們可以做些什麼來防止這種情況?
我在我的電子商務應用程序上使用標準的PHP paypal表單進行付款。PHP - PayPal API窗體和安全
我注意到,只有螢火蟲的人可以在發送支付請求之前通過「付款」按鈕來更改PayPal表單數據。
所以我想知道,是否有一個「標準」有付款的形式,可以由一個新手「編輯」:/?
我們可以做些什麼來防止這種情況?
這不是一個巨大的安全風險,因爲你應該檢查實際上支付了什麼!任何人都可以發佈任何數據。它與你的表格,甚至Firebug沒有多大關係。
您可以將該按鈕信息存儲在貝寶的服務器上,但不能動態生成。當您使用他們的嚮導爲您創建按鈕代碼時,有一個選項。
我不同意;我認爲這是你應該首先防止的事情。買方應支付的金額不應通過互聯網公開發送。我們可以遠離的時間早已過去。
此外,支票不會阻止交易執行不同的金額。它只會阻止任何交易後的戲劇。
是的,你應該在交易完成之後運行支票,但是即使有人不能理論上操縱amount
也應該發生。
有幾種選擇,你可以選擇根據您的要求是什麼最適合你,
什麼也不做,只實施交易後的檢查(例如用IPN)。
最簡單。從代碼的角度來看,您的PayPal集成看起來很簡陋,而且您仍然可以獲得所有這些0.01美元的欺詐交易。
在按鈕生成器中勾選'帶有PayPal的主機按鈕'選項,並使用PayPal的BMUpdateButton API動態更改按鈕的數量。
爲BMUpdateButton一個例子請求將如下所示:
USER =你的API的用戶名
PWD =你的API密碼
SIGNATURE =你的API簽名
METHOD = BMUpdateButton
VERSION = 82.0
HOSTEDUBTTONID =的值爲
BUTTONTYPE =按鈕的類型。例如。 BUYNOW
BUTTONCODE =您想要取回的代碼類型。例如。 HOSTED
L_BUTTONVAR0 =量=新的金額與期限作爲分隔符
L_BUTTONVAR1 = ITEM_NAME =可選:新項目的名稱,如果你想
同時使用BMCreateButton和BMUpdateButton API的雙方創建和更新按鈕貝寶。
您也可以使用BMCreateButton API創建一個新按鈕,或使用BMButtonSearch API搜索所有存儲的託管按鈕的列表(例如,自動查找您的按鈕的hosted_button_id)。
執行PayPal Express Checkout代替
由於它包含2-3個API調用,因此它可能是「最難實施」的一個事務,它也是最靈活的。如果使用網站付款標準(「按鈕」),只要買家點擊「立即付款」,交易即可完成,快速結賬可讓買家「同意」貝寶網站上的交易,您可以在任何時間0 - 3小時後,買方通過致電DoExpressCheckoutPayment
API調用初步同意付款。
對於一個快速破敗上集成快速結賬,看到Checkout my order basket with PayPal
嗯,我想太多它不是一個很大的安全隱患我的答案,只是要更舒適,你說得對! thx – sbaaaang
爲什麼downvote?我的回答錯誤? – Brad
downvote?我立即投票並檢查了答案:O – sbaaaang