CI Merchant没有输出

时间:2014-04-20 15:14:41

标签: codeigniter paypal ci-merchant

我正在尝试将CI Merchant库用于codeignator 这是我的代码:

$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:\xampp\htdocs\egyptianornaments\application\config/cacert.pem
CApath: none
[_reference:protected] => 
[_data:protected] => 
[_redirect_url:protected] => 
[_redirect_method:protected] => GET
[_redirect_message:protected] => 
[_redirect_data:protected] => 
)

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

1 个答案:

答案 0 :(得分:0)

看起来您的代码设置为使用证书而不是签名方法,但您的服务器没有安装SSL证书并配置为使用PayPal,这无论如何都要付出很大的代价。 。我建议切换到签名方法,然后你根本不必弄乱它。

我不熟悉您正在使用的库,但必须有某种方法来设置它。您可能还想看看我非常受欢迎的CodeIgniter library for PayPal

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

截至今天,CI特定的图书馆还远未落后,但我再也没有更新它了。我现在只维护通用版本,因为它可以在任何地方使用。

无论如何,它使您的每个PayPal API调用都非常简单。