[英]Laravel 5.2 Post form to external URL on submit
我正在使用第三方付款服务。
<form name="form1" method="post" action="https://exampledomain.com/postpayment.php">
<input type="hidden" name="CRESecureID" value="1"/>
<input type="hidden" name="trans_type" value=" 2"/>
<input type="hidden" name="content_template_url" value="https://example.com/enterpaymentdetails.html"/>
<input type="hidden" name="allowed_types" value=" 3"/>
<input type="hidden" name="total_amt" value="$payment->amount"/>
<input type="hidden" name="collect_total_amt" value="$payment->total"/>
<input type="hidden" name="sess_id" value="e91dd8af53j35k072s0bubjtn7"/>
<input type="hidden" name="sess_name" value="session"/>
<input type="hidden" name="return_url" value="https://example.com/return.html"/>
<p><label> <input type="submit" name="submit" value="submit"/> </label></p>
如何将这些变量正确发送到外部URL? 我应该在控制器中这样做吗? 一个例子会有所帮助。
谢谢
实现此目的的最佳方法是:
将表单数据发布到您自己的URL之一,然后使用Guzzle客户端或curl请求将此数据发布到所需的外部URL。
这种方法将帮助您跟踪来自外部URL的响应,并在需要时进行操纵或使用。
希望这可以帮助。
您可以在控制器上执行此操作,一个好的方法是将这些变量保存在控制器上,将它们传递到存储库/服务层,执行所有验证检查,一旦一切正常,就通过CURL POST
发送它们。
您可以使用“ Request
来验证表单字段。 验证,处理和发送。
这是通过CURL发布发送数据的代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URL_OF_API");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFieldsArray);
$data = curl_exec($ch);
curl_close($ch);
尝试在表单操作中添加双斜杠
例如<form action="{{'//newsite.com/whatever'}}" >
就这些。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.