在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>
问题是,在处理转账支付网关页面后,在浏览器中显示的支付HTML页面,有没有从过程隐藏的解决方案。请帮帮我。所有其他的工作罚款。
发布于 2021-03-06 17:48:33
我在这里使用了一个解决方案,使用bootstrap加载微调器,并在from和<div style="display:none">之外包装一个div
现在从隐藏和加载旋转器..。正在显示。
有人有更好的解决方案吗?请分享。
https://stackoverflow.com/questions/66503921
复制相似问题