支付网关集成在 Laravel 中

时间:2021-03-06 08:48:46

标签: javascript php laravel

在 laravel 项目中集成支付网关。但是在网关支付显示 2-3 秒后点击购买按钮时出现了一些问题,然后重定向到支付网关页面。

控制器页面代码...

$data=[
       'MERCHANT_KEY'=>'ruokj38',
       'txnid'=>substr(hash('sha256', mt_rand() . microtime()), 0, 20),
       'firstname'=>'test name',
       'email'=> 'testemail@mail.com',
       'phone'=>'1234567890',
       'productinfo'=>'2',
       'totalCost'=>'999',
       'surl'=>'https://url.../buynowproductsucess',
       'furl'=>'https://url../buynowproductfailure',
       'service_provider'=>'payu_paisa',
       'SALT'=>'893ih983mbd',
       'hash'=>'',
       'action'=>'https://sandboxsecure.payu.in/_payment'

    ];

    $hash_string = $data['MERCHANT_KEY']."|".$data['txnid']."|".$data['totalCost']."|".$data['productinfo']."|".$data['firstname']."|".$data['email']."|||||||||||".$data['SALT'];
    $data['hash'] = strtolower(hash('sha512', $hash_string));
    //$data['hash']= $hash_string;
    //$data['action'] = PAYU_BASE_URL . '/_payment';



return view('webpages.payment',compact('data'));

这是来自

的付款流程

<html>
   <head>
      <script>
         window.onload = function(){
           
         document.forms['payuForm'].submit();
         $('#overlay').fadeOut();
         }
         
         
      </script>
   </head>
   <body onload="document.forms['payuForm'].submit()">
      <div id="overlay">
         Loading...
      </div>
      <h2>PayU Form</h2>
      <br/> 
      <form action="{{$data ['action']}}" method="post" name="payuForm">
         <input type="hidden" name="key" value="{{$data ['MERCHANT_KEY']}}" />
         <input type="hidden" name="hash" value="{{$data['hash']}}"/>
         <input type="hidden" name="txnid" value="{{$data ['txnid']}}" />
         <table>
            <tr>
               <td><b>Mandatory Parameters</b></td>
            </tr>
            <tr>
               <td>Amount: </td>
               <td><input name="amount" value="{{$data ['totalCost']}}" /></td>
               <td>First Name: </td>
               <td><input name="firstname" id="firstname" value="{{$data['firstname']}}" /></td>
            </tr>
            <tr>
               <td>Email: </td>
               <td><input name="email" id="email" value="{{$data ['email']}}" /></td>
               <td>Phone: </td>
               <td><input name="phone" value="{{$data ['phone']}}" /></td>
            </tr>
            <tr>
               <td>Product Info: </td>
               <td colspan="3"><textarea name="productinfo">{{$data ['productinfo']}}</textarea></td>
            </tr>
            <tr>
               <td>Success URI: </td>
               <td colspan="3"><input name="surl" value="{{$data ['surl']}}" size="64" /></td>
            </tr>
            <tr>
               <td>Failure URI: </td>
               <td colspan="3"><input name="furl" value="{{$data ['furl']}}" size="64" /></td>
            </tr>
            <tr>
               <td colspan="3"><input type="hidden" name="service_provider" value="payu_paisa" size="64" /></td>
            </tr>
            <tr>
               <td colspan="4"><input type="submit" value="Submit" /></td>
            </tr>
         </table>
      </form>
   </body>
</html>
enter image description here

问题是在处理转帐支付网关页面后浏览显示的支付HTML页面时,是否有处理隐藏的解决方案。请帮我。所有其他工作罚款...

1 个答案:

答案 0 :(得分:0)

我在这里使用了一个解决方案,一个带引导程序的加载微调器,并在 from 外面包裹一个 div 并用 msg.inbound 隐藏

现在从隐藏和加载微调器......显示。

有人有更好的解决方案吗?请分享。