我的任务是将magento的支付网关从asp转换为php,asp一个对于旧站点来说已经过时了,需要一个新的,查看所有的asp代码我可以很容易地做到这一点,但有一件事这让我明白了。
Magento 使用它Varien_Http_Adapter_Curl
来将 xml 发送到支付网关,虽然我了解 .asp 文件如何获取 xml 数据(使用Request.InputStream
),但我似乎无法在 php 文件中复制它。这是我能得到的最接近的
function Page_Load()
{
$cUrl = curl_init();
$dump = curl_exec($cUrl);
$file = fopen("Gateway.txt","w");
echo fwrite($file,var_export($dump,true));
fclose($file);
var_dump($dump);
}
Page_Load();
我将magento后端中的支付网关URL更改为我的php文件并通过结帐,它创建了.txt文件,但它包含的所有内容都是错误的
那么我如何在我的 Page_Load 函数中接收 magento 的输出,目前我只是将它输出到一个文件中只是为了确认我得到了一个响应
更新:我已将代码更改为此
function Page_Load()
{
$cUrl = curl_init();
curl_setopt($cUrl,CURLOPT_URL,"http://my.site.local/Current-Build/gateway/Gateway.php");
curl_setopt($cUrl,CURLOPT_RETURNTRANSFER,true);
$dump = curl_exec($cUrl);
if(!$dump)
{
$dump = curl_error($cUrl);
}
$file = fopen("Gateway.txt","a");
echo fwrite($file,var_export($dump,true));
fclose($file);
curl_close($cUrl);
var_dump($dump);
}
Page_Load();
该站点位于已上线的 wamp 服务上,因此我的开发团队中的任何人都可以访问它,并且它也是在 magento 中为设置为旧 aspx 文件的支付网关 url 的支付方式中指定的相同路径
当我然后去结帐时,虽然magento给了我正常的错误,因为它没有得到响应我的输出文件甚至没有被创建,当我尝试回到magento时它只是坐在那里加载,我必须重新启动WAMP服务器几次导致它在橙色徽标上停留了很长时间