0

我正在尝试使用https://github.com/mollie/mollie-api-php的参考在 codeIgniter 中应用 mollie 支付网关。但它在其中不起作用。我已经在 laravel 中使用过这个库,它在那里工作。当我尝试在codeIgniter中使用时,它直接将我重定向到redirectUrl,当我签入mollie支付仪表板时,没有付款。我不明白我做错了什么。谁能帮我?我在 composer.json 中使用了它并更新了作曲家

"mollie/mollie-api-php": "^2.0"

在我的控制器文件中,

class Mollie_test extends CI_Controller {
     public function make_payment()
    {
        $mollie = new \Mollie\Api\MollieApiClient();
        $mollie->setApiKey("test_key");
        $payment = $mollie->payments->create([
            'amount' => [
                'currency' => 'EUR',
                'value' => '10.00'
            ],
            'description' => 'tesst',
            'redirectUrl' => redirect('mollie_test/success')
        ]);
    }

    public function success()
    {
        echo 'payment process completed';
    }
}
4

1 回答 1

0

使用重定向将设置一个新的标头并实际重定向用户。在您的情况下,您需要使用 site_url。

所以你的代码应该是这样的:

class Mollie_test extends CI_Controller {
     public function make_payment()
    {
        $mollie = new \Mollie\Api\MollieApiClient();
        $mollie->setApiKey("test_key");
        $payment = $mollie->payments->create([
            'amount' => [
                'currency' => 'EUR',
                'value' => '10.00'
            ],
            'description' => 'tesst',
            'redirectUrl' => site_url('mollie_test/success')
        ]);
    }

    public function success()
    {
        echo 'payment process completed';
    }
}

许多人将 site_url 与 base_url 混淆,在这种情况下不应使用 base_url。

站点 url 也会将 index.php 添加到您的 url 以防您使用它。如果您的 url 中没有 index.php,您不必担心它也会起作用。

基本 url 应该用在你不希望 index.php 存在的资产上。

<img src="<?php echo base_url('foo/bar.jpg') ?>"
于 2020-10-22T19:43:53.293 回答