1

我的任务是将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服务器几次导致它在橙色徽标上停留了很长时间

4

0 回答 0