如何使用Codeigniter实现INGENICO SDK?

时间:2017-12-19 03:21:06

标签: codeigniter payment-gateway

对于支付网关,我使用了Ingenico SDK并且它未在CI中正确实现,传递名称空间问题和类未找到问题。

2 个答案:

答案 0 :(得分:1)

从您的应用程序目录中,运行以下命令:

composer require ingenico-epayments/connect-sdk-php

接下来,您将需要拥有CodeIgniter autoload composer软件包,因此在config / config.php文件中:

$config['composer_autoload'] = TRUE;

现在你将能够使用作曲家包,这意味着在你的控制器或模型中你可以做这样的事情(我在控制器中显示使用):

<?php

use \Ingenico\Connect\Sdk\CommunicatorConfiguration;
use \Ingenico\Connect\Sdk\DefaultConnection;
use \Ingenico\Connect\Sdk\Communicator;
use \Ingenico\Connect\Sdk\Client;

class Test extends CI_Controller {

    public function __construct(){
        parent::__construct();
    }

    /**
     * This is an example of basic usage from
     * https://epayments.developer-ingenico.com/documentation/sdk/server/php/
     */
    public function index()
    {
        $communicatorConfiguration =
            new CommunicatorConfiguration('ApiKeyId', 'ApiSecret', 'BaseUri', 'Integrator');
        $connection = new DefaultConnection();
        $communicator = new Communicator($connection, $communicatorConfiguration);

        $client = new Client($communicator);

        // Do something with $client ...
    }
}

注意use语句如何位于类的上方,但没有命名空间。通常在CodeIgniter中,您将没有名称空间,除非它们是您自己的库或third_party类。由于没有命名空间,use语句让PHP知道您打算按名称使用Ingenico类,而不是使用\ Ingenico \ Connect \ Sdk作为前缀。如果这让你开心,你可以使用前缀而不是use语句。

答案 1 :(得分:1)

对于INGENICO SDK,有2个选项可用, 您也可以通过发送基于隐藏内容的数据并传递Ingenico Profile提供的密钥和用户名来使用它的服务。