J'ai un système de paiement, où les données sont soumises à un site tiers et ensuite renvoyées ...
Lorsque les données retournent, elles atteignent une URL spécifique permettant de dire/ok route. $_REQUEST['transaction']
.
Mais à cause de laravel middleware, je reçois une incompatibilité de jeton. Il n'y a aucun moyen que l'API de paiement tiers puisse générer un jeton, alors comment le désactiver? Uniquement pour cet itinéraire?
ou existe-t-il une meilleure option?
Route::get('/payment/ok', 'TransactionsController@Ok');
Route::get('/payment/fail', 'TransactionsController@Fail');
public function Ok( Request $request )
{
$transId = $request->get('trans_id');
if ( isset( $transId ) )
{
return $transId;
}
}
Depuis la version 5.1 le middleware VerifyCsrfToken de Laravel permet de spécifier des routes, qui sont exclues de la validation CSRF. Pour y parvenir, vous devez ajouter les routes à $ sauf dans votre tableau App\Http\Middleware\VerifyCsrfToken.php:
<?php namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
protected $except = [
'payment/*',
];
}
Voir docs pour plus d'informations.