我正在尝试将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] =>
)
当我在服务器上运行时,我得到一个空白页面 那么我做错了什么?
答案 0 :(得分:0)
看起来您的代码设置为使用证书而不是签名方法,但您的服务器没有安装SSL证书并配置为使用PayPal,这无论如何都要付出很大的代价。 。我建议切换到签名方法,然后你根本不必弄乱它。
我不熟悉您正在使用的库,但必须有某种方法来设置它。您可能还想看看我非常受欢迎的CodeIgniter library for PayPal。
我实际上已经停止了对该CI特定库的维护,因为我现在已经为PHP 5.3+更新了我的一般PHP library for PayPal并使用Composer / Packagist,它允许您在CodeIgniter中使用它或任何其他框架。
截至今天,CI特定的图书馆还远未落后,但我再也没有更新它了。我现在只维护通用版本,因为它可以在任何地方使用。
无论如何,它使您的每个PayPal API调用都非常简单。