php - 使用 cURL(或任何其他 PHP 服务器端解决方案)与 POST 数据一起转发到支付网关

标签 php post curl payment-gateway

我一直在尝试使用 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/

相关文章:

php - 如果键相同,如何组合两个数组并将其分块

php - 如何像参数一样将值从 php 传递给 c

php - YouTube搜索返回错误的总结果

java - 如何使用curl使用2个参数进行POST?休息。 java

batch-file - 保存 CURL 输出到批处理文件中的变量中

curl - Solr 通过 CURL 查询 - [globbing] 列中的错误范围

php - 对于 PHP REST API,如何在类定义之外定义/设置数据库连接参数?

ruby - 使用 Chef 捕获 HTTP 调用响应

android - 我究竟做错了什么?我的超时不起作用

javascript - JSON 未正确发布