Laravel 4.2 и PayPal SDK

Может кто-нибудь сказать мне, почему я получаю следующую ошибку:

exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'PayPal\Rest\ApiContext' not found'

Вот мой код контроллера:

<?php

use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\ExecutePayment;
use PayPal\Api\PaymentExecution;
use PayPal\Api\Transaction;

class PaypalPaymentController extends BaseController {

private $_api_context;

public function __construct() {

// setup PayPal api context
$paypal_conf = Config::get('paypal');
$this->_api_context = new ApiContext(new OAuthTokenCredential($paypal_conf['client_id'], $paypal_conf['secret']));
$this->_api_context->setConfig($paypal_conf['settings']);

}

Я не уверен, каким должен быть поставщик услуг, либо … может ли кто-нибудь заполнить этот пробел хотя бы?

0

Решение

Я только что установил пакет от composer на установку L5, и это сработало, так что вот что, я думаю, поможет вам:

Если вы не используете composer, удалите все, что связано с PayPal, и используйте его, это помогает … очень.

Удалить пакет PayPal из composer.json, composer update, composer dumpautoload, php artisan cache:clear,

Добавьте пакет снова, я сделал это с "paypal/rest-api-sdk-php": "1.3.*", composer update,

Проверьте это с помощью php artisan tinker, как это: new PayPal\Rest\ApiContext(), должен вернуть несколько синих линий, описывающих объект.

Я СЕРЬЕЗНО верю, что это проблема композитора, у меня была такая же проблема с другим платежным пакетом, но ничего не было в пространстве имен, они использовали classmap загрузка, PayPal использует PSR-0. Это был вопрос: Не в пространстве имен, загруженный classmap загруженный пакет, требуемый от композитора, делает php throw Класс не найден

2

Другие решения

Если вы используете композитор чтобы загрузить PayPal-PHP-SDK, вам нужно добавить include оператор для добавления всех классов, как показано ниже:

// 1. Autoload the SDK Package. This will include all the files and classes to your autoloader
require '<location to vendor directory>/vendor/autoload.php';

Если вы использовали прямое скачивание, вам нужно добавить include с этим путем:

// 1. Autoload the SDK Package. This will include all the files and classes to your autoloader
require '<location to PayPal-PHP-SDK directory>/PayPal-PHP-SDK/autoload.php';
0

По вопросам рекламы [email protected]