Moll ie webhook не называется? - PullRequest
0 голосов
/ 19 января 2020

Итак, я пытаюсь сделать поддельные тестовые платежи для школьного проекта, используя Moll ie. Платежи и перенаправление после платежей работают просто отлично, но 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"]);

Вот как выглядит веб-крючок:

    $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 делает все что угодно. Когда я открываю свой браузер и go прямо в файл webhook. php. На самом деле он выполняет запрос, и я вижу его в базе данных. Поэтому я пришел к выводу, что с файлом Webhook все в порядке, но по какой-то причине Moll ie не вызывает его после совершения платежа.

Я также не могу найти какой-либо журнал ошибок или что-либо еще. Сайт управляется Directadmin, в котором есть журнал ошибок, но там тоже нет полезной информации.

У кого-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Я только что натолкнулся на ваш вопрос здесь, и как сотрудник Moll ie я смог найти ваши тестовые платежи в нашей системе. Оказывается, ваш SSL-сертификат недействителен. Сообщение об ошибке гласит:

SSL: certificate subject name 'localhost' does not match target host name '[mysite]'

Если вам нужна дополнительная информация, вы всегда можете обратиться в службу поддержки Moll ie. По техническим вопросам лучше всего подходит электронная почта.

0 голосов
/ 19 января 2020

В вашем сценарии оплаты вы только создаете платеж, но действительно ли вы что-то делаете с ответом и перенаправляете пользователя на указанный URL-адрес (в _links.checkout), чтобы фактически начать осуществлять фактический платеж?

См. https://docs.mollie.com/reference/v2/payments-api/create-payment для ссылки на ответ API и https://docs.mollie.com/payments/overview для обзора потока, использованного в процессе оплаты!

...