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 ответ
Похоже, ваш код настроен на использование сертификата вместо метода подписи, но на ваших серверах не установлен и не настроен сертификат SSL для работы с PayPal, что в любом случае является довольно болезненной задачей. Я бы порекомендовал перейти на метод подписи, и тогда вам вообще не придется возиться с этим.
Я не знаком с библиотекой, которую вы используете, но должен быть какой-то способ установить это. Возможно, вы захотите взглянуть на мою собственную библиотеку CodeIgniter для PayPal, которая довольно популярна.
Однако я фактически прекратил обслуживание этой специфичной для CI библиотеки, потому что теперь моя общая библиотека PHP для PayPal обновлена для PHP 5.3+ и работает с Composer / Packagist, что позволяет вам использовать ее в CodeIgniter или любой другой среде.
На сегодняшний день библиотека CI не сильно отстает, но, опять же, я больше не обновляю ее. Сейчас я поддерживаю только общую версию, так как она работает везде.
В любом случае, это делает каждый вызов PayPal API очень простым для вас.