当前位置: 首页 > 知识库问答 >
问题:

laravel中razorpay响应后缺少路线所需的参数

龚苏燕
2023-03-14

我试图重定向到某个路由:url以捕获我的付款,我必须传递付款id金额以从控制器捕获,但路由会产生如下错误

提前谢谢

我犯的错误

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);
}

刀身razorpay完成后的php

"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;
        },

共有2个答案

阎宝
2023-03-14

我想你的参数名有误。

请更换

<代码>"rzp_id"=

“rzpId”=

并尝试

松献
2023-03-14

不能在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;
        },

 类似资料:
  • 问题内容: 我有一个重写版本discord.py。如果消息中包含内容,则不会发生错误。如果消息中内容不存在,则我希望该错误不会发生。 我的代码: 完整回溯: 问题答案: 命令解析参数的方式意味着定义 表示需要单词作为命令调用的一部分。如果您想捕获消息的其余部分,则可以使用仅关键字参数语法: 此功能在此处记录。

  • 我正在使用改型2.0来创建服务器上传文件的改型服务。 我引用的是https://futurestud.io/blog/regetfit-2-how-to-upload-files-to-server 下面是我的FileUploadService代码:

  • 我在使用Google OAuth2进行身份验证时遇到困难。 我已经从google开发者控制台获得了客户端ID和密码,我得到了以下代码: 但我从谷歌得到这个错误: 错误:invalid_request 缺少必需的参数:client_id 了解更多 请求详细信息client _ id = redirect _ uri = http://127 . 0 . 0 . 1:8080/auth respons

  • public void onMapReady(谷歌地图谷歌地图){mMap=谷歌地图;

  • 问题内容: 我正在开发一个游戏作为附带项目,很有趣,但是遇到了这个错误,我真的不知道为什么会发生… 这是代码: 我这样称呼它: 我得到的错误是: 有任何想法吗? 问题答案: 您不应直接调用类方法,而应创建该类的实例: 要详细说明该错误,您将得到: TypeError:turn()缺少1个必需的位置参数:“ playerImages” 这是因为需要第一个参数()的实例。类方法总是将实例作为第一个参数

  • 正如您所知,Laravel 5改变了您调用