laravel 中的 razorpay 响应后缺少所需的路由参数
Missing required parameters for Route after razorpay response in laravel
我尝试重定向到一些 route:url
来捕获我的付款,我必须通过 payment_id
和 amount
从控制器捕获,但是路由给出如下错误
提前致谢
我遇到的错误
ErrorException (E_ERROR)
Missing required parameters for [Route: razorpay.standard.success] [URI: razorpay/standard/success/{rzpId}/{amount}]. (View: /home/valpuia/projects/bagisto/packages/Vaube/Razorpay/src/Resources/views/standard-redirect.blade.php)
我的路线
Route::prefix('razorpay/standard')->group(function () {
Route::get('/success/{rzpId}/{amount}', 'RazorPayController@success')->name('razorpay.standard.success');
}
控制器
public function success($rzpId, $amt)
{
dd($rzpId);
}
Blade.php after razorpay completed
"handler": function (response){
// alert(response.razorpay_payment_id);
if (typeof response.razorpay_payment_id == 'undefined' || response.razorpay_payment_id < 1) {
redirect_url = '{{ route('razorpay.standard.cancel') }}';
} else {
redirect_url = '{{ route('razorpay.standard.success', [ "rzp_id" => 'response.razorpay_payment_id', "amount" => '$total_amount * 100']) }}';
}
location.href = redirect_url;
},
我认为你的参数名称有错字。
请替换
"rzp_id" => 'response.razorpay_payment_id'
和
"rzpId" => 'response.razorpay_payment_id'
并尝试
您不能在 PHP
中使用 javascript 变量
试试这个解决方案:
Route::prefix('razorpay/standard')->group(function () {
Route::get('/success/{rzpId?}/{amount?}', 'RazorPayController@success')->name('razorpay.standard.success');
}
然后将路线更改为
"handler": function (response){
// alert(response.razorpay_payment_id);
if (typeof response.razorpay_payment_id == 'undefined' || response.razorpay_payment_id < 1) {
redirect_url = '{{ route('razorpay.standard.cancel') }}';
} else {
redirect_url = '{{ route("razorpay.standard.success")}}/'+response.razorpay_payment_id+'/'+'{{$total_amount * 100}}';
}
location.href = redirect_url;
},
我尝试重定向到一些 route:url
来捕获我的付款,我必须通过 payment_id
和 amount
从控制器捕获,但是路由给出如下错误
提前致谢
我遇到的错误
ErrorException (E_ERROR)
Missing required parameters for [Route: razorpay.standard.success] [URI: razorpay/standard/success/{rzpId}/{amount}]. (View: /home/valpuia/projects/bagisto/packages/Vaube/Razorpay/src/Resources/views/standard-redirect.blade.php)
我的路线
Route::prefix('razorpay/standard')->group(function () {
Route::get('/success/{rzpId}/{amount}', 'RazorPayController@success')->name('razorpay.standard.success');
}
控制器
public function success($rzpId, $amt)
{
dd($rzpId);
}
Blade.php after razorpay completed
"handler": function (response){
// alert(response.razorpay_payment_id);
if (typeof response.razorpay_payment_id == 'undefined' || response.razorpay_payment_id < 1) {
redirect_url = '{{ route('razorpay.standard.cancel') }}';
} else {
redirect_url = '{{ route('razorpay.standard.success', [ "rzp_id" => 'response.razorpay_payment_id', "amount" => '$total_amount * 100']) }}';
}
location.href = redirect_url;
},
我认为你的参数名称有错字。
请替换
"rzp_id" => 'response.razorpay_payment_id'
和
"rzpId" => 'response.razorpay_payment_id'
并尝试
您不能在 PHP
中使用 javascript 变量试试这个解决方案:
Route::prefix('razorpay/standard')->group(function () {
Route::get('/success/{rzpId?}/{amount?}', 'RazorPayController@success')->name('razorpay.standard.success');
}
然后将路线更改为
"handler": function (response){
// alert(response.razorpay_payment_id);
if (typeof response.razorpay_payment_id == 'undefined' || response.razorpay_payment_id < 1) {
redirect_url = '{{ route('razorpay.standard.cancel') }}';
} else {
redirect_url = '{{ route("razorpay.standard.success")}}/'+response.razorpay_payment_id+'/'+'{{$total_amount * 100}}';
}
location.href = redirect_url;
},