首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集成在laravel中支付网关

集成在laravel中支付网关
EN

Stack Overflow用户
提问于 2021-03-06 16:48:46
回答 1查看 55关注 0票数 0

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

控制器页代码...

代码语言:javascript
复制
$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'));

这是来自的付款流程

代码语言:javascript
复制
<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>

问题是,在处理转账支付网关页面后,在浏览器中显示的支付HTML页面,有没有从过程隐藏的解决方案。请帮帮我。所有其他的工作罚款。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-06 17:48:33

我在这里使用了一个解决方案,使用bootstrap加载微调器,并在from和<div style="display:none">之外包装一个div

现在从隐藏和加载旋转器..。正在显示。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66503921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档