我一直在尝试使用 cURL 尝试将 POST 数据传递到页面支付网关页面...
我无法模拟提交表单操作...我想将客户端转发到支付网关页面(连同 POST 数据)但我找不到执行此操作的方法...
我确实设法传递了 POST 数据,但生成的页面在我的域中加载(而不是将用户转发到支付网关)。
$connection = curl_init("https://paymentgateway.com/script");
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($connection, CURLOPT_POST, 1);
curl_setopt($connection, CURLOPT_POSTFIELDS, $postdata);
curl_exec($connection);
curl_close($connection);
应该怎么做?
最佳答案
几乎所有低端支付网关解决方案都希望您实际执行 POST 到他们的服务器,此时他们会在将用户返回到指定页面之前从最终用户那里获取支付详细信息一些状态信息。因此,使用 CURL 很容易导致问题。
您可能需要做的是通过 PHP 将相关表单输出到一个(非常)最小的 HTML 页面,并自动导致通过使用 onload 提交表单。
例如,如果您的表单的 ID 为“checkoutform”,您可以使用:
<body onload="document.getElementById(\'checkoutform\').submit();">
当然,这是非常糟糕的。 (但遗憾的是不可避免。)
关于php - 使用 cURL(或任何其他 PHP 服务器端解决方案)与 POST 数据一起转发到支付网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718243/