CI Merchant no output



我正在尝试使用CI Merchant库作为代码签名器这是我的代码:

$this->load->library('merchant');
    $this->merchant->load('paypal_express');
    $settings = array(
        'username' => 'api.sandbox.paypal.com',
        'password' => 'AQHaXxDW3dlKDRDJ7lDtGr4w8-reNNfvPFUKmEr9npMzYjZ2WIbfqqI3VL2C',
        'signature' => 'EMbUfhBCqBZw8hhH6q8VZT_53-xwoOs6_lotS68I7qrY5iyHPLgDitrsAZj5',
        'test_mode' => true);
    $this->merchant->initialize($settings);
    $params = array(
        'amount' => 100.00,
        'currency' => 'USD',
        'return_url' => 'https://www.example.com/checkout/payment_return/123',
        'cancel_url' => 'https://www.example.com/checkout');
    $response = $this->merchant->purchase($params);
    echo '<pre>';
    print_r($response);
    echo '</pre>';

但当我在本地运行它时,结果是:

    Merchant_response Object
(
[_status:protected] => failed
[_message:protected] => error setting certificate verify locations:
CAfile: C:xampphtdocsegyptianornamentsapplicationconfig/cacert.pem
CApath: none
[_reference:protected] => 
[_data:protected] => 
[_redirect_url:protected] => 
[_redirect_method:protected] => GET
[_redirect_message:protected] => 
[_redirect_data:protected] => 
)

当我在服务器上运行时,我会得到一个空白页面那么我做错了什么?

看起来您的代码设置为使用证书而不是签名方法,但您的服务器没有安装SSL证书并将其配置为与PayPal一起使用,这确实是一件很痛苦的事情。我建议切换到签名方法,这样你就不必再麻烦了。

我不熟悉你正在使用的库,但一定有办法设置它。你可能还想看看我自己的PayPal CodeIgniter库,它非常受欢迎。

不过,我实际上已经停止了对该CI特定库的维护,因为我现在已经为PayPal更新了通用PHP库,使其适用于PHP 5.3+,并使用Composer/Packagist,这允许您在CodeIgniter或任何其他框架中使用它。

到今天为止,CI特定库已经不远了,但我不会再更新它了。我现在只维护通用版本,因为它在任何地方都有效。

无论如何,它使每一个贝宝API调用对你来说都非常简单。

相关内容

  • 没有找到相关文章

最新更新