Молли: Webhookurl хочет вернуть почтовый маршрут, но возвращает ошибку - PullRequest
0 голосов
/ 07 января 2019

Банкомат. Я делаю платежную систему с Mollie. Первый шаг платежа проходит плавно, пройдя платеж, но когда я запрашиваю прямую обратную связь, отправив его через webhookurl (что такое почтовый маршрут), он возвращает ошибку MethodNotAllowedHttpException. Я знаю, что люди говорили, чтобы удалить csrf на маршруте, перейдя в verifycsrftoken.php, но это сделало много, чтобы изменить мою проблему

Atm Я попытался полностью скопировать версию, указанную на сайте, но безуспешно. далее я попробовал там версию php, которая также дает мне дальнейшее. посмотрел вверх и увидел, что в app / http / kernal.php мне нужно удалить Illuminate \ Foundation \ Http \ Middleware \ VerifyCsrfToken, но его там нет.

public function index()
{
    $payment = Mollie::api()->payments()->create([
    'amount' => [
        'currency' => 'EUR',
        'value' => '10.00', // You must send the correct number of decimals, thus we enforce the use of strings
    ],
    'description' => 'My first API payment',
    'webhookUrl' => route('webhooks.mollie'),    
    "redirectUrl" => "https://Standardpage.com/payment",

    ]);

    $payment = Mollie::api()->payments()->get($payment->id);

    // redirect customer to Mollie checkout page
    return redirect($payment->getCheckoutUrl(), 303);
}

приведенный выше код - это та часть, которая отправляет вам идеальный платеж через там API. Эта часть работает большую часть времени без каких-либо ошибок

public function handle(Request $request) {
    if (! $request->has('id')) {
        return;
    }

    $payment = Mollie::api()->payments()->get($request->id);

    if($payment->isPaid()) {
        // do your thing...
    }
}

приведенный выше код - когда вы возвращаетесь с платежа, но он обычно не достигает этого, потому что он выдает ошибку MethodNotAllowedHttpException из-за почтового маршрута

Route::name('webhooks.mollie')->post('payment', 'Payments\MolliePaymentController@handle');

этот код выше меня - мой файл web.php.
Это маршрут, который Mollie использует в превью и страницах Github. Он использует метод post, который ломает функцию и возвращает эту ошибку. и если вы сделаете пост в get, он просто вернет пустой массив $ request

из-за ошибки, которую я получаю, это ошибка, которую я вижу, когда возвращаюсь со страницы оплаты. Ошибка, возвращаемая почтовым маршрутом

я должен получить идентификатор платежа, чтобы я мог вернуть платеж и сохранить платеж в базе данных.

В качестве реальных результатов мне удалось сделать это по-другому, но это указано на веб-сайте или в любом другом месте, то есть сохранить исходный $ платеж в $ _SESSION и использовать его снова в функции дескриптора, которая покажет платеж, и он вернет, что он заплатил бин.

...