首页 > 解决方案 > Laravel 8 - Payumoney 集成成功页面问题

问题描述

让我在这里清除整个场景

PayuFormData()我将用户购物车详细信息发送到 payumoney 表单。

Returnpay()我只是返回查看页面(我们以 payumoney 形式给出的SURL )。

我的付款成功,也显示在 payumoney 仪表板中。

问题是,我想显示成功消息并在 pay2 页面上运行一些插入查询,但它在 pay2 页面上显示了这个(见我附上的图片)

在此处输入图像描述

控制器:-

public function PayuFormData()
{
   $frmdata = DB::table('carts')->where('email',Session::get('email'))->get();
   return view('/pay1')->with('frmdata',$frmdata);
}

public function Returnpay()
{
  return view('/pay2');
}

路线:-

 Route::get('/pay1', 'App\Http\Controllers\CustomerController@PayuFormData');
 Route::get('/pay2', 'App\Http\Controllers\CustomerController@Returnpay');

Pay2 刀片视图:-

@include('header')

<?php

$status=$_POST["status"];
$firstname=$_POST["firstname"];
$amount=$_POST["amount"];
$txnid=$_POST["txnid"];
$posted_hash=$_POST["hash"];
$key=$_POST["key"];
$productinfo=$_POST["productinfo"];
$email=$_POST["email"];
$salt="jFdrP6QzU7";
$udf1=$_POST["udf1"];
$udf2=$_POST["udf2"];
$udf3=$_POST["udf3"];
$udf4=$_POST["udf4"];
$udf5=$_POST["udf5"];

// Salt should be same Post Request 

If (isset($_POST["additionalCharges"])) {
       $additionalCharges=$_POST["additionalCharges"];
        $retHashSeq = $additionalCharges.'|'.$salt.'|'.$status.'|||||||||||'.$email.'|'.$firstname.'|'.$productinfo.'|'.$amount.'|'.$txnid.'|'.$key;
  } else {
        $retHashSeq = $salt.'|'.$status.'||||||'.$udf5.'|'.$udf4.'|'.$udf3.'|'.$udf2.'|'.$udf1.'|'.$email.'|'.$firstname.'|'.$productinfo.'|'.$amount.'|'.$txnid.'|'.$key;
         }
     $hash = hash("sha512", $retHashSeq);
       if ($hash != $posted_hash) {
         echo "Invalid Transaction. Please try again";
       } else {

         echo "Payment successful";
         // and some insert queries
       }
?>  

@include('footer')

标签: laravelpayment-gatewaypayumoney

解决方案


感谢@Clément Baconnier

将路由更改为POST并将此代码添加到 C:\xampp\htdocs\larastore\app\Http\Middleware\VerifyCsrfToken.php

class VerifyCsrfToken extends Middleware
{
    protected $except = [
        'MyPageUrl',
    ];
}

推荐阅读