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成功处理付款,但订单没有完成我的其他代码。我检查了我的日志文件,但无法查看任何异常或错误。
什么是从这里采取的最佳方法?我应该如何着手解决这个问题?