0
我無法驗證WorldPay針對電子商務網站的回叫。如何正確驗證worldpay的回撥回覆
根據the documentation對於成功的交易,WorldPay應該發佈名爲「transStatus」的值爲「Y」的參數。
這似乎很簡單,所以我寫了一個簡單的驗證功能查找此值:
private function validateRequest() {
if ($_POST['transStatus'] == "Y"){
return true;
} else {
throw new Exception("Transaction failed");
die();
}
}
}
,並運行回調頁面時,這個函數被調用了嘗試,像這樣:
try {$this->validateRequest()}
catch (Exception $e) {
mail("[email protected]", $e->getMessage(), $e->getTraceAsString());
throw new Exception("Could not validate payment.")
die();
}
不幸的是,當我測試這個WorldPay成功處理付款,但訂單沒有完成我的其他代碼。我檢查了我的日誌文件,但無法查看任何異常或錯誤。
什麼是從這裏採取的最佳方法?我應該如何着手解決這個問題?