だから私はモリーを使って、学校のプロジェクトのために偽のテスト支払いをしようとしています. 支払い、および支払い後のリダイレクトは正常に機能しますが、Webhook.php は呼び出されないようです。これは、支払いスクリプトで行われていることです。
$payment = $mollie->payments->create([
"amount" => [
"currency" => "EUR",
"value" => "7.50"
],
"description" => "Ad Highlight",
"redirectUrl" => "https://[mysite]/redirect.php [working]",
"webhookUrl" => "https://[mysite]/webhook.php"]);
Webhook は次のようになります。
$servername = "localhost";
$username = "[workingusername]";
$password = "[workingpassword]";
$dbname = "[workingDB]";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO test (te)
VALUES ('TEST')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
require_once("mollie/vendor/autoload.php");
require_once("mollie/examples/functions.php");
$mollie = new \Mollie\Api\MollieApiClient();
$mollie->setApiKey("[validkey]");
$payment = $mollie->payments->get($_POST["id"]);
$orderId = $payment->metadata->order_id;
/*
* Update the order in the database.
*/
database_write($orderId, $payment->status);
if ($payment->isPaid() && !$payment->hasRefunds() && !$payment->hasChargebacks()) {
/*
* The payment is paid and isn't refunded or charged back.
* At this point you'd probably want to start the process of delivering the product to the customer.
*/
}
ご覧のとおり、Webhook が何かを実行しているかどうかを確認するためだけにテスト クエリを作成しました。ブラウザを開いて webhook.php ファイルに直接アクセスすると。実際にクエリが実行され、データベースで確認できます。したがって、Webhook ファイルは問題ないと結論付けましたが、何らかの理由で Mollie は支払いを行った後にそれを呼び出しません。
エラーログなども見つかりません。このサイトは Directadmin によって制御されており、エラー ログはありますが、有用な情報もありません。
誰かアイデアはありますか?