我正在使用第三方付款服务。
<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>
如何正确地将这些变量发送到外部网址?我应该在控制器中做吗?一个例子会有所帮助。
由于
答案 0 :(得分:5)
实现这一目标的最佳方法是:
将表单数据发布到您自己的URL之一,然后使用Guzzle客户端或curl请求将此数据发布到所需的外部URL。
此方法可帮助您跟踪外部网址的响应,并根据需要进行操作或使用。
希望这有帮助。
答案 1 :(得分:1)
您可以在控制器上执行此操作,一种好方法是在控制器上获取这些变量,将它们传递到存储库/服务层,执行所有验证检查,一旦一切正常,通过CURL POST
发送它们。
您可以使用Request
来验证表单字段。验证,处理和发送。
以下是通过CURL post发送数据的代码
$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);
答案 2 :(得分:0)
尝试在表单操作中添加双正斜杠
E.g。 <form action="{{'//newsite.com/whatever'}}" >
就是这样。