Php Laravel 5.2提交时将表单发布到外部URL

Php Laravel 5.2提交时将表单发布到外部URL,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我正在使用第三方支付服务 <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="

我正在使用第三方支付服务

<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的响应,并在需要时对其进行操作或使用


希望这有帮助。

实现这一点的最佳方法是:

将表单数据发布到您自己的URL之一,然后使用Guzzle客户端或curl请求将此数据发布到所需的外部URL

这种方法将帮助您跟踪来自外部URL的响应,并在需要时对其进行操作或使用


希望这能有所帮助。

您可以在controller上完成,一个好的方法是在controller上获取这些变量,将它们传递到存储库/服务层,执行所有验证检查,一旦一切正常,通过
CURL POST
发送它们

您可以使用
Request
验证表单字段。验证、处理和发送

下面是通过curlpost发送数据的代码

$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);

您可以在控制器上执行此操作,一个好方法是在控制器上获取这些变量,将它们传递到存储库/服务层,执行所有验证检查,一旦一切正常,通过
CURL POST
发送它们

您可以使用
Request
验证表单字段。验证、处理和发送

下面是通过curlpost发送数据的代码

$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);

尝试在表单操作中添加双正斜杠

例如,


仅此而已。

尝试在表单操作中添加双正斜杠

例如,


仅此而已。

您所说的外部URL是什么意思?这是你自己的域名还是将其发布到其他人的URL?@Qazi它将转到我使用的支付服务。不是我自己的域名。你说的外部URL是什么意思?这是你自己的域名还是将其发布到其他人的URL?@Qazi它将转到我使用的支付服务。不是我自己的领域。你说的“跟踪响应”是指我可以得到他们发送回来的响应变量。例如,我将得到回复,如
https://example.com/return.html?order_id=6&code=000&msg=Success&error=000ApprovalCode=012345
我将能够获得
Success
ApprovalCode
参数,并使用它们更新表格或将其传递给控制器?@michealb是的,这正是我想说的。您可以轻松地使用他们将发送的响应作为确认。对于PayU Money和其他类似的网关,您必须直接从视图发布数据。@ManilBetra抱歉,最后一个问题。“将数据发布到自己的URL”是什么意思?你有什么例子吗?Own URL意味着在你自己的应用程序中创建一个路由,该表单在其上发布数据,你可以在你自己的控制器中捕获该路由。通过“跟踪响应”,你的意思是我可以获取他们发送回的响应变量。例如,我将得到回复,如
https://example.com/return.html?order_id=6&code=000&msg=Success&error=000ApprovalCode=012345
我将能够获得
Success
ApprovalCode
参数,并使用它们更新表格或将其传递给控制器?@michealb是的,这正是我想说的。您可以轻松地使用他们将发送的响应作为确认。对于PayU Money和其他类似的网关,您必须直接从视图发布数据。@ManilBetra抱歉,最后一个问题。“将数据发布到自己的URL”是什么意思?你有什么例子吗?Own URL意味着在你自己的应用程序中创建一个路由,该表单在其中发布数据,你可以在你自己的控制器中捕捉到。