我正在尝试通过我的自定义 webhook 中的付款 ID 检索 mollie 付款:
$payment = $mollie->payments->get($_POST["id"]);
为了测试它(因为我不能 var_dump 一个 webhook),我将支付 ID 写入 request.log 文件。这确实将正确的付款 ID 写入日志文件:
$fp = file_put_contents('request.log', $payment->id );
之后,我通过以下方式将此付款 ID 和其他一些数据写入数据库:
$conn = $GLOBALS['database']->dbconnect();
$webshopQuery = "INSERT INTO orders (userID, paymentID, paymentDateTime) VALUES (?,?,?)";
$stmt = $conn->prepare($webshopQuery);
$stmt->bind_param("iss", $userID, $paymentID, $paymentDate);
$stmt->execute();
(我从函数参数中获取参数变量。我没有在片段中插入这个函数,因为它与它没有太大关系)
这不会向我的数据库写入任何内容。
当我在我的 mollie 重定向文件上运行相同的代码时,它确实会写入数据库。
我很困惑为什么它不起作用。我究竟做错了什么?有什么方法可以调试 webhook 页面上的查询吗?
编辑(我已经把它归结为一个更简单的问题):
我有一个从 Mollie 支付 API 获取 paymentID 的 webhook。
$payment = $mollie->payments->get($_POST["id"]);
file_put_contents('request.log', $payment->id);
$Webshop_Service->service_savePayment($loggedInUser->userID, "testID");
该功能service_savePayment
经过测试并且可以工作。file_put_contents('request.log', $payment->id);
只有当DOES 将 mollie 写入$payment->id
文本文件时它不会被调用。