首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到“PayPal”类- Laravel 5

未找到“PayPal”类- Laravel 5
EN

Stack Overflow用户
提问于 2015-06-08 11:49:58
回答 4查看 4.5K关注 0票数 3

我正在尝试将Paypal集成到我的web应用程序中,使用这个包:

http://packalyst.com/packages/package/netshell/paypal

我按照说明安装了它。

控制人是:

代码语言:javascript
复制
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use PayPal;
use Redirect;

use Illuminate\Http\Request;

class PayPalController extends Controller {

    private $_apiContext;
    public function __construct() {
        $this->_apiContext = PayPal::ApiContext(
            config('services.paypal.client_id'),
            config('services.paypal.secret'));

        $this->_apiContext->setConfig(array(
            'mode' => 'sandbox',
            'service.EndPoint' => 'https://api.sandbox.paypal.com',
            'http.ConnectionTimeOut' => 30,
            'log.LogEnabled' => true,
            'log.FileName' => storage_path('logs/paypal.log'),
            'log.LogLevel' => 'FINE'
        ));
    }

    public function getCheckout() {
        $payer = PayPal::Payer();
        $payer->setPaymentMethod('paypal');

        $amount = PayPal:: Amount();
        $amount->setCurrency('EUR');
        $amount->setTotal(42); // This is the simple way,
        // you can alternatively describe everything in the order separately;
        // Reference the PayPal PHP REST SDK for details.

        $transaction = PayPal::Transaction();
        $transaction->setAmount($amount);
        $transaction->setDescription('What are you selling?');

        $redirectUrls = PayPal:: RedirectUrls();
        $redirectUrls->setReturnUrl(action('PayPalController@getDone'));
        $redirectUrls->setCancelUrl(action('PayPalController@getCancel'));

        $payment = PayPal::Payment();
        $payment->setIntent('sale');
        $payment->setPayer($payer);
        $payment->setRedirectUrls($redirectUrls);
        $payment->setTransactions(array($transaction));

        $response = $payment->create($this->_apiContext);
        $redirectUrl = $response->links[1]->href;

        return Redirect::to( $redirectUrl );
    }

    public function getDone(Request $request) {
        $id = $request->get('paymentId');
        $token = $request->get('token');
        $payer_id = $request->get('PayerID');

        $payment = PayPal::getById($id, $this->_apiContext);

        $paymentExecution = PayPal::PaymentExecution();

        $paymentExecution->setPayerId($payer_id);
        $executePayment = $payment->execute($paymentExecution, $this->_apiContext);

        // Clear the shopping cart, write to database, send notifications, etc.

        // Thank the user for the purchase
        return view('checkout.done');
    }

    public function getCancel() {
        // Curse and humiliate the user for cancelling this most sacred payment (yours)
        return view('checkout.cancel');
    }

}

然后我创建了一条路线:

代码语言:javascript
复制
Route::get('/paypal/checkout', [
    'as' => 'get-paypal-checkout', 'uses' => 'PayPalController@getCheckout'
]);

但是,当我走到那条路时,我得到了:

FatalErrorException在PayPalController.php第14行中:在PayPalController.php第14行中找不到类“PayPal”

从我所看到的来看,我已经正确地完成了命名空间和use。这一切都是新的。

任何帮助都将不胜感激。谢谢!

编辑:

我已经将PayPalController.php的顶部更改为:

代码语言:javascript
复制
<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use Netshell\PayPal;
use Redirect;
use Illuminate\Http\Request;

但还是没用。Class 'Netshell\PayPal' not found

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-08 12:18:33

这可能是因为类名中有错误。use Paypal;而不是use PayPal;

票数 6
EN

Stack Overflow用户

发布于 2017-02-25 10:38:37

我也有同样的问题,但这里有解决方案:添加提供者列表:

代码语言:javascript
复制
Anouar\Paypalpayment\PaypalpaymentServiceProvider::class,

化名:

代码语言:javascript
复制
'Paypal' => Anouar\Paypalpayment\Facades\PaypalPayment::class,

而且会起作用。

票数 1
EN

Stack Overflow用户

发布于 2015-06-08 12:06:31

请参阅这里的文件PayPal.phphttps://github.com/net-shell/laravel-paypal/blob/master/src/Netshell/Paypal/Paypal.php (您也可以在您的项目中找到它,在这里添加了composer:vendor/Netshell/Paypal )。

第一行显示名称空间为:namespace Netshell\Paypal;

use Netshell/Paypal而不是use Paypal更新您的use Paypal,它应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30708419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档