Я создал форму, которая при отправке должна перейти к функции контроллера.
В момент отправки формы я продолжаю получать
Запрещено
У вас нет прав доступа к / client_area / shop / payment-gateway на этом сервере.
Кроме того, возникла ошибка 403 Forbidden при попытке использовать ErrorDocument для обработки запроса.
Я делал формы раньше, но это впервые, когда это случилось со мной, и это поставило меня в тупик.
моя форма
<div class="payment-form">
<form action="{{ route('payment.gateway') }}" method="POST">
@csrf
<input type="hidden" name="return_url" value="{{ route('payment.success') }}">
<input type="hidden" name="cancel_url" value="{{ route('payment.cancel') }}">
<input type="hidden" name="m_payment_id" value="{{ $invoice_number }}">
<input type="hidden" name="amount" class="completePrice" value="">
<input type="hidden" name="item_name" value="Test Item">
<input type="hidden" name="item_description" value="A test product">
<input type="hidden" name="delivery_collection" class="delivery_collection" value="">
<input type="hidden" name="delivery_fee" class="delivery_fee" value="{{ $delivery }}">
<input type="hidden" name="delivery_address" class="delivery_address" value="{{ $address }}">
<button type="submit" class="btn btn-success float-right confirm-order">
Confirm Order
</button>
</form>
</div>
мои маршруты
Route::group(['middleware' => ['web', 'auth']], function(){
Route::get('/account/dashboard', 'UsersController@accountDashboard')->name('account.dashboard');
Route::get('/account/details', 'UsersController@personalDetails')->name('account.details');
Route::get('/account/track-orders', 'UsersController@trackOrders')->name('account.track-orders');
Route::get('/account/invoices', 'UsersController@invoices')->name('account.invoices');
Route::get('/account/address', 'UsersController@addressesIndex')->name('account.addresses.index');
Route::get('/account/sort-orders', 'UsersController@sortOrders')->name('account.sort-orders');
Route::get('/account/order-details/{invoice_number}', 'UsersController@orderDetails')->name('account.order-details');
Route::get('/account/invoice-pdf/{id}', 'UsersController@invoicesPdf')->name('account.invoices.pdf');
Route::get('/account/create-address', 'UsersController@createAddress')->name('account.create.address');
Route::get('/account/edit-address/{id}', 'UsersController@editAddress')->name('account.edit.address');
Route::get('/delivery-confirmation', 'PublicController@deliveryConfirmation')->name('cart.deliveryConfirmation');
Route::get('/account/edit-delivery-address/{id}', 'UsersController@editDeliveryAddress')->name('account.edit.delivery.address');
Route::get('/payment-success', 'PublicController@successPayment')->name('payment.success');
Route::get('/payment-cancel', 'PublicController@cancelPayment')->name('payment.cancel');
Route::post('/account/personal-details', 'UsersController@postPersonalDetails')->name('post.personal-details');
Route::post('/account/business-details', 'UsersController@postBusinessDetails')->name('post.business-details');
Route::post('/account/addresses-radio/{id}', 'UsersController@postAddressesRadio')->name('account.post.addresses.radio');
Route::post('/account/create-address', 'UsersController@postAddress')->name('account.post.address');
Route::post('/account/edit-address/{id}', 'UsersController@updateAddress')->name('account.update.address');
Route::post('/payment-gateway', 'PublicController@paymentGateway')->name('payment.gateway');
Route::delete('/account/delete-delivery-address/{id}', 'UsersController@deleteDeliveryAddress')->name('account.delete.delivery.address');
});
Я только сделал dd()
, чтобы убедиться, что нажал нужную функцию
public function paymentGateway()
{
dd('this is a payment gateway');
}
My Auth Middleware
<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
Это то, что я вижу, когда просматриваю вкладку сети. Так как это много изображений, я подумал, что было бы лучше иметь их в качестве ссылки, чем просто вставлять изображения сюда.
Изображение 1
Изображение 2
Изображение 3
Изображение 4
Изображение 5
Изображение 6
Изображение 7
Изображение 8