繁体   English   中英

codeigniter mollie 支付网关集成问题

[英]codeigniter mollie payment gateway integration issue

我正在尝试使用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';
    }
}

使用重定向将设置一个新的标头并实际重定向用户。 在您的情况下,您需要使用 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') ?>"

这可能会帮助你

https://github.com/mollie/mollie-api-php

$payment->getCheckoutUrl() 对象返回给您结帐 url ,您需要重定向此 url

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM