Что Laravel не получает событий веб-перехватчика системы PayPal


Что Laravel не получает событий веб-перехватчика системы PayPal

18.09.2020 11:06:02 Просмотров 34 Источник

Здравствуйте, я новичок в laravel и создаю платформу электронной коммерции (детали не важны) в любом случае моя проблема я создал маршрут, который может уловить все события от PayPal веб-перехватчик, но когда я напрямую к нему доступ это работает, но когда я пытаюсь от PayPal веб-перехватчик симулятор или даже если сделал песочницу платеж не прошел я знаю, что проблема от CSRF проверки и я попробовал кроме маршрута, но не работал, а также попытался создать новый RouteServiceProvider вот мой код в контроллер, так что я могу что-то поймать из запроса

$headers = getallheaders();

file_put_contents("/home/username/public_html/test.txt", json_encode($headers));

вот мой маршрут

Route::domain(env("APP_DOMAIN"))->group(function () {
    Route::get('/paypal/n', 'HomeController@notifications');
});

я использовал domain(env("APP_DOMAIN")), потому что каждый может добавить свой собственный домен, и я хочу, чтобы это работало только в главном домене .

код в RouteServiceProvider

public function map()
{
    $this->mapApiRoutes();

    $this->mapWebRoutes();

    $this->mapPaymentRoutes();

    //
}

protected function mapPaymentRoutes()
{
    Route::middleware('payment')
        ->namespace($this->namespace)
        ->group(base_path('routes/payment.php'));
}

и конечно же я определил платежное промежуточное программное обеспечение в файле Kernel.php и прокомментируйте класс VerifyCsrfToken

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
    'payment' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        // \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],

    'api' => [
        'throttle:60,1',
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
];

и даже со всем этим и как много тестов я не мог заставить его работать , если я посылаю запрос в чистый php-файл, он работает нормально. не могли бы вы помочь мне с этим я пытался найти решение самостоятельно, но это занимает у меня около 15 дней без какой-либо удачи я использую laravel 6 .

У вопроса есть решение - Посмотреть?

Ответы - Что Laravel не получает событий веб-перехватчика системы PayPal / Laravel not receiving paypal webhook events

Является ответом!
lhbib hbart

28.09.2020 03:04:48

в случае, если кто-то еще борется с этой проблемой мне пришлось работать круглый создавая чистый php файл в государственных и отправить веб-перехватчик запрос к этому файлу url/file.php и файл данных и отправить его в команду я создал внутри что Laravel для обработки его, так что все, что не имеет ничего общего с базой данных внутри фреймворк Laravel и file.php это просто как труба . я знаю, что это не самая лучшая идея, но и не самая худшая , и спасибо всем, кто пытался мне помочь .

Помочь в развитии проекта:
Закрыть X